在SuiteScript中保存NetSuite自定义记录时获取CUSTOM_RECORD_COLLISION

时间:2019-04-02 01:32:40

标签: suitescript2.0

我不确定这里哪里出了问题。我试图通过更新自定义记录中的字段来跟踪客户浏览的页面。提交页面时,它会更新该字段;加载页面时,它会再次更新该字段。但是我在其中一些(不是全部)上得到了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;
}

我认为,如果每次都加载记录,它将不会遇到这些错误,因为它是该记录的最新版本。

1 个答案:

答案 0 :(得分:1)

如果要在提交页面时更新字段,然后在加载页面时再次更新字段,则可能是当您尝试在加载期间再次写入记录时,在保存/提交期间仍在写入记录。如果确实需要处理这两种情况,请尝试使用record.submitFields而不是加载整个记录。您还可以使用setTimeout,在延迟加载后写入页面加载记录。