【问题标题】:Script to get Netsuite Advanced Inventory Serial Numbers获取 Netsuite 高级库存序列号的脚本
【发布时间】:2013-10-25 11:41:17
【问题描述】:

我正在尝试从使用 Advanced Inventory 的 Netsuite 帐户中的 Fulfillment 记录中获取序列号(与 Netsuite 常规库存系统不同,Advanced Inventory 将序列号存储在交易记录的子记录中)。我尝试使用 Netsuite 提供的示例,但得到了 NULL 响应。我已尝试访问现有的已保存搜索,但我得到了错误的字段(已保存的搜索在 UI 中可以正常工作)。有谁知道诀​​窍是什么?这是 Netsuite 提供的代码示例 -

var ffill=nlapiLoadRecord('itemfulfillment', 5892, {recordmode: 'dynamic'});
ffill.selectLineItem('item', 1);
var invDetailSubrecord = ffill.viewCurrentLineItemSubrecord('item', 'inventorydetail');
invDetailSubrecord.selectLineItem('inventoryassignment', 1);

nlapiLogExecution('DEBUG', 'inventory number: ' + invDetailSubrecord.getCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber'));

使用上面的代码,我从 Debug 语句中得到 NULL - "Debug Serial Mgr - Create inventory number = null"

这是使用现有保存搜索的代码 -

var results = nlapiSearchRecord('itemfulfillment', 620, null, null);
var result = results[0];
var columns = result.getAllColumns();
var columnlen = columns.length;

for (ci = 0; ci < columnLen; ci++)
{
var column = columns[ci];
var label = column.getLabel();
var value = result.getValue(column);
nlapiLogExecution('DEBUG','Serial Mgr', 'Columns ' + label + " " + value);

使用此代码,我从搜索中获得 3 列,但字段错误(Itemship 和 553 不正确)- “调试串行管理器列空 2013 年 10 月 16 日” “调试串行管理器列 null ItemShip” “调试串行管理器列 null 553”

【问题讨论】:

    标签: inventory netsuite


    【解决方案1】:

    这是我为完成项目而做的事情。这是在预定脚本内运行的,因为它对我们来说可能是“昂贵的”,因为我们的客户可能有非常大的订单履行。

    var context = nlapiGetContext();
    var internalID = context.getSetting('SCRIPT', 'custscriptitemfulfillment_internalid');
    var rec = nlapiLoadRecord("itemfulfillment", internalID);
    var count = rec.getLineItemCount("item");
    for (var k = 1; k <= count; k++) {
        var internalItemID = rec.getLineItemValue("item", "item", k);
        var itemRecordType = nlapiLookupField('item', internalItemID, 'recordtype');
        if (itemRecordType == 'serializedinventoryitem') {
            var subRec = rec.viewLineItemSubrecord('item', 'inventorydetail', k);
            if (!(!subRec || subRec == null)) {
                var serialNo = [];
                var snc = 0;
                var subRecIntId = subRec.getFieldValue('id');
                var filters = [new nlobjSearchFilter('internalid', null, 'is', subRecIntId)];
                var columns = [
                    new nlobjSearchColumn('inventorynumber', 'inventorynumber'),
                    new nlobjSearchColumn('quantity'),
                    new nlobjSearchColumn('binnumber')
                ];
    
                var arrSearchResults = nlapiSearchRecord('inventorydetail', null, filters, columns);
    
                for (var m = 0; m < arrSearchResults.length ; m++) {
                    var currSerNo = '';
    
                    var src_serNo = arrSearchResults[m].getValue(columns[0]);
                    var src_qty = Math.abs(arrSearchResults[m].getValue(columns[1]));
                    var src_bin = arrSearchResults[m].getValue(columns[2]);
                    if (src_qty > 0) {
                        if (src_bin && src_bin != null && src_bin > '') {
                            currSerNo = { serialNumber: src_serNo, quantity: src_qty, binNumber: src_bin };
                        }
                        else {
                             currSerNo = { serialNumber: src_serNo, quantity: src_qty };
                        }
                        serialNo[snc] = currSerNo;
                        snc++;
                    }
                }
                // snc has a count of all the serial numbers on that fulfilled item
                // serialNo is an array with the serialized items, including their location and bin when applicable.
                // These two get reset on the next line item so process them now.
            }
        }
    }
    

    任何错误都是由于重命名的变量和减少代码以删除附加功能造成的。

    【讨论】:

      【解决方案2】:

      为标签尝试以下操作

      var label = column.getLabel()||column.getText();
      

      【讨论】:

        猜你喜欢
        • 2022-01-09
        • 2017-02-19
        • 2018-01-09
        • 1970-01-01
        • 2018-01-01
        • 2017-03-08
        • 2018-01-02
        • 2021-10-11
        • 1970-01-01
        相关资源
        最近更新 更多