当前子记录(销售订单记录)中不允许使用SuiteScript 2.0 setValue

时间:2019-02-13 06:41:29

标签: netsuite suitescript2.0

我正在尝试为子列表“ billingaddress/shippingaddress”设置一个值。但是脚本失败,并显示错误“当前子记录中不允许使用setValue”。但是,我能够获得子记录值。

我需要在SALES ORDER记录(客户端脚本)上实现以下套件1.0到2.0

nlapiSetFieldValue('billcity', "TEST");

我在下面尝试过。

 var currentRecordata = currentRecord.get();
 var subrec = currentRecordata.getSubrecord({
    fieldId: 'billingaddress'
  });    

  subrec.setValue({
    fieldId: 'city',
    value:"TEST"
  });

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:0)

  

var currentRecordata = currentRecord.get();

此处,currentRecordata ReadOnlyRecord ,即currentRecord.get()返回只读记录,因此您无法对其进行更改。

也正如您所说,您正在更改客户端脚本,您想对哪个入口点(方法)进行更改?您可以在每个入口点获得记录对象,并且该对象可用于读写。

例如如果您使用的是pageInit,则可以在scriptContext中获取currentRecord,该记录由NetSuite本身传递,而不必使用currentRecord.get();

如果要在查看模式下进行更改,则必须使用N/record模块来加载记录,进行更改然后保存。

请检查此内容,以进一步了解client-script入口点和CurrentRecord模块。