【问题标题】:Error when trying to removeLine on item_fulfillment尝试在 item_fulfillment 上删除 Line 时出错
【发布时间】:2021-09-03 15:49:24
【问题描述】:

我正在尝试将销售订单转换为商品履行并删除一些商品行,但我收到以下错误:

名称:SSS_INVALID_SUBLIST_OPERATION

消息:您尝试了无效的子列表或订单项操作。 您正在尝试访问不存在的行上的字段 或者您正在尝试从静态子列表中添加或删除行

我的代码:

// Transform the record 
var objRecord = record.transform({
                    fromType: record.Type.SALES_ORDER,
                    fromId: soid,
                    toType: record.Type.ITEM_FULFILLMENT,
                    isDynamic: true,
                });

// Remove second location 
var linecount = objRecord.getLineCount({sublistId: 'item'});
for (var i = 0; i < linecount; i++) {
   objRecord.selectLine({sublistId: "item",line: i});
   var locationid = objRecord.getCurrentSublistValue({sublistId: 'item',fieldId: 'location'});
   if (locationid != 15)
      objRecord.removeLine({sublistId: 'item',line: i});
}

销售订单中有 10 行。只有 1 分配了一些数量并准备完成,也许当我尝试删除它时会导致错误?但似乎错误来自其他方面。

我尝试设置:isDynamic: false(同样的错误)

【问题讨论】:

    标签: netsuite record sublist


    【解决方案1】:

    从列表底部开始删除。

    每次成功删除后linecount 的值都会发生变化。最终,i 将获得一个不再存在的值。

    【讨论】:

      【解决方案2】:

      问题不在于行的索引,而在于对记录的操作。在项目履行时,函数 objRecord.removeLine 不可用。 要从履行项目中删除行,我们必须使用它:

        objRecord.setCurrentSublistValue({
                              sublistId: 'item',
                              fieldId: 'itemreceive',
                              value : false
                          })
      

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 2013-11-16
        • 1970-01-01
        • 2014-11-15
        • 1970-01-01
        • 2018-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多