お世話になっております。
現在、各都道府県番号と、その都道府県が登録してある
レコード数を合わせたコードを作成しております。
例えば、福岡県=40 登録されている福岡県のレコード数=39 の時
レコード保存成功時には「40-0040」のようにコードが生成されます。
プログラムは以下になります。
(function() {
'use strict';
var event = ['app.record.create.submit.success'];
kintone.events.on(event, function(event) {
var record = event.record;
var id = record['$id'].value;
var pref = record['都道府県'].value;
var params = {
app : kintone.app.getId(),
query : '都道府県 in("' + pref + '") order by No desc limit 1'
};
return kintone.api(kintone.api.url('/k/v1/records',true),'GET',params).then((resp) => {
var resprecord = resp.records[0];
var No = 0;
if(resp.records.length === 0){
No += 1;
}else{
var no = Number(resprecord['No'].value);
No = no+1;
}
var r_body = '{\"app\":' + kintone.app.getId() + ",\"records\":[{\"id\":" + id + ",\"record\":{\"No\":{\"value\":" + No + "}}}]}";
var body = JSON.parse(r_body || "null");
return kintone.api(kintone.api.url('/k/v1/records',true),'PUT',body).then(function(resp){
//alert('OK')
});
});
});
})();
ここで、数100件に1回の割合で、コードが生成されない事象が発生しております。
コンソールにはエラーは表示されません。
おそらくコード生成の処理が終わる前にレコード保存成功イベントが
終了してしまっているのかと、予想を立てております。
こちらの問題は、単純に「return event」でeventに返していないから
起こるのでしょうか。それとも、何か別の問題があるのでしょうか。
ご意見、ご鞭撻のほど、よろしくお願いいたします。