フォーラムの皆様、お世話になっております。
掲題の件について、類似投稿を探したのですが、自分の状態と照らし合わせることができず、質問とさせていただきます。
目的は、レコード保存時、自レコード情報をもとに、自レコードの任意フィールドを更新することです。
編集(edit)時はうまくいきますが、新規登録(create)時はうまくいきません。
エラーの内容としては、レコードidがnullだということです。
awaitをしてしまっているから、create.submit.successの後に発行されるレコードidがnullのままなのでしょうか?
awaitを取り除くと、タイミングによっては処理が前後してしまう認識なので、どのように修正すればいいかがわかっておりません。
また、APIでPUTしたあと、自画面をリロードしたいのですが、この書き方をすると、アプリ画面が無限にリロードされてしまう?みたいです。 returnの前にするべきなのでしょうか?
色々と試して迷子になってしまったため、一度質問とさせていただきます。
何卒、よろしくお願いいたします。
(function() {
'use strict';
kintone.events.on(["app.record.create.submit.success", "app.record.edit.submit.success"], async (event) => {
const record = event.record;
const recordID = kintone.app.record.getId();
//中略、任意の処理
const params = {
app: XXX,
id: recordID,
record: {
"更新したいフィールド": {
"value": "任意の値"
},
};
await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', params);
return event;
});
location.reload();
})();