【问题标题】:SuiteScript 2.0 record.setCurrentSublistValue issue with filtered fieldsSuiteScript 2.0 record.setCurrentSublistValue 过滤字段问题
【发布时间】:2019-12-03 01:30:13
【问题描述】:

我有一个场景,我正在复制带有自定义子记录(行)的自定义记录(正文)。

在子列表中,有一个commodity 字段,后跟一个costitem 字段。两者都是列表/记录类型。

成本项目列表/记录上有一个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 suitescript2.0


    【解决方案1】:

    将此问题提交给 NetSuite 支持后,似乎存在缺陷。

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多