var so_rec = nlapiLoadRecord('salesorder', id); //id is internal id of Sales Order to close
for(var i = 1; i<=so_rec.getLineItemCount('item'); i++) { //loop through the all the lines of the order
so_rec.setLineItemValue('item', 'isclosed', i, 'T'); // check the 'Closed' column
}
nlapiSubmitRecord(so_rec); // submit the record
Wednesday, May 29, 2019
Close Sales Order via SuiteScript
Each line item has an 'isclosed' column which pertains to the 'Closed' checkbox in each line item. When all of the line items are closed, the order is automatically closed. Users could close the line items either through the UI or through scripts. Below is a sample scheduled script to close all lines in a given Sales Order, closing the said order:
Subscribe to:
Post Comments (Atom)
Thank you so much, in suitecript 2.0 is
ReplyDeletefor (var i = 0; i < SaleOrder.getLineCount({sublistId: 'item'}); i++) {
SaleOrder.setSublistValue({
sublistId: 'item',
fieldId: 'isclosed',
line: i,
value: true
});
}
}
SaleOrder.save({ ignoreMandatoryFields: true });
Thank you. Working on an integration system and the NetSuite docs certainly didn't make this very obvious.
ReplyDeleteHow we can close the sales order having item Groups by scripting.
ReplyDelete