代码之家  ›  专栏  ›  技术社区  ›  Superdooperhero

NetSuite SuiteScript 2.0无法以编程方式从用户事件脚本中检索库存详细信息子列表子记录

  •  1
  • Superdooperhero  · 技术社区  · 6 年前

    lines newIventoryDetails 回来 {"details":"SS lines: 1"} {"details":"SS newIventoryDetails: standard subrecord"}

      var lotNumber = newIventoryDetails.getValue({
         fieldId: 'issueinventorynumber'
      });
      log.debug({details: "SS lotNumber: " + lotNumber});
    

    返回 {"details":"SS lotNumber: undefined"} 关于批号。有人知道我哪里出错了吗?

    /**
     * @NApiVersion 2.0
     * @NScriptType UserEventScript
     * @NModuleScope SameAccount
     */
    define([], function () {
    
       // Script global variables.
       var allowSaveLot = true;
       var firstItemNegative = false;
       var firstItemParentID = -9999;
    
       function beforeSubmit(context) {
    
          log.debug({details: "SS beforeSubmit: " + context.type});
    
          var newRecord = context.newRecord;    // The new record being submitted.
    
          // Check how many lines exist in the inventory sublist.
          var lines = newRecord.getLineCount({sublistId: 'inventory'});
          log.debug({details: "SS lines: " + lines});
    
          var newIventoryDetails = newRecord.getSublistSubrecord({
             sublistId: 'inventory',
             fieldId: 'inventorydetail',
             line: 0
          });
          log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
    
          var lotNumber = newIventoryDetails.getValue({
             fieldId: 'issueinventorynumber'
          });
          log.debug({details: "SS lotNumber: " + lotNumber});
    
       }
    
       return {
          beforeSubmit: beforeSubmit
       };
    
    });   // Define
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Superdooperhero    6 年前

    使用此更改修复了它:

       function beforeSubmit(context) {
    
          log.debug({details: "SS beforeSubmit: " + context.type});
    
          var newRecord = context.newRecord;    // The new record being submitted.
    
          if (newRecord.isDynamic) {
             log.debug({details: "SS isDynamic: true"});   // currentRecord is Dynamic.
          } else {
             log.debug({details: "SS isDynamic: false"});
          }
    
          // Check how many lines exist in the inventory sublist.
          var lines = newRecord.getLineCount({sublistId: 'inventory'});
          log.debug({details: "SS lines: " + lines});
    
          var newIventoryDetails = newRecord.getSublistSubrecord({
             sublistId: 'inventory',
             fieldId: 'inventorydetail',
             line: 0
          });
          log.debug({details: "SS newIventoryDetails: " + newIventoryDetails});
    
          var lotNumber = newIventoryDetails.getSublistText({   // getSublistValue
             sublistId: 'inventoryassignment',
             fieldId: 'issueinventorynumber',
             line: 0
          });
          log.debug({details: "SS lotNumber: " + lotNumber});
    
       }
    
    推荐文章