alien4u
04/12/2022, 6:21 PMbattk
04/12/2022, 6:39 PMalien4u
04/12/2022, 6:42 PMbattk
04/12/2022, 6:45 PMalien4u
04/12/2022, 6:55 PM/**
* Loops through the lines and get the lines Inventory Details if any.
*
* @param {Object} pRec
*
* @return {Object}
* */
const getInventoryDetails = (pRec) => {
const nLines = pRec.getLineCount({
sublistId: 'item',
});
const oLinesData = {};
for (let nLine = 0; nLine < nLines; nLine++) {
const sReceivedLine = pRec.getSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
line: nLine
});
if (!sReceivedLine) {
continue;
}
const sOrderLine = pRec.getSublistValue({
sublistId: 'item',
fieldId: 'orderline',
line: nLine
});
const sLineItem = pRec.getSublistValue({
sublistId: 'item',
fieldId: 'item',
line: nLine
});
const sLineQty = pRec.getSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: nLine
});
const sInventoryDetailAvailable = pRec.getSublistValue({
sublistId: 'item',
fieldId: 'inventorydetailavail',
line: nLine
});
const oInventoryDetailsData = [];
if (sInventoryDetailAvailable === 'T') {
const oDetailRec = pRec.getSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail',
line: nLine
});
const nDetailLines = oDetailRec.getLineCount({
sublistId: 'inventoryassignment'
});
for (let nDetailLine = 0; nDetailLine < nDetailLines; nDetailLine++) {
const oDetailData = {};
oDetailData['DETAIL'] = oDetailRec.getSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'internalid',
line: nDetailLine
});
oDetailData['BIN'] = oDetailRec.getSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'binnumber',
line: nDetailLine
});
oDetailData['QTY'] = oDetailRec.getSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'quantity',
line: nDetailLine
});
oInventoryDetailsData.push(oDetailData);
}
}
oLinesData[sOrderLine] = {
ITEM: sLineItem,
QUANTITY: sLineQty,
DETAILS: oInventoryDetailsData
};
}
return oLinesData;
}
alien4u
04/12/2022, 6:57 PMbattk
04/12/2022, 7:04 PMbattk
04/12/2022, 7:04 PMlog.debug("details", context.newRecord.getSublistSubrecord({sublistId: 'item', fieldId: 'inventorydetail', line: 0}))
battk
04/12/2022, 7:04 PMalien4u
04/12/2022, 7:05 PMif (sInventoryDetailAvailable === 'T') {
Is that complicated ^^^ ?battk
04/12/2022, 7:05 PMalien4u
04/12/2022, 7:06 PMbattk
04/12/2022, 7:06 PMbattk
04/12/2022, 7:06 PMalien4u
04/12/2022, 7:07 PMalien4u
04/12/2022, 7:07 PMbattk
04/12/2022, 7:07 PMbattk
04/12/2022, 7:07 PMbattk
04/12/2022, 7:35 PMlog.debug("details", getInventoryDetails(context.newRecord))
is outputting
{
"1": {
"ITEM": "120",
"QUANTITY": 1500,
"DETAILS": [
{
"DETAIL": -1,
"BIN": "1",
"QTY": 1500
}
]
}
}
battk
04/12/2022, 7:36 PMalien4u
04/12/2022, 7:58 PMbattk
04/12/2022, 8:27 PMalien4u
04/12/2022, 8:28 PMbattk
04/12/2022, 8:28 PMbattk
04/12/2022, 8:29 PMalien4u
04/12/2022, 8:32 PMbattk
04/12/2022, 8:42 PMbattk
04/12/2022, 8:42 PM