i have a script that adds over a dozen line items ...
# suitescript
p
i have a script that adds over a dozen line items with different values when a button is clicked. works great but I am wondering if there is a way to shorten how adding an item work via script. right now i need am doing the following for each item but am not sure if there is a more efficient way of doing this via script. Trying to see if I can consolidate the basics - like item, quantity, units into 1 variable and only need to add the description, cost and amount.
Copy code
// Add the item code
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'item',
value: 1262,
forceSyncSourcing: true
})
// Add item description
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'description',
value: 'My Item Description',
forceSyncSourcing: true
})
// Add item quantity
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: 1,
forceSyncSourcing: true
})
// Add units
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'units',
value: 22,
forceSyncSourcing: true
})

// Add Cost Estimate Type
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'costestimatetype',
value: 'CUSTOM',
forceSyncSourcing: true
})
// Add Estimated Unit Cost
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'costestimaterate',
value: itemCostAmount,
forceSyncSourcing: true
})
// Add Sell Unit Cost
rec.setCurrentSublistValue({
sublistId: 'item',
fieldId: 'rate',
value: itemSellAmount,
forceSyncSourcing: true
})
// Commmit The Item
rec.commitLine({
"sublistId": "item"
});
s
Copy code
var fieldsToSet = {
    item: 1262,
    quantity: 1,
    units: 22,
    costestimatetype: 'CUSTOM',
    etc...
};

for (var prop in fieldsToSet){
    rec.setCurrentSublistValue({
        sublistId: 'item',
        field: prop,
        value: fieldsToSet[prop],
        forceSyncSourcing: true
    });
}
something like this would work fine if your goal is less of a giant block of code
s
or use NFT and avoid the generic coding complexity.