Suitescript 2.0: как изменить и сохранить субзапись в клиентском скрипте

Я пытаюсь изменить и сохранить subrecord в клиентском скрипте, но при его сохранении получаю следующую ошибку:

"Cannot read property 'invalidateCurrentSublistLineForSubrecordCache' of undefined"

Текущий код:

/**
* @NApiVersion 2.x
* @NModuleScope public
*/
define(['N/record','N/currentRecord','N/search'],
  function(record,currentRecord,search) {
  return({
    stock: function(context) {
      var curRec = currentRecord.get();

      var ab_search = search.create({
        type: search.Type.TRANSACTION,
        title: 'YXZC_Assembly_Build_Search',
        id: 'customsearch_yxzc_assembly_build_search',
        columns: ['internalid'],
        filters: [
          ['createdfrom', 'is', curRec.id],'and',['type','is','Build']
        ]
      });
      ab_search.save();
      var searchResult = ab_search.run().getRange({
        start: 0,
        end: 1
      })[0];
      var internalid = searchResult.getValue(searchResult.columns[0]);
      search.delete({
        id: 'customsearch_yxzc_assembly_build_search'
      });
      var rec = record.load({
        type: record.Type.ASSEMBLY_BUILD,
        id: internalid,
        // isDynamic: true,
      });
      var inventorydetailRec = rec.getSubrecord({
        fieldId: 'inventorydetail',
      });
      var line = inventorydetailRec.getLineCount({
        sublistId: 'inventoryassignment'
      });
      for (var i=0; i<line; i++){
        inventorydetailRec.setSublistValue({
          sublistId:'inventoryassignment',
          fieldId: 'inventorystatus',
          line: i,
          value: '2'
        });
      };
      var recId = rec.save({
        enableSourcing: true,
        ignoreMandatoryFields: true
      });
    }
  });
});

Я не уверен, что означает свойство invalidateCurrentSublistLineForSubrecordCache.

Что кто-нибудь знает о том, почему возникает эта ошибка?

inventorystatus - допустимый fieldId? Я не рассматриваю это как вариант в подсписке инвентаризации.

jordanw 20.12.2018 16:11
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
1 771
2

Ответы 2

Подзаписи доступны только для чтения для клиентских скриптов. Клиентские скрипты могут удалять подзапись из родительской записи, но не могут их изменять. См. Поддерживаемые развертывания для сценариев субзаписи в справке NetSuite

Попробуйте record.submitFields()

См. https://system.netsuite.com/app/help/helpcenter.nl?fid=section_4267283788.html

Я только что наткнулся на ваш вопрос, так как у меня была такая же проблема, но я нашел решение с помощью @erictgrubaugh

Другие вопросы по теме