使用SuiteScript 2.0更新Netsuite中的自定义地址字段

使用SuiteScript 2.0更新Netsuite中的自定义地址字段,netsuite,suitescript2.0,Netsuite,Suitescript2.0,我在“US”地址表单中创建了一个名为“email”的新自定义字段,这样我就可以在Netsuite中的销售订单上拥有一个与收货方和收货方关联的电子邮件地址。我试图使用SuiteScript2.0更新此字段,但似乎无法保存更改。有人能提供一些见解吗 var salesorder = record.load({ type: record.Type.SALES_ORDER, isDynamic: true, id: 6835 }); var shippingAddressSu

我在“US”地址表单中创建了一个名为“email”的新自定义字段,这样我就可以在Netsuite中的销售订单上拥有一个与收货方和收货方关联的电子邮件地址。我试图使用SuiteScript2.0更新此字段,但似乎无法保存更改。有人能提供一些见解吗

var salesorder = record.load({
    type: record.Type.SALES_ORDER, 
    isDynamic: true,
    id: 6835
});

var shippingAddressSubrecord = salesorder.getSubrecord({fieldId : 'shippingaddress'});
var email = shippingAddressSubrecord.getValue({fieldId : 'custrecord_email_address' }); //returns correctly
shippingAddressSubrecord.setValue({fieldId : 'custrecord_email_address', value: 'test2@gmail.com', ignoreFieldChange: true });

var salesorderid = salesorder.save({enableSourcing: true, ignoreMandatoryFields: true});

这会产生错误:“type:“error.SuiteScriptError”,“name:“OPERATION\u IS\u NOT \u ALLOWED”,“message:”子记录行已提交或取消。上一个子记录引用不再有效。必须获取对该子记录的另一个引用才能执行此操作。”,

取决于,这是哪种脚本类型?用户甚至脚本,例如,加载/保存记录会导致错误。

这是restlet的一部分。您是否尝试删除ignoreMandatoryFields/ignoreMandatoryFields/enableSourcing标志?我在Suitelet上有一个类似的代码片段,唯一的区别是我没有设置任何标志。