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
,因为这还将包括用户刚刚对记录所做的更改,并且是将要提交到数据库的记录。
我能够获取值,但无法在记录提交前在用户事件脚本中设置子列表值。遍历每个订单项以获得令人满意的条件,当涉及到设置值时,我做不到。我是在传递错误的价值还是什么?我什至没有收到错误。
请查看脚本(编辑):
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
,因为这还将包括用户刚刚对记录所做的更改,并且是将要提交到数据库的记录。