# レコード詳細画面でPUT、リロード時のエラー

**URL:** <https://community.cybozu.dev/t/topic/6948>\
**Category:** kintone 開発相談\
**Created:** [2021 年 1 月 21 日午前 12:30 UTC](https://community.cybozu.dev/t/topic/6948 "2021-01-21T00:30:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2561](https://avatars.discourse-cdn.com/v4/letter/l/e47c2d/32.png) [@Legacy\_Account2561](https://community.cybozu.dev/u/Legacy_Account2561)\
**Post date:** [2021 年 1 月 21 日午前 12:30 UTC](https://community.cybozu.dev/t/topic/6948/1 "2021-01-21T00:30:42Z")

</div>

いつもお世話になっております。

レコード詳細画面で他のアプリから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 = '';
}
});
})();

```

---

<div class="post-metadata">

**Author:** ![Legacy\_Account980](https://avatars.discourse-cdn.com/v4/letter/l/a183cd/32.png) [@Legacy\_Account980](https://community.cybozu.dev/u/Legacy_Account980)\
**Post date:** [2021 年 1 月 25 日午前 6:42 UTC](https://community.cybozu.dev/t/topic/6948/2 "2021-01-25T06:42:38Z")

</div>

こんにちは！

現在のコードだと

詳細画面をひらく

↓

PUT レコードのバージョン +1

↓

windows.nameをabcにしてリロード （表示上のレコードのバージョンも更新されて+1）

↓

詳細画面をひらく

↓

PUT レコードのバージョン +1

↓

windows.nameがabcじゃない(elseの方)のでリロードしない（表示上のレコードのバージョンも更新されない）

&nbsp;

という流れになっているので、

レコードのバージョンは +2

表示上のバージョンは +1 （最新のバージョンではない）

のままなので、この状態で編集しようとすると

kintoneは「表示上のバージョンとレコードのバージョンが違う！編集中に誰かが更新したな？」と判断してエラーを出しているのだと思います。

&nbsp;

画面名="abc"かどうかを確認するのを最初の方にも追加して、

画面名がabcだったら何もせずに終わる・・・というコードを入れてあげればよさそうです。

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2561](https://avatars.discourse-cdn.com/v4/letter/l/e47c2d/32.png) [@Legacy\_Account2561](https://community.cybozu.dev/u/Legacy_Account2561)\
**Post date:** [2021 年 1 月 26 日午前 3:52 UTC](https://community.cybozu.dev/t/topic/6948/3 "2021-01-26T03:52:38Z")

</div>

juridon様

&nbsp;

コメントいただきありがとうございます。

修正して無事に解決いたしました。

しばらく悩んでいたので問題点がわかり大変助かりました。

心より感謝申し上げます！！

今後ともどうぞよろしくお願いいたします。
