小野 さま
以下のような形で可能かと思います。
新たな行で条件を満たした場合、とあるので、サブテーブル最終行のドロップダウンが何かしら選択された場合に通知設定フィールドを変更するようにしてあります。
途中の行でもドロップダウンに変更があった場合に通知フィールドを変更するのであれば、if文の条件を削除すれば可能です。
ドロップダウンが特定の値のみといった条件を追加するのであれば、最終行か途中の行も含むかでまた書き方が変わります。
(function() {
'use strict';
// 編集中に通知設定を変更する処理
let dropdown = 'ドロップダウン'; // ドロップダウンのフィールドコード
let subtable = 'テーブル'; // サブテーブルのフィールドコード
kintone.events.on([
'app.record.create.change.' + dropdown, 'app.record.edit.change.' + dropdown
], (event) => {
let record = event.record;
if (record[subtable].value[record[subtable].value.length - 1].value[dropdown].value) {
record['通知設定'].value = '通知する';
}
return event;
});
// 保存時に通知設定を戻す処理
kintone.events.on([
'app.record.create.submit.success', 'app.record.edit.submit.success'
], (event) => {
let record = event.record, appId = event.appId, recordId = event.recordId;
if (record['通知設定'].value == '通知しない') return event;
let putRecord = {
app: appId,
id: recordId,
record: {
'通知設定': {
value: '通知しない'
}
}
};
return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', putRecord).then((resp) => {
return event;
}).catch((error) => {
console.error(error);
return event;
});
});
})();