我正在尝试为子列表'billingaddress/shippingaddress
'设置一个值。但是脚本失败并出现错误“当前子记录中不允许使用setValue”。但是,我能够获得子记录值。
我需要在SALES ORDER记录(客户端脚本)上实现以下suitecript 1.0到2.0。
nlapiSetFieldValue('billcity', "TEST");
我在下面尝试过。
var currentRecordata = currentRecord.get();
var subrec = currentRecordata.getSubrecord({
fieldId: 'billingaddress'
});
subrec.setValue({
fieldId: 'city',
value:"TEST"
});
请帮我解决这个问题。
var currentRecordata = currentRecord.get();
这里,currentRecordata
是ReadOnlyRecord,即currentRecord.get()
返回只读记录,因此您无法对其进行更改。
另外正如您所说,您正在对客户端脚本进行更改,您想要进行哪些入口点(方法)更改?您可以在每个入口点获取记录对象,并且此对象可用于读取+写入。
例如。如果你正在使用pageInit
,你将获得由NetSuite本身传递的scriptContext中的currentRecord,你不必使用currentRecord.get();
此外,如果要在视图模式下进行更改,则必须使用N/record
模块加载记录,进行更改然后保存。
请查看此有关client-script入口点和CurrentRecord模块的进一步说明。