Alexander Cuadros
05/02/2024, 3:33 PMlet listIds = listIdbk.replace(/\[|\]|"/g, "").split(",");
log.audit("entro listIdbk", "1");
const pdfIds = [];
listIds.forEach((orderId) => {
try {
log.audit("orderId", orderId);
// Obtener los detalles de la orden de venta
const salesOrder = record.load({
type: record.Type.SALES_ORDER,
id: orderId,
isDynamic: true
});
log.audit("salesOrder", salesOrder);
const lineCount = salesOrder.getLineCount({
sublistId: 'item'
});
// Obtener las líneas de la orden de venta
log.audit("lineCount", lineCount);
var fulfillRecord = record.transform({
fromType: 'salesorder',
fromId: orderId,
toType: 'itemfulfillment'
});
log.audit("fulfillRecord", fulfillRecord);
for (let i = 0; i < lineCount; i++) {
const itemId = salesOrder.getSublistValue({
sublistId: 'item',
fieldId: 'item',
line: i
});
const quantity = salesOrder.getSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: i
});
log.audit("linea", "84");
log.audit("itemId", itemId);
log.audit("quantity", quantity);
// Realizar una búsqueda de lotes disponibles para el artículo actual
const lotNumbers = assignLotsByFEFO(quantity, itemId);
log.audit("lotNumbers", lotNumbers);
fulfillRecord.setSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
line: i,
value: true
});
log.audit("linea", "113");
fulfillRecord.setSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: i,
value: quantity
});
log.audit("linea", "122");
var subrec = fulfillRecord.getCurrentSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail'
});
log.audit("sublistFieldMetadata", subrec);
log.audit("linea", "127");
}
var fulfillmentId = fulfillRecord.save();
log.audit('Fulfillment Created', 'Fulfillment ID: ' + fulfillmentId);
} catch (error) {
log.error({
title: "Error processing order",
details: error
});
}alien4u
05/02/2024, 3:36 PMgetSublistSubrecord
Alexander Cuadros
05/02/2024, 6:18 PMvar inventoryDetailRecord = fulfillRecord.getSublistSubrecord({
sublistId: 'item',
fieldId: 'inventorydetail',
line: i,
});
inventoryDetailRecord.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'issueinventorynumber',
value: '47',
line: 0
});
inventoryDetailRecord.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'quantity',
value: 200,
line: 0
});alien4u
05/02/2024, 6:23 PMissueinventorynumber
Alexander Cuadros
05/02/2024, 6:25 PMalien4u
05/02/2024, 6:28 PMconst headerInventoryDetail = assemblyBuildRec.getSubrecord({fieldId: 'inventorydetail'});
headerInventoryDetail.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'receiptinventorynumber',
value: serialNumber,
line: i
});
oDetailRec.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'issueinventorynumber',
value: oDetail.SERIAL_ID,
line: 0
});