NetSuite行项目删除内部循环问题

NetSuite line item delete inside loop issue

本文关键字:循环 问题 内部 删除 项目 NetSuite      更新时间:2024-04-19

My Restlet在移除循环中的行项目时似乎遇到问题。如果似乎有一条记录总是被跳过。因此,如果三个行项目的id为111,则只删除两个。这个代码可能有什么问题:

var itemcount = update_record.getLineItemCount('item');
for (var j = 1; j <= itemcount; j++)
{
    var lineid = update_record.getLineItemValue('item', 'custcol_line_id', j);
    if (lineid == 111)
    {
        update_record.removeLineItem('item', j);
    }
}

这种类型的事情总是会失败。向后运行循环:

for(var j = itemCount; i> 0; i--){

否则,如果删除第1行,然后提前索引,则您要检查的下一行(使用索引2)最初是第3行,并且您完全跳过了第2行。

使用原始代码,每次删除行时,我们都会把行级别的索引搞砸。所以我们必须从最后一个索引(总行数)开始,到第一个索引,即1。参见下面的示例代码:

var itemcount = update_record.getLineItemCount('item');
for (var j = itemcount; j >0; j--)
{
    var lineid = update_record.getLineItemValue('item', 'custcol_line_id', j);
    if (lineid == 111)
    {
        update_record.removeLineItem('item', j);
    }
}