首页 > 解决方案 > suitescript 2.0:如何在客户端脚本中修改和保存子记录

问题描述

我正在尝试修改并保存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财产是什么意思。

有谁知道为什么会发生此错误?

标签: netsuitesuitescript2.0

解决方案


试试record.submitFields()

请参阅https://system.netsuite.com/app/help/helpcenter.nl?fid=section_4267283788.html

我刚刚偶然发现了你的问题,因为我遇到了同样的问题,但在@erictgrubaugh 的帮助下找到了解决方案


推荐阅读