背景・実現したいこと
・ステータス変更時、レコード内容を更新(PUT)し、画面をリロードしたい。
※リロードしたい理由:レコード詳細画面にボタンを自作して表示しており、
ステータス変更後にそれを表示させるため
(表示条件はステータス+特定のフィールドにデータがあるとき)
※上手くいくときの方が多いが5~10回に1回の頻度で下記のエラーがでます。
エラー情報 (開発者ツールのコンソール)
エラー
レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。
(GAIA_UN03 iUV5p5HU6k2tnsUjGAFB)
利用したソースコード(長いため一部抜粋)
(function() {
"use strict";
const putRecord = async(id, data) => {
let body = {
'app': 335,
"id": id,
'record': data
};
await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body, function(resp) {
}, function(error) {
console.log(error);
});
return;
}
kintone.events.on("app.record.detail.process.proceed", async function(e) {
if (e.action.value === '解除') {
const recordId = kintone.app.record.getId();
let result = window.confirm('本当に解除しますか?')
if(!result) return false;
let putData = {
['状況区分'] : { value: []},
['管理区分'] : { value: ''},
['解約日'] : { value: ''},
['契約終了理由'] : { value: ''}
};
await putRecord(recordId, putData);
location.reload();
}
})
});
ご確認宜しくお願い致します。