Henrik Ulvenäs
05/08/2025, 9:15 AMconst itemReceipt = record.transform({
fromType: record.Type.PURCHASE_ORDER,
fromId: purchaseOrder.id,
toType: record.Type.ITEM_RECEIPT,
isDynamic: true
})
const sublistId = 'item'
const lineCount = itemReceipt.getLineCount({ sublistId })
log.debug('lineCount', lineCount)
for (let line = 0; line < lineCount; line++) {
log.debug('ITERATION', line+1)
itemReceipt.selectLine({ sublistId, line })
const itemId = itemReceipt.getCurrentSublistValue({
sublistId,
fieldId: 'item',
})
const quantity = itemReceipt.getCurrentSublistValue({
sublistId,
fieldId: 'quantity',
})
itemReceipt.setCurrentSublistValue({
sublistId,
fieldId: 'quantity',
value: quantity
})
const itemRecordType = search.lookupFields({
type: search.Type.ITEM,
id: itemId,
columns: ['recordtype']
}).recordtype
const inventoryDetailValue = itemReceipt.getCurrentSublistValue({
sublistId: sublistId,
fieldId: 'inventorydetail',
})
log.debug('DATA', { itemId, itemRecordType, quantity, inventoryDetailValue })
if(itemRecordType === 'serializedinventoryitem') {
try {
// Get the inventorydetail subrecord
const inventoryDetail = itemReceipt.getCurrentSublistSubrecord({
sublistId: sublistId,
fieldId: 'inventorydetail',
})
if (inventoryDetail) {
inventoryDetail.selectNewLine({ sublistId: 'inventoryassignment' })
inventoryDetail.setCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'quantity',
value: quantity
})
inventoryDetail.setCurrentSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber',
value: '123Test'
})
inventoryDetail.commitLine({ sublistId: 'inventoryassignment' })
}
} catch (e) {
log.error('Error trying to add lot Number', e.message)
}
}
itemReceipt.setCurrentSublistValue({
sublistId,
fieldId: 'location',
value: 1,
})
}
const itemReceiptTranId = itemReceipt.getValue({ fieldId: 'tranid' })
const itemReceiptId = itemReceipt.save()
log.debug('Item RECEIPT ', { itemReceiptTranId, itemReceiptId })
return {
itemReceiptId,
itemReceiptTranId
}
Henrik Ulvenäs
05/08/2025, 11:39 AM