NetSuite-保存的搜索加入位置清单数据

时间:2019-09-26 14:40:50

标签: netsuite

我正在寻找一种将位置库存数据加入/添加到搜索中的方法(然后将其用于脚本中)

我进行如下搜索,该搜索需要几个工作订单,并按项目对总使用需求进行汇总。我还想提供当前每个商品的数量,但要包含多个位置(例如LocA和LocB)。

i.e
Item   Remaining  Quantity   Built   onHandLocA   onHandLocB
A      10         20         10      99           0
B      20         20         0       23           659
C      30         30         0       2            33

我知道我可以通过遍历每一行然后从子列表中获取值来获取此数据,但是想知道是否有一种方法可以通过搜索联接来做到这一点。

var workorderSearch = nlapiSearchRecord("workorder",null,
[
   ["type","anyof","WorkOrd"], 
   "AND", 
   ["status","anyof","WorkOrd:D","WorkOrd:A","WorkOrd:B"], 
   "AND", 
   ["itemsource","anyof","STOCK"], 
   "AND", 
   ["formulanumeric: INSTR('11518,11624', {number}) ","notequalto","0"]
], 
[
   new nlobjSearchColumn("item",null,"GROUP").setSort(false), 
   new nlobjSearchColumn("formulanumeric",null,"SUM").setFormula("{quantity}-{built}"), 
   new nlobjSearchColumn("quantity",null,"SUM"), 
   new nlobjSearchColumn("built",null,"SUM")
]
);

1 个答案:

答案 0 :(得分:0)

new nlobjSearchColumn("locationquantityavailable","item","SUM")

new nlobjSearchColumn("formulanumeric", null, "SUM").setFormula("DECODE({item.inventorylocation}, 'LocA',{locationquantityavailable},0)")

获取项目库存位置数据的问题是每个位置的其余数据都重复,因此,如果您的工作订单需要数量10,并且您有2个位置,则汇总的已保存搜索将返回数量20(10数量x 2个位置)。 因此,您还需要将所有其他汇总列也设置为公式。

[ new nlobjSearchColumn("item",null,"GROUP").setSort(false), new nlobjSearchColumn("formulanumeric", null, "SUM").setFormula("DECODE({item.inventorylocation},'LocA',{quantity}-{built},0)"), new nlobjSearchColumn("formulanumeric", null, "SUM").setFormula("DECODE({item.inventorylocation},'LocA',{quantity},0)",null,"SUM"), new nlobjSearchColumn("formulanumeric", null, "SUM").setFormula("DECODE({item.inventorylocation},'LocA',{built},0)",null,"SUM") ]