アプリAのドロップダウンフィールドで値を変更した時、変更した値と同じレコードを
アプリBから取得し、アプリAのテーブルに全件書き出しを行いたい
テーブル内にルックアップフィールドがあるためか取得できていません
(function() {
‘use strict’;
// アプリAのドロップダウンフィールドが変更されたときのイベント
kintone.events.on(‘app.record.edit.change.dropdownFieldA’, function(event) {
var record = event.record;
var dropdownValue = record.dropdownFieldA.value;
// ドロップダウンフィールドの値を元にアプリBからデータを取得
var appIdB = '243'; // アプリBのアプリIDをここに入力
var query = 'dropdownFieldB = "' + dropdownValue + '"';
var url = kintone.api.url('/k/v1/records', true) + '?app=' + appIdB + '&query=' + encodeURIComponent(query);
kintone.proxy(url, 'GET', {}, {}, function(body, status, headers) {
if (status === 200) {
var records = JSON.parse(body).records;
// テーブルフィールドにデータを設定
record.tableField.value = [];
records.forEach(function(recordB) {
var newRow = {
value: {
fieldA: { value: recordB.fieldA.value }, // アプリBのフィールドをアプリAのテーブルフィールドにマッピング
fieldB: { value: recordB.fieldB.value }
}
};
record.tableField.value.push(newRow);
});
kintone.app.record.set(event); // レコードを更新
} else {
alert('データの取得に失敗しました');
}
}, function(body, status, headers) {
alert('プロキシリクエストに失敗しました');
});
return event;
});
})();