如何在 NetSuite 负载中创建采购订单?
How Purchase Order created in NetSuite load?
我有一个 javascript 函数来加载所有已创建采购订单的列表,这些采购订单是组件供应商、项目(id 项目、数量项目、项目金额)、表格、货币、交易日期.取数据时,它确实能正常工作,但给了我更多相应的记录,结果如下:
Para 采购订单:ID 采购订单:3505 ID 供应商:Servicio de Impuestos Internos ID 项目:UNDEF_MX 交易日期:6/8/2015 表格:标准采购订单货币:比索 CL
Para 采购订单:ID 采购订单:3505 ID 供应商:ID 项目:Donación al Proyecto:itemTest Trandate:6/8/2015 表格:标准采购订单货币:比索 CL
Para 采购订单:ID 采购订单:3505 ID 供应商:1234 ID 项目:Trandate:6/8/2015 表格:标准采购订单货币:比索 CL
这可以在 NetSuite 日志脚本中看到,对于每个采购订单,可以看到这三个结果。我只需要你展示给我看:
Para 采购订单: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.
您可能会得到三个结果,因为采购订单中有一个主线行和每个订单项一行。
主线行是整个交易的金额。行项目行是针对该交易中的每个项目。
你只想要主线,所以你需要添加:
filters.push(new nlobjSearchFilter('mainline', null, 'is', 'T'));
通过搜索获取交易项目行信息,因为有时会添加重复行。这些重复的行可能会影响税收、运输或会计。
我建议至少添加以下搜索过滤器
filters.push(new nlobjSearchFilter('istaxline', null, 'is', 'F'));
filters.push(new nlobjSearchFilter('isshipline', null, 'is', 'F'));
我的字段 ID 可能有误,但这就是概念。如果在添加以下过滤器后重复的行仍然显示,您将需要找出导致问题的会计影响。
我建议在 UI 中复制脚本搜索以检查您的过滤器是否为您提供了所需的结果。
我有一个 javascript 函数来加载所有已创建采购订单的列表,这些采购订单是组件供应商、项目(id 项目、数量项目、项目金额)、表格、货币、交易日期.取数据时,它确实能正常工作,但给了我更多相应的记录,结果如下:
Para 采购订单:ID 采购订单:3505 ID 供应商:Servicio de Impuestos Internos ID 项目:UNDEF_MX 交易日期:6/8/2015 表格:标准采购订单货币:比索 CL
Para 采购订单:ID 采购订单:3505 ID 供应商:ID 项目:Donación al Proyecto:itemTest Trandate:6/8/2015 表格:标准采购订单货币:比索 CL
Para 采购订单:ID 采购订单:3505 ID 供应商:1234 ID 项目:Trandate:6/8/2015 表格:标准采购订单货币:比索 CL
这可以在 NetSuite 日志脚本中看到,对于每个采购订单,可以看到这三个结果。我只需要你展示给我看:
Para 采购订单: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.
您可能会得到三个结果,因为采购订单中有一个主线行和每个订单项一行。
主线行是整个交易的金额。行项目行是针对该交易中的每个项目。
你只想要主线,所以你需要添加:
filters.push(new nlobjSearchFilter('mainline', null, 'is', 'T'));
通过搜索获取交易项目行信息,因为有时会添加重复行。这些重复的行可能会影响税收、运输或会计。
我建议至少添加以下搜索过滤器
filters.push(new nlobjSearchFilter('istaxline', null, 'is', 'F'));
filters.push(new nlobjSearchFilter('isshipline', null, 'is', 'F'));
我的字段 ID 可能有误,但这就是概念。如果在添加以下过滤器后重复的行仍然显示,您将需要找出导致问题的会计影响。
我建议在 UI 中复制脚本搜索以检查您的过滤器是否为您提供了所需的结果。