how to set the sublist valuees in an aftersubmit f...
# suitescript
v
how to set the sublist valuees in an aftersubmit function?
n
To set any record values in afterSubmit you have to load the record in your script, then save the record after setting values
v
i did it, but it didnt reflect
n
Are you loading it in dynamic mode?
v
tried dynamic mode as true and false both, but not successful
b
Show us your code
this 1
v
function afterSubmit(context) { try{ var newRecordID = context.newRecord.id; //var invoiceRecord = context.newRecord; log.debug('re',newRecordID); var invoiceRecord = record.load({ type : 'invoice', id : newRecordID, isDynamic : true }); var lineCount = invoiceRecord.getLineCount('item'); log.debug('line',lineCount); for( var i = 0; i < lineCount; i + 2 ){ log.debug('i',i); var item = invoiceRecord.getSublistValue({ sublistId : 'item', fieldId : 'item', line : i }); log.debug('item',item); if (item !== '6177'){ var quantity = invoiceRecord.getSublistValue({ sublistId : 'item', fieldId : 'quantity', line : i }); log.debug('quantity',typeof quantity); var item = invoiceRecord.getSublistValue({ sublistId : 'item', fieldId : 'item', line : i + 1 }); log.debug('lineid',lineIDBaseItem); if(item === '6177'){ log.debug('item if',item); invoiceRecord.setSublistValue({ sublistId : 'item', fieldId : 'quantity', line : i + 1, value : quantity }); } } } invoiceRecord.save(); //} }catch(e){log.debug('eror',e);} }
b
You need to use dynamic mode methods in dynamic mode when getting/setting sublist line values. 1. selectLine 2. getCurrentSublistValue 3. setCurrentSublistValue 4. commitLine <-- Don't forget this one!
v
its fixed. in the for loop to increment by 2, it should be i+=2, i did i+2 by mistake