/**
*@description Available bin search - This function will return object of bin name and their quantity
* @param itemName Name of the item
* @return {Object}
*/
function availableBinSearch(itemName) {
try {
var itemSearchObj = search.create({
type: "item",
filters:
[
["name", "is", itemName.toString()],
"AND",
["inventorydetail.binnumber", "noneof", "@NONE@"],
"AND",
["binonhand.quantityavailable", "greaterthan", "0"]
],
columns:
[
search.createColumn({
name: "binnumber",
join: "inventoryDetail",
label: "Bin Number"
}),
search.createColumn({
name: "quantityavailable",
join: "binOnHand",
label: "Available"
})
]
});
var searchResultCount = itemSearchObj.runPaged().count;
log.debug("itemSearchObj result count", searchResultCount);
let finalBinDetailsArray = []
if (searchResultCount > 0) {
itemSearchObj.run().each(function (result) {
let finalObj = {}
finalObj.binName = result.getText({
name: "binnumber",
join: "inventoryDetail",
label: "Bin Number"
})
finalObj.binId = result.getValue({
name: "binnumber",
join: "inventoryDetail",
label: "Bin Number"
})
finalObj.qtyAvailable = result.getValue({
name: "quantityavailable",
join: "binOnHand",
label: "Available"
})
finalBinDetailsArray.push(finalObj)
return true;
});
}
return finalBinDetailsArray
} catch (error) {
log.error('error @ bin search', error)
}
}