Как бы вы поступили, чтобы получить все места хранения для определенного предмета? Я хотел бы проверить, есть ли в определенном месте инвентаря какой-либо выделенный инвентарь для предмета.
Я попытался использовать nlapiSearchRecord('item',null,filter,columns), чтобы попробовать это, но он возвращает только предпочтительное местоположение, а не все местоположения, даже если их инвентарь находится в других местах.
Фильтры были настроены так:
filters = [ new nlobjSearchFilter('internalid',null,'is',10)];
Если я добавлю new nlobjSearchFilter('location',null,'is',34)
к фильтрам, которые являются идентификатором места хранения, которое я ищу, я вообще не получу никаких результатов.
возврат, который я получаю от вышеуказанных фильтров, перечисляет только предпочтительное местоположение, а не какие-либо другие местоположения с доступным инвентарем.
-- ОБНОВИТЬ --
После обновления кода для использования приведенного ниже предложения я теперь получаю местоположение инвентаря, но не правильное количество инвентаря для местоположения, которое должно быть 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);
}
}
OUT PUT распечатывается в формате JSON
{
"id": "3376",
"recordtype": "assemblyitem",
"columns": {
"itemid": "Marketing : Misc : T-Shirt Womens Medium",
"inventorylocation": {
"name": "InventoryLocation",
"internalid": "34"
},
"quantityavailable": 87,
"quantityonhand": 90
}
}
Заранее спасибо.