何を実現したいのかを書きましょう
サブテーブルに部門を表示するドロップダウンがあり
ドロップダウンの選択によって、その部門の承認者を表示させたいです。
別途部門アプリがありまして、ドロップダウンの選択によって
部門アプリから承認者の値を取得することはできるのですが
changeイベントが発生したサブテーブルの行数の取得方法が分からないので
承認者をセットできません。
※1行目・2行目と行数を指定すればできる
サブテーブルのchangeイベントが発生した行数(行番号)を取得する方法を
教えてもらえないでしょうか。
発生した問題やエラーメッセージを具体的に書きましょう
kintone.events.on('app.record.create.change.部門', (event) => {
const row = event.changes.row;
const field = event.changes.field;
console.log(row)
return event;
});
上記のコンソールを見てのnullで行数が分かりません
実行したコードをコピー&ペーストしましょう
(function () {
‘use strict’;
kintone.events.on(
[‘app.record.create.change.部門’, ‘app.record.edit.change.部門’],
function (event) {
var changes = event.changes;
if (changes[‘row’].value[‘部門’].value) {
setBoss(event);
return event;
}
}
);
})();
//これで1行目ならできる
const setBoss = async (event) => {
var changes = event.changes;
const body = {
app: 80,
query: ‘部門名 = "’ + changes[‘row’].value[‘部門’].value + ‘"’,
fields: [‘承認者1’],
};
try {
const resp = await kintone.api(
kintone.api.url(‘/k/v1/records’, true),
‘GET’,
body
);
console.log(resp.records[0][‘承認者1’].value);
const setRecord = kintone.app.record.get();
setRecord.record['明細'].value[0].value['承認者1'].value =
resp.records[0]['承認者1'].value;
setRecord.record['明細'].value[0].value['承認者1'].value.lookup = true;
kintone.app.record.set(setRecord);
} catch (error) {
// error
console.log(error);
}
};
上記のように行を指定(1行目、2行目と)すればできます