SuiteScript 2.0 record.setCurrentSublistValue 过滤字段问题
SuiteScript 2.0 record.setCurrentSublistValue issue with filtered fields
我有一个场景,我正在复制带有自定义子记录(行)的自定义记录(正文)。
在子列表中,有一个 commodity
字段,后跟一个 costitem
字段。两者都是 list/record 类型。
成本项list/record上有一个commodity
字段,在子列表中被过滤,所以我们只能输入commodity
值匹配的成本项。
正文记录创建为动态。
commodity
字段设置在成本项字段之前的子列表中,我已经验证了我设置的 costitem
确实具有正确的匹配 commodity
值。 (通过在 UI 中手动输入数据进行模拟)。
但是,我收到了 costitem
的无效字段引用。
当我从 costitem
字段定义中删除过滤器时,它很有用。
因此,问题是当有另一个必须先设置的字段时,我们如何设置子列表值。
我目前使用的代码:
var sourceLineCount = sourceRec.getLineCount({sublistId:'recmachcustrecordcpqx_line_parent'});
var lineFields = ['custrecordcpqx_commodity','custrecordcpqx_costitem'];
for (var sourceLine = 0; sourceLine < sourceLineCount; sourceLine++) {
newLineRecord.selectNewLine({sublistId:'recmachcustrecordcpqx_line_parent'});
lineFields.forEach(function(field){
newLineRecord.setCurrentSublistValue({
sublistId: 'recmachcustrecordcpqx_line_parent',
fieldId: field,
value: sourceRec.getSublistValue({
sublistId: 'recmachcustrecordcpqx_line_parent',
fieldId: field,
line: sourceLine,
}),
});
});
newLineRecord.commitLine({sublistId:'recmachcustrecordcpqx_line_parent'});
}
console.log('['+script.getRemainingUsage()+']','About to save')
newLineRecord.save({enableSourcing:true});
console.log('['+script.getRemainingUsage()+']','New CPQ Line Created: '+newLineRecordId)
});
我已经在日志记录中确认商品字段设置在成本项目之前。
将此问题提交给 NetSuite 支持后,似乎存在缺陷。
我有一个场景,我正在复制带有自定义子记录(行)的自定义记录(正文)。
在子列表中,有一个 commodity
字段,后跟一个 costitem
字段。两者都是 list/record 类型。
成本项list/record上有一个commodity
字段,在子列表中被过滤,所以我们只能输入commodity
值匹配的成本项。
正文记录创建为动态。
commodity
字段设置在成本项字段之前的子列表中,我已经验证了我设置的 costitem
确实具有正确的匹配 commodity
值。 (通过在 UI 中手动输入数据进行模拟)。
但是,我收到了 costitem
的无效字段引用。
当我从 costitem
字段定义中删除过滤器时,它很有用。
因此,问题是当有另一个必须先设置的字段时,我们如何设置子列表值。
我目前使用的代码:
var sourceLineCount = sourceRec.getLineCount({sublistId:'recmachcustrecordcpqx_line_parent'});
var lineFields = ['custrecordcpqx_commodity','custrecordcpqx_costitem'];
for (var sourceLine = 0; sourceLine < sourceLineCount; sourceLine++) {
newLineRecord.selectNewLine({sublistId:'recmachcustrecordcpqx_line_parent'});
lineFields.forEach(function(field){
newLineRecord.setCurrentSublistValue({
sublistId: 'recmachcustrecordcpqx_line_parent',
fieldId: field,
value: sourceRec.getSublistValue({
sublistId: 'recmachcustrecordcpqx_line_parent',
fieldId: field,
line: sourceLine,
}),
});
});
newLineRecord.commitLine({sublistId:'recmachcustrecordcpqx_line_parent'});
}
console.log('['+script.getRemainingUsage()+']','About to save')
newLineRecord.save({enableSourcing:true});
console.log('['+script.getRemainingUsage()+']','New CPQ Line Created: '+newLineRecordId)
});
我已经在日志记录中确认商品字段设置在成本项目之前。
将此问题提交给 NetSuite 支持后,似乎存在缺陷。