SuiteScript2.0加载记录时抛出错误

问题描述 投票:0回答:1

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

由于保存了客户,所以我不明白为什么会收到加载错误?记录创建得很好,但是由于此错误,脚本无法继续?

netsuite suitescript2.0
1个回答
0
投票

[可能是在客户记录的beforeLoad上运行的脚本正在寻找客户的ID,但在创建记录时尚不存在。

您将要查看“客户记录”的“脚本记录”页面,并研究在beforeLoad触发器上运行的所有用户事件脚本。那里任何依赖于现有记录的ID的代码都不应在CREATE上运行。

© www.soinside.com 2019 - 2024. All rights reserved.