在 SuiteScript 中保存 NetSuite 自定义记录时获取 CUSTOM_RECORD_COLLISION
Getting CUSTOM_RECORD_COLLISION when saving a NetSuite custom record in SuiteScript
我不确定这里哪里出了问题。我试图通过更新自定义记录上的字段来跟踪我们的客户所在的页面。提交页面时,它会更新该字段,当页面加载时,它会再次更新该字段。但是我对其中一些(不是全部)进行了 CUSTOM_RECORD_COLLISION。我正在使用以下代码来更新该字段。我在循环中进行,但在第一条记录后中断,因为我只想要最新的 pagetracker 记录。
for(key in pagetrackerARR){
var pagetracker = pagetrackerARR[key];
record.load({
type : 'customrecord_pagetracker ',
id : pagetracker .id
}).setValue({
fieldId : 'custrecord_cw_max_page',
value : value
}).save();
break;
}
我想如果我每次都加载记录,就不会 运行 出现这些错误,因为它是该记录的最新版本。
如果您在提交页面时更新字段,然后在加载页面时再次更新字段,则可能是在 save/submit 尝试写入时记录仍在写入它在加载过程中再次。如果您确实需要处理这两种情况,请尝试使用 record.submitFields
而不是加载整个记录。您还可以在延迟后使用 setTimeout
.
在页面加载时写入记录
我不确定这里哪里出了问题。我试图通过更新自定义记录上的字段来跟踪我们的客户所在的页面。提交页面时,它会更新该字段,当页面加载时,它会再次更新该字段。但是我对其中一些(不是全部)进行了 CUSTOM_RECORD_COLLISION。我正在使用以下代码来更新该字段。我在循环中进行,但在第一条记录后中断,因为我只想要最新的 pagetracker 记录。
for(key in pagetrackerARR){
var pagetracker = pagetrackerARR[key];
record.load({
type : 'customrecord_pagetracker ',
id : pagetracker .id
}).setValue({
fieldId : 'custrecord_cw_max_page',
value : value
}).save();
break;
}
我想如果我每次都加载记录,就不会 运行 出现这些错误,因为它是该记录的最新版本。
如果您在提交页面时更新字段,然后在加载页面时再次更新字段,则可能是在 save/submit 尝试写入时记录仍在写入它在加载过程中再次。如果您确实需要处理这两种情况,请尝试使用 record.submitFields
而不是加载整个记录。您还可以在延迟后使用 setTimeout
.