4

I am trying to access a sublist in NetSuite with a workflow script. I placed a button on all sales orders that once pressed will execute this script. I keep getting an error that my sublist is null. If it is null can someone explain why?

  function(record) {
    var salesorder = record.newRecord;
    var salesordernumber = salesorder.getValue('tranid');
    var date = salesorder.getValue('trandate');
    var sublist = salesorder.getSublistValue({
        Sublistid : 'item'
    });
      log.debug('Employee Code', salesordernumber);
  log.debug('Supervisior Name', date);
  log.debug('itemr', sublist);
    /**
     * Definition of the Suitelet script trigger point.
     *
     * @param {Object} scriptContext
     * @param {Record} scriptContext.newRecord - New record
     * @param {Record} scriptContext.oldRecord - Old record
     * @Since 2016.1
     */
});
    function onAction(context) {


    return {
        onAction : onAction
    };

    }
Maria Berinde-Tampanariu
  • 1,011
  • 1
  • 12
  • 25
CC41325
  • 53
  • 1
  • 2
  • 8

2 Answers2

6
//Load created Sales Order so that we can fetch data
                var salesObjRecord = record.load({
                    type: record.Type.SALES_ORDER, 
                    id:  salesOrderID,
                    isDynamic: true
                });
                var itemDetailsObj = new Object();
                var numLines = salesObjRecord.getLineCount({
                    sublistId : 'item'
                }); // to get sublist line number 
                if (numLines > 0) {
                    for (var i = 0; i < numLines; i++) {
                        itemDetailsObj.amount = salesObjRecord.getSublistValue({
                            sublistId : 'item',
                            fieldId : 'amount',
                            line : i
                        });
                        itemDetailsObj.rate = salesObjRecord.getSublistValue({
                            sublistId : 'item',
                            fieldId : 'rate',
                            line : i
                        });
                        itemDetailsObj.quantity = salesObjRecord.getSublistValue({
                            sublistId : 'item',
                            fieldId : 'quantity',
                            line : i
                        });
                    }
                }
Manu AVS
  • 557
  • 3
  • 7
2

record.getSublistValue() returns the value of a sublist field. A sublist field is uniquely identified by 3 parameters:

  • sublistId
  • fieldId
  • line

All these parameters are required, but your code is not providing all of them.

Maria Berinde-Tampanariu
  • 1,011
  • 1
  • 12
  • 25