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 支持后,似乎存在缺陷。