Sample code for adding item group in client script. This code allows to add items, change quantity as per our choice irrespective of the actual items in the item group.
// code for editing the Estimate record with group item in client script
require([‘N/record’],
function (record) {
var rec = record.load({
type: record.Type.ESTIMATE,
id: 933121,
isDynamic: true,
});
// Group Item
rec.selectNewLine({ sublistId: ‘item’ });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘item’, value: 157309 });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘groupsetup’, value: true });
rec.commitLine({ sublistId: ‘item’ });
// adding items to item group
rec.selectNewLine({ sublistId: ‘item’ });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘item’, value: 52505 });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘quantity’, value: 5 }); // Override quantity
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘rate’, value: 1000 }); // Override Unit Price
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘amount’, value: 5000 }); // Override Ext. price
rec.commitLine({ sublistId: ‘item’ });
rec.selectNewLine({ sublistId: ‘item’ });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘item’, value: 52381 });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘quantity’, value: 1 });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘taxcode’, value: 38538 });
rec.commitLine({ sublistId: ‘item’ });
// End Group
rec.selectNewLine({ sublistId: ‘item’ });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘item’, value: 0 });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘itemtype’, value: ‘EndGroup’ });
rec.setCurrentSublistValue({ sublistId: ‘item’, fieldId: ‘taxcode’, value: 38538 });
rec.commitLine({ sublistId: ‘item’ });
var id = rec.save()
}
)
Ref: https://followingnetsuite.com/2020/04/01/suitescript-item-groups/