我能够获取值,但无法在记录提交之前在用户事件脚本中设置子列表值。循环遍历每一个项目以获得满意的条件,当它来设定价值时,我无法做到。我传递错误的价值还是什么?我甚至没有收到错误。
请查看脚本(编辑):
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);
}
}
}
答案 0 :(得分:3)
在提交前功能中,context.oldRecord
是对用户编辑之前的销售订单的引用。 context.newRecord
是对用户编辑 >>之后的销售订单的引用,但 之前将其提交给数据库。
如果您需要进行更改,则应更新context.newRecord
,因为这还将包括对用户刚刚创建的记录的更改,以及将要提交到数据库的记录。