Search code examples
netsuitesuitescriptonbeforeunloadsuitescript2.0

SuiteScript add item at beforeLoad when creating a new sales order


I want to add a line item at beforeLoad event. An item is added after the page is loaded. However, I don't think I can use the line item i just created. available quantity, onhand quantity, units, price level are not added automatically. Inventory Detail button is not there. Any advise?

  function beforeLoad(context) {

    var record = context.newRecord;
    record .insertLine({"sublistId": "item", "line": 0});
    record .setSublistValue({"sublistId": "item", "fieldId": "item", "value": 57, "line": 0});
    record .setSublistValue({"sublistId": "item", "fieldId": "quantity", "value": 1, "line": 0});

  }

Solution

  • You could try CLIENT SCRIPT - change to scriptContext.currentRecord.

    if (scriptContext.mode == "create") {
         var record = *scriptContext.currentRecord;*
         record.selectNewLine({sublistId: "item" });
         record.setCurrentSublistValue({sublistId: "item", fieldId: "item", value: 57 });
         record.setCurrentSublistValue({sublistId: "item", fieldId: "quantity", value: 1});
         record.commitLine({sublistId:"item"});
     }