以下のような形でしょうか。
4~7行目のフィールドコード、8行目以降の連想配列を設定したい分だけ追加して使用して下さい。
(function() {
'use strict';
let itemName = '商品名'; // 商品名のフィールドコード
let subTable = 'テーブル'; // サブテーブルのフィールドコード
let workDescription = '作業内容'; // 作業内容のフィールドコード
let workload = '工数'; // 工数のフィールドコード
let fieldValues = {
'スリムキーケース': ['仕上げ', 90], // 左に「作業内容」の値 右に「工数」の値
'○○○': ['内装', 90],
// 他にあれば同じように記載
};
// 1行目の内容(空白の場合のみ値を変更)
kintone.events.on([
'app.record.create.change.' + itemName, 'app.record.edit.change.' + itemName
], (event) => {
let record = event.record;
if (!record[itemName].value || !fieldValues[record[itemName].value]) return event;
let rowWorkDescription = record[subTable].value[0].value[workDescription];
let rowWorkload = record[subTable].value[0].value[workload];
if (!rowWorkDescription.value) rowWorkDescription.value = fieldValues[record[itemName].value][0];
if (!rowWorkload.value) rowWorkload.value = fieldValues[record[itemName].value][1];
return event;
});
// 行追加時の内容
kintone.events.on([
'app.record.create.change.' + subTable, 'app.record.edit.change.' + subTable
], (event) => {
let record = event.record, row = event.changes.row;
if (!row || !fieldValues[record[itemName].value]) return event;
row.value[workDescription].value = fieldValues[record[itemName].value][0];
row.value[workload].value = fieldValues[record[itemName].value][1];
return event;
});
})();