您将如何获取特定商品的所有库存位置?我想要检查特定库存位置是否有为某件商品分配的库存。
我尝试使用 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
}
}
提前致谢。
最佳答案
我相信要使用的字段是“inventorylocation”字段。
关于javascript - 使用 nlapiSearchRecord 时不显示 netsuite 多个库存位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944539/