I'm trying to populate the Inventory Detail subrecord on line items of a sales order through scripting. The script is a user event script and will run on before submit. At this point the user has already entered line item information: ie. item, quantity, lot number (a custom select field, where the options are inventory numbers).
I use the following to populate the inventory detail subrecords:
for (var i=1; i<=numberOfLineItems; i++){
nlapiSelectLineItem('item',i);
//First get the Lot Number and Quantity
var lotNumber = nlapiGetCurrentLineItemValue('item', 'custcol_select_lot_number');
var quantity = nlapiGetCurrentLineItemValue('item', 'quantity');
var inventoryDetail=nlapiCreateCurrentLineItemSubrecord('item','inventorydetail');
inventoryDetail.selectNewLineItem('inventoryassignment');
inventoryDetail.setCurrentLineItemValue('inventorydetail', 'issueinventorynumber', lotNumber);
inventoryDetail.setCurrentLineItemValue('inventorydetail', 'quantity', quantity);
inventoryDetail.commitLineItem('inventoryassignment');
inventoryDetail.commit();
nlapiCommitLineItem('item');}
When I do this I get the following error:
Notice (SuiteScript) You must enter at least one line item for this transaction.
Does anyone have any ideas why I'm getting this error?
Thanks!