【发布时间】:2014-04-08 17:48:28
【问题描述】:
您将如何获取特定商品的所有库存位置?我想要检查一个特定的库存位置是否有任何物品的分配库存。
我曾尝试使用 nlapiSearchRecord('item',null,filter,columns) 来尝试此操作,但它只返回首选位置,而不是所有位置,即使它们是其他位置的库存。
过滤器是这样设置的:
filters = [ new nlobjSearchFilter('internalid',null,'is',10)];
如果我将new nlobjSearchFilter('location',null,'is',34) 添加到作为我正在寻找的库存位置的 ID 的过滤器中,我根本不会得到任何结果。
我从上述过滤器中获得的回报仅列出了首选位置,而没有列出任何其他有可用库存的位置。
-- 更新--
更新代码以使用下面的建议后,我现在得到了库存位置,但该位置的正确库存计数应该是 5 而不是 87
var itemId = 3376;
var locationId = 34;
var items = [];
var filters = [];
var columns = [];
filters = [
new nlobjSearchFilter('internalid',null,'is',itemId),
new nlobjSearchFilter('inventorylocation',null,'is',locationId),
new nlobjSearchFilter('quantityavailable',null,'greaterthan',0)
];
columns = [
new nlobjSearchColumn('itemid'),
new nlobjSearchColumn('inventorylocation'),
new nlobjSearchColumn('quantityavailable'),
new nlobjSearchColumn('quantityonhand'),
];
var results = nlapiSearchRecord('item',null,filters,columns);
if (results != null)
{
for (var i=0, l=results.length; i < l; i++)
{
var result = results[i];
items.push(result);
}
}
以 JSON 格式打印的 OUT PUT
{
"id": "3376",
"recordtype": "assemblyitem",
"columns": {
"itemid": "Marketing : Misc : T-Shirt Womens Medium",
"inventorylocation": {
"name": "InventoryLocation",
"internalid": "34"
},
"quantityavailable": 87,
"quantityonhand": 90
}
}
提前致谢。
【问题讨论】:
-
太棒了。谢谢你。没有 SO,NS 开发是不可能的!
标签: javascript netsuite inventory