Hey all, So I'm trying to have a client script ch...
# suitescript
c
Hey all, So I'm trying to have a client script check if an inventory detail is configured on a line of an item receipt. For some reason when I load the subrecord and get the line count, it always returns 0. What am i doing wrong? (Code in comments)
Copy code
/**
 *@NApiVersion 2.1
 *@NScriptType ClientScript
 */
define([],
  function () {

    function saveRecord(context) {
      log.debug('is this thing on?')

      context.currentRecord.selectLine({
        sublistId: 'item',
        line: 0
      })

      const isReceiveBoxChecked = context.currentRecord.getCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'itemreceive',
      });

      if (!isReceiveBoxChecked) return true;

      const invDetailRecord = context.currentRecord.getCurrentSublistSubrecord({
        sublistId: 'item',
        fieldId: 'inventorydetail'
      });

      const invDetailLineCount = invDetailRecord.getLineCount({
        sublistId: 'inventoryassignment'
      });
      log.debug('inv detail line count', invDetailLineCount)
      let lineTotal = context.currentRecord.getCurrentSublistValue({
        sublistId: 'item',
        fieldId: 'quantity'
      })
      let invDetailTotal = 0;
      for (let lineNum = 0; lineNum < invDetailLineCount; lineNum++) {
        const lineQuantity = invDetailRecord.getSublistValue({
          sublistId: 'inventoryassignment',
          fieldId: 'quantity',
          line: lineNum
        })
        log.debug('sublist Line Qty', lineQuantity)
        invDetailTotal += lineQuantity
      }
      if (lineTotal == invDetailTotal) log.debug('', 'We can assume the inventory detail is configured')
    };

    return {
      saveRecord: saveRecord
    };
  }
);