SuiteScript2.0 Load Error 保存记录时抛出

SuiteScript2.0 Load Error throwing when saving a record

我正在尝试使用以下代码在 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
}

由于正在保存客户我不明白为什么会出现加载错误?记录创建正常,但由于此错误脚本无法继续?

客户记录的 beforeLoad 上可能有一个脚本 运行ning 正在查找客户 ID,当您创建记录时该 ID 尚不存在。

您需要查看客户记录的“脚本记录”页面,并调查 运行 在 beforeLoad 触发器上的任何用户事件脚本。任何依赖于现有记录 ID 的代码都不应该 运行ning on CREATE.

问题的其他原因

对于所选答案未解决问题的任何人,另一个可能的原因可能是链接到另一条记录的字段。如果保存记录时此字段为空,则会抛出与该字段同样需要相关记录 ID 的错误。

我就是这样。