使用bulkrequest更新记录的时候,如果记录被更改,会有修订版本错误
在error情况下需要报错,但记录编号要这么获取呢。 下面是代码,revision 要如何使用?不是很理解这个意思
function getdata(id,rids){
var keys= rids.join();
var body={
'app':id,
'query':'$id in ('+keys+')'
};
var bodys={
"requests": []
}
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
// success
var firstID=resp.records[0].$id.value;
var firstTab=resp.records[0][table].value;
for(var i=1;i<resp.records.length;i++){
var tablevalue=resp.records[i][table].value;
var upID=resp.records[i].$id.value;//修改 记录 id
for(var j=0;j<tablevalue.length;j++){
var rows={};
rows['value']=resp.records[i][table]['value'][j]['value'];
firstTab.push(rows);//表格记录
var request={
"method": "PUT",
"api": "/k/v1/record.json",
"payload": {
"app": id,
"id": upID,
"revision": 2,
"record":{
"radActiveFlg":{
"value":["削除する"]
}
}
}
};
bodys.requests.push(request);
}
}
var trequest={
"method": "PUT",
"api": "/k/v1/record.json",
"payload": {
"app": id,
"id": firstID,
"revision": 2,
"record":{}
}
};
trequest.payload.record[table]={"value":firstTab};
bodys.requests.push(trequest);
//console.log(bodys);
kintone.api(kintone.api.url('/k/v1/bulkRequest', true), 'POST', bodys, function(resp) {
//success
errorCount=0;
console.log(resp);
}, function(error) {
//error
console.log(error);
// radShowSweetAlert(radGetCommonMessage(15900,id,upID),1);
// errorCount++;
// if(errorCount>3){
// radShowSweetAlert(radGetCommonMessage(15010,id,upID),1);
// }
});
}, function(error) {
// error
console.log(error);
});
}
cybozu • 3周前
如果你想确保你的数据是最新的,只需要再做一次查询,获取到revision后再将这个revison的值作为参数传入就行了
0 个讨论
cybozu • 3周前
你好。
是的没错,revision 就是来提示你之前获取到的数据是不是最新版本,如果数据被更新,revision 也会跟着更新,来确保你更新的版本在你更新前是最新的。如果你不在乎你的数据在之前被更新了,直接忽略这个revision参数或者将其设置为-1就行了。
但值为-1时或不指定时,将不检验修订号。
0 个讨论