Получение CUSTOM_RECORD_COLLISION при сохранении пользовательской записи NetSuite в SuiteScript - PullRequest
0 голосов
/ 02 апреля 2019

Я не уверен, где я ошибся здесь.Я пытаюсь отслеживать страницы наших клиентов, обновляя поле в пользовательской записи.Когда страница отправляется, она обновляет поле, а когда страница загружается, она обновляет поле снова.Однако я получаю 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 Ответ

1 голос
/ 04 апреля 2019

Если вы обновляете поле при отправке страницы, а затем снова при загрузке страницы, может случиться так, что запись все еще записывается во время сохранения / отправки, когда вы пытаетесь записать ее снова во время загрузки , Если вам действительно нужно обрабатывать обе ситуации, попробуйте использовать record.submitFields вместо загрузки всей записи. Вы также можете сделать запись в записи при загрузке страницы после задержки, используя setTimeout.

...