お世話になっております。kintone、javascript初心者です。対応方法が分からずご教示ください。
何を実現したいのか
Javascriptにて、ルックアップ元アプリのデータを更新した場合に、ルックアップ先のデータを自動更新する処理を作りたいと考えています。
発生した問題やエラーメッセージを具体的に書きましょう
以下のサイトを参考にscriptを作ったのですが、ルックアップ先のデータの自動更新がなされません。
ルックアップ以外の項目の自動更新はできました。
考えられる原因と対策をご教示いただけますと幸いです。
//寄付者のお名前:ルックアップのキー項目。これを更新することでルックアップしているすべての項目が自動更新されるようにしたいのだが、更新がかからない。
//郵便番号:ルックアップで取得される項目の一つ。kintoneの仕様上これ単体での更新はできない?
//備考:ルックアップ以外の項目。このjsで更新することができた。
実行したコードをコピー&ペーストしましょう
(() => {
‘use strict’;
// 情報更新を反映させる「寄付の管理アプリ」のアプリIDを指定
const updateAppId = 39;
var donator_name = “”;
var yubin_numnber = “”;
var bikou =“”;
// 保存成功後イベント
kintone.events.on([
‘app.record.edit.submit.success’,
‘app.record.index.edit.submit.success’,
‘mobile.app.record.edit.submit.success’
], async (event) => {
// 検索する条件をまとめたオブジェクトを作成する
const paramGet = {
app: updateAppId,
query : 会員番号 = ${event.record['会員番号'].value} limit 500
,
};
console.log('---paramGet');
console.log(paramGet);
donator_name = event.record['名前寄付者'].value;
yubin_numnber = event.record['郵便番号'].value;
bikou = event.record['補足情報'].value;
console.log('---donator_name');
console.log('donator_name' + donator_name);
try {
// レコードを一括で取得する
const resp = await kintone.api(
kintone.api.url('/k/v1/records.json', true), 'GET', paramGet
);
console.log('---resp');
console.log(resp);
// レコードの更新データを用意する
const estimationAppRecords = resp.records.map((record) => {
return {
id: record.$id.value,
record: {
"寄付者のお名前": {
value: donator_name
},
"郵便番号": {
value : yubin_numnber
},
"備考": {
value : bikou
}
}
};
});
// appにアプリid, recordsに更新データを入れたオブジェクトを作成する
const paramPut = {
app: updateAppId,
records: estimationAppRecords
};
console.log('---paramPut');
console.log(paramPut);
// ルックアップの更新を行う
await kintone.api(
kintone.api.url('/k/v1/records.json', true), 'PUT', paramPut
);
// 処理成功のメッセージを表示する
window.alert('ルックアップの更新が完了しました!');
} catch (error) {
// エラーを表示する
window.alert('ルックアップの更新でエラーが発生しました。\n' + error.message);
}
});
})();