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

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

«Невозможно прочитать свойство« invalidateCurrentSublistLineForSubrecordCache »из 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.

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


person Ronin    schedule 18.12.2018    source источник
comment
inventorystatus действительный fieldId? Я не рассматриваю это как вариант в подсписке инвентаризации.   -  person jordanw    schedule 20.12.2018


Ответы (2)


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

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

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

person Budy Sutjijati    schedule 10.01.2019

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

person ehcanadian    schedule 20.12.2018