SuiteScript2.0 Ошибка загрузки при сохранении записи - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь создать клиента в SuiteScript, используя приведенный ниже код.

var customer = record.create({
    type: record.Type.CUSTOMER,
    isDynamic : true
}).setValue({
    fieldId : 'firstname',
    value   : eOrder.bill_firstname
}).setValue({
    fieldId : 'lastname',
    value   : eOrder.bill_surname
}).setValue({
    fieldId : 'email',
    value   : eOrder.customer_email.replace(/\s+/g, '')
}).setValue({
    fieldId : 'phone',
    value   : phoneNumber
}).setValue({
    fieldId : 'leadsource',
    value   : LEAD_SOURCE_ECOMM
});

var customerId = customer.save();

Когда скрипт запускает эту строку, я получаю следующую ошибку.

{
    "type": "error.SuiteScriptError",
    "name": "SSS_MISSING_REQD_ARGUMENT",
    "message": "load: Missing a required argument: id",
    "stack": [
        redacted
    ],
    "cause": {
        "type": "internal error",
        "code": "SSS_MISSING_REQD_ARGUMENT",
        "details": "load: Missing a required argument: id",
        "userEvent": null,
        "stackTrace": [
            redacted
        ],
        "notifyOff": false
    },
    "id": "",
    "notifyOff": false,
    "userFacing": false
}

Посколькуклиент сохраняется, я не понимаю, почему я получаю ошибку загрузки? Запись создается нормально, но сценарий не может быть продолжен из-за этой ошибки?

1 Ответ

1 голос
/ 06 ноября 2019

Возможно, на beforeLoad записи клиента запущен скрипт, который ищет идентификатор клиента, которого еще нет при создании записи.

Вы захотитедля просмотра записи о клиенте просмотрите страницу «Записи сценариев» и изучите все сценарии пользовательских событий, которые запускаются по триггеру beforeLoad. Любой код, основанный на идентификаторе существующей записи, не должен выполняться на CREATE.

...