レコード保存成功時の処理について

お世話になっております。

現在、各都道府県番号と、その都道府県が登録してある

レコード数を合わせたコードを作成しております。

例えば、福岡県=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に返していないから

起こるのでしょうか。それとも、何か別の問題があるのでしょうか。

ご意見、ご鞭撻のほど、よろしくお願いいたします。

 

 

 

こんにちは。

おそらくコード生成の処理が終わる前にレコード保存成功イベントが
終了してしまっているのかと、予想を立てております。

プログラミングに詳しくないので分かりませんが、下記は参考になるでしょうか?

https://developer.cybozu.io/hc/ja/articles/360023047852

 

5MP2 

お世話になります。

参考記事を載せていただき、ありがとうございます。

拝見させていただきました。やはり、return event が抜けていたことによる

処理ミスが原因かと感じました。

ご対応ありがとうございました。