【问题标题】:How Purchase Order created in NetSuite load?NetSuite 中创建的采购订单如何加载?
【发布时间】:2015-08-07 16:47:15
【问题描述】:

我有一个 javascript 函数来加载所有已创建采购订单的列表,这些采购订单是组件供应商、项目(id 项目、数量项目、项目金额)、表格、货币、Trandate。获取数据时,它确实运行正常,但给了我更多相应的记录,结果如下:

准采购订单:ID 采购订单:3505 ID 供应商:Servicio de Impuestos Internos ID 项目:UNDEF_MX Trandate:6/8/2015 表格:标准采购订单货币:比索 CL

准采购订单:ID 采购订单:3505 ID 供应商:ID 项目:Donación al Proyecto:itemTest Trandate:2015 年 6 月 8 日表格:标准采购订单货币:比索 CL

准采购订单:ID 采购订单:3505 ID 供应商:1234 ID 项目:Trandate:6/8/2015 表格:标准采购订单货币:比索 CL

这在日志脚本 NetSuite 中可以看到,对于每个采购订单,这三个结果都可以看到。我只需要你给我看:

准采购订单:ID 采购订单:3505 ID 供应商:1234 ID 项目:Trandate:6/8/2015 表格:标准采购订单货币:比索 CL

功能代码如下:

function loadPurchaseOrder(){
nlapiLogExecution('DEBUG','loadPurchaseOrder', 'Entra a funcion loadPurchaseOrder');    

var filters = new Array();
filters[0] = new nlobjSearchFilter('purchaseorder',null,'isnotempty');

var columns = new Array();    
columns[0] = new nlobjSearchColumn('item');
columns[1] = new nlobjSearchColumn('entity');
columns[2] = new nlobjSearchColumn('trandate');
columns[3] = new nlobjSearchColumn('customform');
columns[4] = new nlobjSearchColumn('currency');
columns[5] = new nlobjSearchColumn('internalid');

var results = nlapiSearchRecord('purchaseorder',null,filters,columns);
var out = "";

for(var i in results){

    var purchaseOrder = results[i];        
    var idPurchaseOrder = purchaseOrder.getText('internalid');
    var idVendor = purchaseOrder.getText('entity');
    var trandate = purchaseOrder.getValue('trandate');
    var form = purchaseOrder.getText('customform');
    var currency = purchaseOrder.getText('currency');
    var idItem = purchaseOrder.getText('item');

    out = " ID Purchase Order: " + idPurchaseOrder + " ID Vendor: " + idVendor + " ID Item: " + idItem
          + " Trandate: " + trandate + " Form: " + form + " Currency: " + currency;

    nlapiLogExecution('DEBUG','purchaseOrderCargada', 'Para Purchase Order: ' + out);
}

return out;

}

如果有人可以帮助我。

PS:返回的out变量只是test。

【问题讨论】:

    标签: load netsuite purchase-order suitescript


    【解决方案1】:

    您可能会得到三个结果,因为采购订单中有一个主线行,并且每个行项目都有一个行。

    主线行是整个交易的金额。行项目行用于该交易中的每个项目。

    你只想要主线,所以你需要添加:

        filters.push(new nlobjSearchFilter('mainline', null, 'is', 'T'));
    

    【讨论】:

    • 感谢您的回答,它有效!但是现在我意识到这并没有带来物品的价值,因为可以纠正这个吗?问候!
    【解决方案2】:

    通过搜索获取​​交易项目行信息,因为有时会添加重复行。这些重复行可能会影响税务、运输或会计。

    我建议至少添加以下搜索过滤器

    filters.push(new nlobjSearchFilter('istaxline', null, 'is', 'F'));
    filters.push(new nlobjSearchFilter('isshipline', null, 'is', 'F'));
    

    我的字段 ID 可能有误,但这就是概念。如果添加以下过滤器后仍然显示重复的行,您需要找出导致问题的会计影响。

    我建议在 UI 中复制脚本搜索,以检查您的过滤器是否为您提供所需的结果。

    【讨论】:

    • 我可以上传一条记录,但记录没有显示项目的价值,因为我可以得到它??问候!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 2023-03-05
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多