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

问题描述 投票:0回答:1

我正在尝试为子列表'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"
  });

请帮我解决这个问题。

netsuite suitescript2.0
1个回答
0
投票

var currentRecordata = currentRecord.get();

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

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

例如。如果你正在使用pageInit,你将获得由NetSuite本身传递的scriptContext中的currentRecord,你不必使用currentRecord.get();

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

请查看此有关client-script入口点和CurrentRecord模块的进一步说明。

© www.soinside.com 2019 - 2024. All rights reserved.