お世話になっております。
大変初歩的な質問ですが、GETで取得した値を数値フィールドへ挿入できません。
処理内容
フェーズが完了かつ、Noに値が入っていない時、Noの最大値を取得し、その値に+1して返す
問題点
以下のようにコードを書きましたが、Noに値が反映しません。
IF文中にconsoleを表示させていますが、ここでは値を取得できています。
ですので値のsetが問題かと思うのですが、問題箇所がわかりません。
ご教示頂けますと幸いです。
(function () {
'use strict';
var events = ['app.record.create.submit', 'app.record.edit.submit'];
kintone.events.on(events, function (event) {
if (event.record['フェーズ']['value'] === '完了' && !event.record['No']['value']) {
var params = {
app: kintone.app.getId(),
query: 'order by No desc limit 1',
fields: ['No']
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params).then(function (resp) {
var rec = kintone.app.record.get();
rec.record['No']['value'] = parseInt(resp.records[0]['No']['value']) + 1;
console.log(parseInt(resp.records[0]['No']['value']) + 1);
kintone.app.record.set(rec);
return event;
}).catch(function (resp) {
event.error = resp.message;
return event;
});
}
});
})();