SuiteScript:提交前(使用用户事件脚本设置子列表值)

SuiteScript: before Submit (Set sublist Value using user event script)

我能够获取值,但无法在记录提交前在用户事件脚本中设置子列表值。遍历每个订单项以获得令人满意的条件,当涉及到设置值时,我做不到。我是在传递错误的价值还是什么?我什至没有收到错误。

请查看脚本(编辑):

if (context.type == context.UserEventType.EDIT) { var salesOrderRecord = context.oldRecord; var formId = salesOrderRecord.getValue({ fieldId: 'customform' }); if (formId == 150 ) { var recordId = salesOrderRecord.id; var lineCount = salesOrderRecord.getLineCount({ sublistId: 'item' }); for(var i = 0;i < lineCount; i++){ var sublistItemId = salesOrderRecord.getSublistValue({ sublistId: 'item', fieldId: 'item', line: i }); if (sublistItemId != '' && sublistItemId == 29498) { log.debug('Get Values',sublistItemId); salesOrderRecord.setSublistValue('item','location',i,39); } } }

在提交之前的函数中,context.oldRecord 是对销售订单的引用 之前 它被用户编辑。 context.newRecord 是对销售订单的引用 after 它被用户编辑但 before 它被提交到数据库。

如果您需要进行更改,您应该更新 context.newRecord,因为这还将包括用户刚刚对记录所做的更改,并且是将要提交到数据库的记录。