取得したデータを別アプリのテーブルに追加したいのですが、
下記のコードですと追加されず上書きされてしまいます。
改善方法をご教示頂ければ幸いです。
(function () {
“use strict”;
// 在庫アプリ操作
var syohinDao = {};
syohinDao.APP_ID = 373;
// 新規レコードの保存イベント
kintone.events.on(‘app.record.create.submit’, function (event) {
var tabRec = event.record.入出庫.value;
return kintone.Promise.all(tabRec.map(function(row){
console.log(tabRec.length);
var record = event.record;
var params = {
“app”: syohinDao.APP_ID,
“query”: ‘部品コード ="’ + row.value[‘部品コード’][‘value’] + ‘"’,
“fields”: [‘$id’, ‘$revision’, ‘在庫数’]
};
console.log(params);
return kintone.api(‘/k/v1/records’, ‘GET’, params).then(function (resp) {
var syohinRecord = resp[‘records’][0];
if (syohinRecord.length !== 0) {
var updQuantity = 0;
// 入庫、等の場合
if (row.value[‘入庫数’][‘value’]) {
updQuantity = Number(syohinRecord[‘在庫数’][‘value’]) + Number(row.value[‘入庫数’][‘value’]);
}
// 出庫、等の場合
if (row.value[‘出庫数’][‘value’]) {
updQuantity = Number(syohinRecord[‘在庫数’][‘value’]) - Number(row.value[‘出庫数’][‘value’]);
}
if (updQuantity < 0) {
// 更新後の在庫数がマイナスになる場合はエラーにして中断
alert(“在庫が足りません。”);
row.value[‘出庫数’][‘error’] = “在庫が足りません。”;
event[‘error’] = “在庫が足りません。”;
return event;
}
// 更新パラメータ
var params2 = {
// 商品アプリ番号
“app”: syohinDao.APP_ID,
// レコード番号
“id”: syohinRecord[‘$id’][‘value’],
// レビジョン
“revision”: syohinRecord[‘$revision’][‘value’],
// 登録データ
“record”: {
“在庫数”: {
“value”: updQuantity
},
//テーブルデータの追加
“詳細情報”: {
“value”: [{
“value”: {
“日付”: {“value”: row.value[‘入出庫日’][‘value’]},
“入庫”: {“value”: Number(row.value[‘入庫数’][‘value’])},
“出庫”: {“value”: Number(row.value[‘出庫数’][‘value’])},
“会社名”: {“value”: record[‘会社名’][‘value’]}
}
}]
}
}
};
}
}).catch(function (resp) {
alert(“商品レコードを取得できません。”);
event[‘error’] = “商品レコードを取得できません。”;
return event;
});
})).then(function(){
return event;
});
});
})();