今回初めてお世話になります。どうぞよろしくお願いいたします。
以下のマスタがあります
・会社マスタ
・グループ会社マスタ
グループ会社マスタに、
「関連レコード一覧」フィールドを利用し、
「関連会社一覧」として、それぞれのマスタにある「グループコード」で紐づけ
関連会社のとある金額を表示させています。
その金額の合計を表示させたかったので、
・「合計金額」フィールドを作成し
・javascriptを利用し、合計金額を表示させるようにしました。
しかし、値を取得できたのはいいのですが、
「編集ボタン」を押さないと値がフィールドに表示されません。
私のしたいイメージとしては、
・ページを開く⇒値が「合計金額」フィールドに表示されている
もしくは
・表示されていなくても、「グループ会社マスタ」を全件(何かしらの条件で)更新すれば値が反映される
上記でしたが、
今のところ1000件以上登録されているデータに対し、1件1件「編集ボタン」を押していかないと
値が表示されないため、対応策を探している状態ですが、なかなかうまくいきません。
私が実装したコードは以下です。
初心者極まりないご質問で大変恐縮ですが、どうぞご教示頂けると幸いです。
(function() {
'use strict';
kintone.events.on(['app.record.edit.show','app.record.detail.show'], function(event) {
const appId = kintone.app.getRelatedRecordsTargetAppId("関連会社一覧");
const query = 'グループコード="' + event.record['グループコード'].value + '"';
const body = {
'app' : appId,
'query' : query
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
var sum = 0;
resp.records.forEach((record)=>{
sum += record['金額'].value ? parseInt(record['金額'].value) : 0;
});
//合計金額フィールドにsumを代入
event.record['合計金額'].value = sum;
//eventにセット
kintone.app.record.set(event);
});
return event;
});
})();