別アプリのテーブルに、データを追加しようとしているのですが、上手くいきません。
alert(“確認1”); →"確認1"は通っているのですが…
kintone.app.record.set({record: record}); →ここで、問題が発生します。
(function () {
“use strict”;
var syohinDao = {};
syohinDao.APP_ID = XXX;
kintone.events.on(‘app.record.create.submit’, function (event) {
var tabRec = event.record.入出庫.value;
return kintone.Promise.all(tabRec.map(function(row){
//alert(tabRec.length);
var record = event.record;
var params = {
“app”: syohinDao.APP_ID,
“query”: ‘部品コード ="’ + row.value[‘部品コード’][‘value’] + ‘"’,
“fields”: [‘$id’, ‘$revision’, ‘在庫数’]
};
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’],
“query”: ‘部品コード ="’ + row.value[‘部品コード’][‘value’] + ‘"’
};
// 商品レコードを更新
return kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘GET’, params2).then(function(resp2) {
var record = resp2.record;
var username = event.record[‘ユーザー名’].value;
var shitenname = event.record[‘支店名’].value;
var tanto = event.record[‘担当営業’].value;
record.入出庫詳細情報.value.push({
value: {
“日付”: {
value: ‘’,
type: ‘SINGLE_LINE_TEXT’,
},
“入庫”: {
value: ‘’,
type: ‘SINGLE_LINE_TEXT’,
},
“出庫”: {
value: ‘’,
type: ‘SINGLE_LINE_TEXT’,
},
“取引先会社名”: {
value: username,
type: ‘SINGLE_LINE_TEXT’,
},
“取引先支店名”: {
value: shitenname,
type: ‘SINGLE_LINE_TEXT’,
},
“担当営業”: {
value: tanto,
type: ‘SINGLE_LINE_TEXT’,
}
}
});
alert(“確認1”);
kintone.app.record.set({record: record});
alert(“確認2”);
}, function(resp2) {
return event;
});
}
}).catch(function (resp) {
return event;
});
})).then(function(){
return event;
});
});
})();