简体   繁体   English

NetSuite 循环通过 inventorydetail 子记录 Suitescript 1.0

[英]NetSuite Loop thru inventorydetail Subrecord Suitescript 1.0

I'm trying to pull all the listed bin numbers inside the inventorydetail subrecord thru SS1.0.我正在尝试通过 SS1.0 提取inventorydetail 子记录中所有列出的箱号。 I'm using UE script but I am having trouble looping thru each inventory detail on multiple items:我正在使用 UE 脚本,但在遍历多个项目的每个库存详细信息时遇到问题:

Scenario: Item 1 = Inventory Details (Bin1 and Bin2) Item 2 = Inventory Details (Bin3 and Bin4)场景:项目 1 = 库存明细(Bin1 和 Bin2) 项目 2 = 库存明细(Bin3 和 Bin4)

I can pull the bins on item 1 but getting error when the script enters item 2. Please help on my code below:我可以拉项目 1 上的垃圾箱,但是当脚本进入项目 2 时出现错误。请帮助我的代码如下:

var recordid = nlapiGetNewRecord().getId();
var record = nlapiLoadRecord('itemfulfillment', recordid);
var linenum = record.getLineItemCount('item');

for (var i = 1; i <= linenum; i++) {
    var subrec = record.viewLineItemSubrecord('item', 'inventorydetail', i);
    var invnum = subrec.getLineItemCount('inventoryassignment');

        for (var x = 1; x <= invnum; x++){
            var invitem = subrec.getLineItemText('inventoryassignment', 'binnumber', x);
        
        nlapiLogExecution('DEBUG', 'invitem ' + invitem);
        
    }
}

Thanks in advance提前致谢

There are a few reasons that your line may not have an inventory detail record so you need to check if it is empty before accessing it.您的行可能没有库存详细信息记录有几个原因,因此您需要在访问之前检查它是否为空。 So something like:所以像:

var recordid = nlapiGetNewRecord().getId();
var record = nlapiLoadRecord('itemfulfillment', recordid);
var linenum = record.getLineItemCount('item');

for (var i = 1; i <= linenum; i++) {
    var subrec = record.viewLineItemSubrecord('item', 'inventorydetail', i);
    if(!subrec) {
        nlapiLogExecution('DEBUG', 'no inventory detail at '+ i);
        continue;
    }

    var invnum = subrec.getLineItemCount('inventoryassignment');
    if(invnum <= 0) {
        nlapiLogExecution('DEBUG', 'no inventory assignment lines at '+ i);
        continue;
    }

    for (var x = 1; x <= invnum; x++){
            var invitem = subrec.getLineItemText('inventoryassignment', 'binnumber', x);
        
        nlapiLogExecution('DEBUG', 'invitem ' + invitem);
        
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在子列表子记录中设置值? (SuiteScript 1.0) - how to set values in sublist subrecord? (SuiteScript 1.0) NetSuite SuiteScript 1.0电子邮件附件 - NetSuite SuiteScript 1.0 email attachment NetSuite:在SUITESCRIPT 2.0中使用SUITESCRIPT 1.0 - NetSuite: Using SUITESCRIPT 1.0 inside of SUITESCRIPT 2.0 NetSuite SuiteScript 1.0:无法在 RESTlet 中保存报价 - NetSuite SuiteScript 1.0: Cannot save quote in RESTlet 有没有办法找出当前的 Netsuite 记录是否是suitescript 中另一条记录的子记录? - Is there a way to find out if current Netsuite record is a subrecord of another record inside suitescript? 根据套件条件,NetSuite库存明细子记录应具有bin(库存分配) - NetSuite Inventory detail subrecord should have bin(inventoryassignment) according to suitescript condition NetSuite SuiteScript 2.0 无法以编程方式为部分创建的当前记录输入库存详细信息子列表子记录 - NetSuite SuiteScript 2.0 Cannot programmatically enter Inventory Details sublist subrecord for partially created current record NetSuite SuiteScript 2.0如何在N / search create API中指定字段,子列表字段或子记录字段 - NetSuite SuiteScript 2.0 How to specify field, sublist field or subrecord field in N/search create API NetSuite SuiteScript 2.0 无法以编程方式从用户事件脚本中检索库存详细信息子列表子记录 - NetSuite SuiteScript 2.0 Cannot programmatically retrieve Inventory Details sublist subrecord from user event script 在Netsuite中建立新的子记录 - Build a new subrecord in Netsuite
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM