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
    };

    }
4

2 回答 2

5
//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
                        });
                    }
                }
于 2018-04-05T11:54:15.040 回答
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.

于 2018-04-05T08:48:39.647 回答