/**
* function to search inventory details of lot numbered inventory items
*/
function invtDetailSearch(itemArray) { //An array of lot numbered item is passed as argument to this function.
try {
var searchResultArray = [];
var JJ_invtDetailSearch = search.create({
type: "inventorydetail",
filters:
[
["item.internalid", "anyof", itemArray],
"AND",
["expirationdate", "after", "today"],
"AND",
["itemcount", "greaterthan", "0"],
"AND",
["quantity", "greaterthan", "0"],
"AND",
["inventorynumber.quantityavailable", "greaterthan", "0"]
],
columns:
[
search.createColumn({
name: "inventorynumber",
label: " Number"
}),
search.createColumn({name: "quantity", label: "Quantity"}),
search.createColumn({
name: "expirationdate",
sort: search.Sort.ASC,
label: "Expiration Date"
}),
search.createColumn({
name: "quantityavailable",
join: "inventoryNumber",
label: "Available"
}),
search.createColumn({
name: "internalid",
join: "item",
label: "Internal ID"
})
]
});
var searchResultCount = JJ_invtDetailSearch.runPaged().count;
if (searchResultCount > 0) {
var searchObj = {}
JJ_invtDetailSearch.run().each(function (result) {
var searchObj = {}
var lotNumber, availableQty, internalid;
var itemId = result.getValue({
name: "internalid",
join: "item",
label: "Internal ID"
})
lotNumber = result.getText({
name: "inventorynumber",
label: " Number"
});
availableQty = result.getValue({
name: "quantityavailable",
join: "inventoryNumber",
label: "Available"
});
searchObj[itemId] = {};
searchObj[itemId][lotNumber] = availableQty;
searchResultArray.push(searchObj);
return true;
});
log.debug("search result array", searchArray);