Here we can set the description from sales order in the purchase order.
If the Purchase order is created manually by clicking the link, if the user is entered or modified the description, the script will keep that description and do not overwrite sales order description.
let poLineCount = poRecordObj.getLineCount({ sublistId: ‘item’ });
for (let j = 0; j < poLineCount; j++) {
poRecordObj.selectLine({ sublistId: ‘item’, line: j });
let item = poRecordObj.getCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘item’,
line: j
});
let currentItem = itemObj[j];
//log.debug(“current item”, currentItem);
if (item == currentItem[‘item’] && (createMode == ‘dropship’ || createMode == ‘specialorder’)) {
poRecordObj.setCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘description’,
value: currentItem.desc,
line: j
});
}
if (item == currentItem[‘item’] && (createMode == ‘create’)) {
let oldValue = newRecord.getSublistValue({
sublistId: ‘item’,
fieldId: ‘description’,
line: j
});
log.debug(“old value”, oldValue)
let itemDesc = itemSearch[item];
log.debug(“itemDesc”, itemDesc)
if (oldValue != itemSearch[item]) {
poRecordObj.setCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘description’,
value: oldValue,
line: j
});
}
else {
poRecordObj.setCurrentSublistValue({
sublistId: ‘item’,
fieldId: ‘description’,
value: currentItem.desc,
line: j
});
}
}
poRecordObj.commitLine({ sublistId: ‘item’ });
}