こんにちは。
自動採番をしたいのですが、プログラミング初心者で困っています。
途中まではできたのですが、途中で採番できなくなりました。
以下の内容で、アドバイスをいただきたく、どうぞよろしくお願い致します。
背景・実現したいこと
薬品の在庫をKintoneを用いて管理したいと考えております。
薬品情報を入力したレコードの追加と編集画面保存時、薬品番号が空欄の場合に、
保管棚&棚の段数&連番 となる番号採番をしたいと思っております。
なお、下記コードの保管棚や保管棚板のフィールドは、文字列で自動計算を設定しています。
エラー情報 (開発者ツールのコンソール)
レコードの保存時、コンソールにエラーは表示されないのですが、
番号が付与されず、薬品番号は空欄のままです。
レコードの新規保存時では、正常に採番できたのですが、
編集画面保存時、薬品番号が空欄の場合、という2点を追加すると採番できなくなりました。
if(record[‘薬品番号’].value ===“”)の部分です。
何が原因かわからず、困っております。
利用したソースコード
(function() {
'use strict';
// レコード追加、編集画面保存時
var events = ['app.record.create.submit', 'app.record.edit.submit'];
kintone.events.on(events, function(event) {
var record = event.record;
if(record['薬品番号'].value ===""){
var body = {
'app': event.appId,
'query': '保管棚 in ("' + record.保管棚.value + '") and 保管棚段 in ("' + record.保管棚段.value + '") order by 番号 desc limit 1',
'fields': ['薬品番号', '番号']
};
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body).then(function(resp) {
if (resp.records.length == 0) {
// 採番(1番目)
record.番号.value = 1;
record.薬品番号.value = record.保管棚.value + '-' + record.保管棚段.value + '01';
} else {
// 採番(2番目以降)
var myId = Number(resp.records[0].番号.value) + 1;
var newId = ("00" + myId).slice(-2);
record.番号.value = myId;
record.薬品番号.value = record.保管棚.value + '-' + record.保管棚段.value + newId;
}
});
}
else {}
return event;
});
})();