保存记录时引发 SuiteScript2.0 加载错误
2019-11-06
3137
我正在尝试使用以下代码在 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
}
由于客户正在保存,我不明白为什么会出现加载错误?记录创建得很好,但由于这个错误,脚本无法继续?
2个回答
可能有一个脚本在客户记录的
beforeLoad
上运行,该脚本正在寻找客户的 ID,但在您创建记录时该 ID 尚不存在。
您需要查看客户记录的脚本记录页面,并调查在
beforeLoad
触发器上运行的任何用户事件脚本。任何依赖于记录 ID 的代码都不应在
CREATE
上运行。
erictgrubaugh
2019-11-06
问题的其他原因
对于所选答案无法解决问题的任何人,另一个可能的原因可能是链接到另一条记录的字段。如果在保存记录时此字段为空,则会引发相同的错误,因为该字段也需要相关记录的 ID。
我的情况就是这样。
BibekStha
2021-01-28