SuiteScript 2.0 setValue не допускается в текущей подзаписи (запись заказа на продажу) - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь установить значение для подсписка 'billingaddress/shippingaddress'.Но скрипт завершается ошибкой с ошибкой «setValue не разрешено в текущей подзаписи».Тем не менее, я могу получить значение подзаписи.

Мне нужно реализовать приведенный ниже suitescript от 1.0 до 2.0 для записи SALES ORDER (Client Script).

nlapiSetFieldValue('billcity', "TEST");

Я пробовал ниже.

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

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

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 13 февраля 2019

var currentRecordata = currentRecord.get ();

Здесь currentRecordata является ReadOnlyRecord т.е. currentRecord.get() возвращает запись только для чтения, поэтому вы не можетевнесите в него изменения.

Также, как вы сказали, вы вносите изменения в клиентский скрипт, в какую точку входа (метод) вы хотите внести указанные изменения?Вы можете получить объект записи в каждой точке входа, и этот объект можно использовать для чтения + записи.

например.если вы используете pageInit, вы получите currentRecord в scriptContext, который передается самой NetSuite, и вам не нужно использовать currentRecord.get();

Далее, если вы хотите внести изменения в режиме просмотра, у вас будетиспользовать модуль N/record для загрузки записи, внести изменения и затем сохранить ее.

Пожалуйста, проверьте это для получения дополнительных разъяснений о client-script точках входа и CurrentRecord модуля.

...