# app.record.detail.showでアプリの値を処理した後に、画面保存ボタンがエラーが出ました（エラー レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました）

**URL:** <https://community.cybozu.dev/t/topic/850>\
**Category:** kintone 開発相談\
**Created:** [2017 年 8 月 10 日午前 8:04 UTC](https://community.cybozu.dev/t/topic/850 "2017-08-10T08:04:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1801](https://avatars.discourse-cdn.com/v4/letter/l/4491bb/32.png) [@Legacy\_Account1801](https://community.cybozu.dev/u/Legacy_Account1801)\
**Post date:** [2017 年 8 月 10 日午前 8:04 UTC](https://community.cybozu.dev/t/topic/850/1 "2017-08-10T08:04:31Z")

</div>

app.record.detail.showでアプリの値を処理した後に、画面保存ボタンを押すと

下記エラーが出ました、どこの問題ですか？教えて頂ければ助かります。：

* * *

エラー （具体的には図１）  
レコードを再読み込みしてください。編集中に、ほかのユーザーがレコードを更新しました。  
(GAIA\_UN03 jEdPhiyoH7yENY0v3Zyn)

* * *

ソース：

* * *

(function() {  
“use strict”;  
//一行目の時にはdataobjをnullする  
var dataobj=null;  
var subtableval=null;  
//‘app.record.edit.show’,  
kintone.events.on([‘app.record.detail.show’], function(event) {  
var subtablevals=event.record.小口現金.value;  
//var zankin=subtablevals[0].value.残金TBL.value;  
var cdate=subtablevals[0].value.date.value;  
var rcdid=event.recordId;  
var lastbalanceval=event.record.前月末残金.value;//前月末残金  
var advpaymentval=subtablevals[0].value.経費前渡金.value;//前月末残金  
var costval=subtablevals[0].value.cost.value;//前月末残金  
var zankinval=lastbalanceval+advpaymentval-costval;

/////////insert処理  
subtableval=  
{  
“value”:{  
‘残金TBL’:{  
value:zankinval  
},  
“date”:{  
value:“8118”  
}

}  
};

&nbsp;

actionfun(rcdid);  
return event;  
});

/\*  
kintone.events.on([‘app.record.create.change.小口現金’,‘app.record.edit.change.小口現金’], function(event) {  
var subtablevals=event.record.小口現金.value;  
// success  
console.log(resp);  
}, function(error) {  
// error  
console.log(error);  
});  
\*/

function actionfun(rtnid){  
var appid = kintone.app.getId();  
var recordid=rtnid;//  
/////////  
var subtablevals=null;  
kintone.api(‘/k/v1/record’, ‘GET’, {app: appid, id: recordid}, function(resp) {  
// レコード番号を表示する  
subtablevals =resp[‘record’][‘小口現金’][‘value’];  
//alert(1);  
save1data(recordid,dataobj,subtableval);  
//alert(2);  
}, function(resp) {  
// success  
console.log(resp);  
}, function(error) {  
// error  
console.log(error);  
});

}  
//保存する  
function save1data(recordid,dataobjtmp,subtableval){  
var appid = kintone.app.getId();  
var dataobj=[];  
if(dataobjtmp!=null){  
dataobj=dataobjtmp;  
dataobj.push(subtableval);  
}else{  
dataobj.push(subtableval);  
}  
var put\_record = {}; // レコード更新用オブジェクト  
put\_record[“小口現金”] = {  
value:dataobj//tablevals  
};

var body = {  
app: appid,  
id: recordid,  
record: put\_record  
};

// 更新処理

kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘PUT’, body, function(resp) {  
// success  
console.log(resp);  
}, function(error) {  
// error  
console.log(error);  
});  
}

})();

&nbsp;

&nbsp;

* * *

図１

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1657](https://avatars.discourse-cdn.com/v4/letter/l/f4b2a3/32.png) [@Legacy\_Account1657](https://community.cybozu.dev/u/Legacy_Account1657)\
**Post date:** [2017 年 8 月 19 日午前 5:14 UTC](https://community.cybozu.dev/t/topic/850/2 "2017-08-19T05:14:04Z")

</div>

pankouさん

ぱっとみ、レコード詳細画面表示時にAPIで値の更新が行われているので、

以下のような状況かと思います。

&nbsp;

１．詳細画面表示

２．APIでレコード更新

３．編集画面表示し、保存

→この時点で、開いているレコードの情報と、内部的にはレコード値が違うため、

レコードの保存時に、エラーが発生

&nbsp;

レコード更新後、画面のリロード処理を行うことで解消すると思いますが

再度表示イベントが走ってしまうので、無限ループに足する対策が必要かと思います。
