从销售订单 Suitescript 2.0 中删除项目组

时间:2021-02-17 15:51:52

标签: netsuite suitescript remove itemgroup

我尝试删除销售订单中包含 2 个项目的 1 个项目组。在 SO 中,它由 5 行表示 1:代表组的项目 2 : 项目组的第一个项目 3 : 项目组的第二个项目 4 : 折扣套餐 5:组结束 我想它就像在 UI 中一样,如果我删除第一行,它会删除组的其余部分。

我的代码

 var SOrec = record.load({ type: record.Type.SALES_ORDER, id: context.values[i], isDynamic: true })
 var numOfItem = SOrec.getLineCount({sublistId: "item"})
 for (var x = 0; x < numOfItem; x++) {
      var itemID = SOrec.getSublistValue({sublistId: "item",fieldId: "item",line: x});
     if (itemID == itemGroupID) {
         SOrec.removeLine({sublistId: 'item',line: x,});
     }
 }

我有以下错误

名称: SSS_INVALID_SUBLIST_OPERATION

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

1 个答案:

答案 0 :(得分:-1)

当您删除一行时,它会更改其下方行的索引。一个解决方案是让您的循环从最后一行开始并一直工作到第一个索引。

所以你改成for (var x = numOfItem - 1; x >= 0; x--) {