サブテーブル内のルックアップ後のデータ反映について

初めてのkintoneカスタマイズで困っています。

実施したいことは、サブテーブル[明細]内で[店舗名]をキーにルックアップし、別アプリより[計上][定価][割引額]を取得します。
その際に[計上]フィールドの値を元にif分岐させて、[集金額]フィールドに[定価]か[割引額]かの値を入れたいです。

今回のコードを試したところ、サブテーブルの次の行を追加したうえでルックアップしたときに、そこで[集金額]に値が入る、ということになってしまいました。
(値自体はif分岐で適切なものが入っています)
ルックアップ完了したときに即時に[集金額]に値が入るようになるには、どうコード修正すればよいでしょう?


コードをここに入力または貼り付け
(function() {
	"use strict";
	kintone.events.on(['app.record.edit.change.計上','app.record.create.change.計上'], function(event) {
		var record = event.record;
		var subtableData = record.明細.value;
		for (var i = 0; i < subtableData.length; i++) {
			var subtableRow = subtableData[i].value;
			var calculationType = subtableRow.計上.value;
			if (calculationType === '割引') {
				subtableRow.集金額.value = subtableRow.割引額.value;
			} else {
				subtableRow.集金額.value = subtableRow.定価.value;
			}
		}
		return event;
	});
})();

1 Like

過剰に反応はしてしまいますが、計上のチェンジイベントだけでなく、
割引額と定価のチェンジイベントも追加して、
最終的に3つの値すべて与えられた状態で集金額が出るようにしてあげるといいですかね。

['app.record.edit.change.計上','app.record.create.change.計上',
'app.record.edit.change.割引額','app.record.create.change.割引額',
'app.record.edit.change.定価','app.record.create.change.定価'
]
1 Like

想定通りの動きにすることが出来ました!
イベントハンドラーに関して勉強になりました。
ありがとうございました。

2 Likes

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。