Javascript SuiteScript-删除行不删除最后一行

Javascript SuiteScript-删除行不删除最后一行,javascript,netsuite,suitescript,Javascript,Netsuite,Suitescript,我已经创建了一个pageInit SuiteScript,如果销售订单上的行项目填写了自定义字段,那么它应该删除这些行项目。我遇到的问题是,如果它是最后一行,并且没有其他行具有丢失值,它将不会删除该行 function pageInit(context) { var objRec = context.currentRecord; var itemsLength = objRec.getLineCount({ sublistId: 'item' });

我已经创建了一个pageInit SuiteScript,如果销售订单上的行项目填写了自定义字段,那么它应该删除这些行项目。我遇到的问题是,如果它是最后一行,并且没有其他行具有丢失值,它将不会删除该行

function pageInit(context) {

    var objRec = context.currentRecord;

    var itemsLength = objRec.getLineCount({
        sublistId: 'item'
    });

    for (var i = itemsLength-1; i >= 0; i--){
        var loss = objRec.getSublistValue({
            sublistId: 'item',
            fieldId: 'custcol_linelossreason',
            line: i
        });

        if (loss) {
            objRec.removeLine({
                sublistId: 'item',
                line: i,
                ignoreRecalc: true
            });
            log.debug('removed', 'Line ' + i + ' has been removed.');
        } else {
            log.debug('no removal', 'Line ' + i + ' will remain.');
        }
    }

我能找到的唯一一件事是,也许那条线丢失了损失值。。。?我用你的代码进行了测试,去掉了丢失的部分,效果非常好。下面是我试过的

**
 * @NApiVersion 2.x
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 * 
 */
define(['N/record'],function(record){
  function pageInit(context){
    var objRec=context.currentRecord;
    var itemsLength=objRec.getLineCount({
      sublistId:'item'
    });
    log.debug('itemsLength',itemsLength);
    for(var i=itemsLength-1;i>=0;i--){
      log.debug('running line ',i+' of '+itemsLength);
      /*
      var loss=objRec.getSublistValue({
        sublistId:'item',
        fieldId:'custcol_linelossreason',
        line: i
      });
      */
      //if(loss){
      objRec.removeLine({
        sublistId:'item',
        line:i,
        ignoreRecalc:true
      });
      log.debug('removed','Line '+i+' has been removed.');
     /*
      }else{
        log.debug('no removal','Line '+i+' will remain.');
      }
      */
    }
  }

  return{
    pageInit:pageInit
  }
});

谢谢你的回复!您的代码在我的环境中不起作用,这让我更深入地挖掘。事实证明,我有两个相同脚本的实例在运行,因此它们彼此冲突。是的,这肯定会解决问题。:)很高兴你发现了这个问题!仅供参考,如果您还没有,请确保查看NetSuite专业版。:)