我试图使用下面的代码在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
}由于客户是被保存的,我不明白为什么我会得到一个负载错误?记录正在被创建,但是由于这个错误,脚本不能继续吗?
发布于 2019-11-06 03:02:17
很可能在客户记录的beforeLoad上运行了一个脚本,该脚本正在查找客户的ID,在创建记录时该脚本还不存在。
您将希望查看客户记录的脚本记录页面,并调查在beforeLoad触发器上运行的任何用户事件脚本。任何依赖于现有记录的ID的代码都不应该运行在CREATE上。
发布于 2021-01-28 21:25:02
问题的备用原因
对于选择的答案没有解决问题的任何人来说,另一个可能的原因可能是与另一个记录相关联的字段。如果保存记录时此字段为空,则该字段引发的错误与该字段还需要相关记录的ID相同。
对我来说就是这样。
https://stackoverflow.com/questions/58721732
复制相似问题