いつもお世話になっております。
レコード詳細画面で他のアプリからREST APIでレコードをGET、その内容を集計しPUT、最後に画面をリロードしたい考えています。
一覧画面からレコード詳細画面を開いた時はいいのですが、レコード作成やレコード編集画面から保存後のレコード詳細画面でどうしても「ほかのユーザーがレコード内容を更新したため情報を更新してください」のようなエラーが出てしまいます。
同様の投稿も見て試してみようと試みてはいるのですが、自力で解決できないのでご教授いただければ幸いです。
よろしくお願いいたします。
下記、現在のコードです。
(function(){
"use strict";
kintone.events.on("app.record.detail.show", async(event) => {
var record = event.record;
var name = record.業者名.value;
var body = {
"app": 155,
"query" : 'ステータス in ("A", "B") and 業者名 = "'+ name+'"',
"feilds": ['ステータス','レコード番号'],
"totalCount": true
};
const resp = await kintone.api('/k/v1/records','GET', body);
var jisya = 0;
var tasya = 0;
for(var i = 0; i < resp.totalCount; i++){
if(resp.records[i].ステータス.value === "A"){
jisya += 1;
}else if(resp.records[i].ステータス.value === "B"){
tasya += 1;
}
};
var params = {
"app": 75,
"id": event.record.レコード番号.value,
"record": {
"A件数":{
"value": jisya
},
"B件数":{
"value": tasya
},
"シェア率": {
"value": parseFloat((jisya/resp.totalCount)*100)
}
}
};
const res = await kintone.api('/k/v1/record', 'PUT', params);
if (window.name !== "abc"){
location.reload();
window.name = "abc"
}else{
window.name = '';
}
});
})();