sha*_*h17 2 netsuite suitescript
我正在尝试获取与采购订单相关的所有项目。我已经在 UI 中创建了保存的搜索,但是我需要传递 PO 的内部 ID 才能获得正确的项目列表。我尝试在suitescript 中执行此操作,但找不到Item 的正确连接表?查看记录浏览器,我找不到项目。这不可能吗?
var poItemSearch = search.create({
type: 'transaction',
filters : [
search.createFilter({
name : 'type',
operator : search.Operator.IS,
values : 'Purchase Order'
}),
search.createFilter({
name : 'internalid',
operator : search.Operator.ANYOF,
values : poID
}),
search.createFilter({
name : 'item',
join : 'item',
operator : search.Operator.IS,
values : 'Inventory Item'
})
],
columns: [
search.createColumn({name : 'item'})
//search.createColumn({name : 'email', join : 'custrecord_sdr_prod_pref_customer'}),
//search.createColumn({name : 'subsidiary', join: 'custrecord_sdr_prod_pref_customer'}),
//search.createColumn({name : 'custrecord_sdr_prod_pref_item'}),
//search.createColumn({name : 'custrecord_sdr_prod_pref_qty'}),
//search.createColumn({name : 'quantityavailable', join: 'custrecord_sdr_prod_pref_item'})
]
});
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,指出 Item 不是联接的选项。我只是使用了错误的名称吗?
否则,如何向现有的已保存搜索添加过滤器?我可以通过这种方式来过滤采购订单内部 ID 上的搜索结果。
item应该是 的正确名称join,但我认为这不是name过滤器的正确名称。看起来您正在尝试过滤itemtype,但我不确定它是"Inventory Item"还是"inventoryitem"。
令人费解的item是在记录浏览器中没有列为连接。例如,这在控制台中运行时效果很好:
require(["N/search"], function (search) {
var purchaseorderSearchObj = search.create({
type: "purchaseorder",
filters: [
["type","anyof","PurchOrd"]
],
columns: [
search.createColumn({
name: "itemid",
join: "item"
})
]
});
purchaseorderSearchObj.run().each(function(result){
console.log(result.getValue({"name":"itemid","join":"item"}));
return true;
});
});
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我通过在 UI 中创建保存的搜索来生成此代码,然后使用此 Chrome 插件将其导出为代码:https : //chrome.google.com/webstore/detail/netsuite-search-export/gglbgdfbkaelbjpjkiepdmfaihdokglp?hl=en这是一个非常有用的工具。
| 归档时间: |
|
| 查看次数: |
4344 次 |
| 最近记录: |