同じアプリ内で注文番号フィールドが同じレコードを探し、該当レコード精算金額のフィールド値を合計したい。
合計した値を他のアプリの出張経費_合計フィールドへ更新したいです。
下記のプログラムでは値が入ってきません。どこが悪いのか教えていただけますでしょうか?
(function() {
“use strict”;
kintone.events.on('app.record.save', function(event) {
var record = event.record;
var orderNumberValue = record['注文番号'].value;
// 同じアプリ内で注文番号が同じレコードを検索
var appID = kintone.app.getId(); // 現在のアプリID
var query = '"注文番号" = "' + orderNumberValue + '"';
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
app: appID,
query: query
}, function(resp) {
// 精算金額の合計を計算
var totalAmount = resp.records.reduce(function(sum, record) {
return sum + Number(record['精算金額'].value); // '精算金額' は実際のフィールドコードに置き換えてください
}, 0);
// 注文番号表アプリに合計値を更新
var orderAppID = 12; // 注文番号表アプリのID
var updateQuery = '"注文番号" = "' + orderNumberValue + '"';
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
app: orderAppID,
query: updateQuery
}, function(searchResp) {
// 更新するレコードのIDを取得(注文番号がユニークであると仮定)
if (searchResp.records.length > 0) {
var updateRecordID = searchResp.records[0].$id.value;
var updateBody = {
app: orderAppID,
id: updateRecordID,
record: {
'出張経費_合計': { // 実際のフィールドコードに置き換えてください
'value': totalAmount
}
}
};
kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', updateBody, function(updateResp) {
console.log('Expense total updated successfully.');
}, function(error) {
console.error('Error updating expense total:', error);
});
}
}, function(error) {
console.error('Error searching order app records:', error);
});
}, function(error) {
console.error('Error searching current app records:', error);
});
return event;
});
})();