suitescript 2.0: Как изменить и сохранить подзапись в clientcript

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

"Не удается прочитать свойство invalidateCurrentSublistLineForSubrecordCache" из неопределенного "

Текущий код:

/**
* @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 собственность означает.

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

2 ответа

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

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

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

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

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