在 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.

在页面加载时写入记录