我正在寻找一种将位置库存数据加入/添加到搜索中的方法(然后将其用于脚本中)
我进行如下搜索,该搜索需要几个工作订单,并按项目对总使用需求进行汇总。我还想提供当前每个商品的数量,但要包含多个位置(例如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")
]
);
答案 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")
]