我想将销售订单转换为包含库存详细信息的物料履行。我在 suiteanswers 上找到了一个示例。但我不确定如何访问要在库存详细信息记录上设置的值,例如问题库存编号、箱编号、数量。在示例代码中,他们对这些值进行了硬编码。我将感谢您的帮助。
var ifRec = nlapiTransformRecord('salesorder', , 'itemfulfillment');
ifRec.selectLineItem('item', 1);
ifRec.setCurrentLineItemValue('item', 'location', 1);
var ifDetail = ifRec.createCurrentLineItemSubrecord('item', 'inventorydetail');
ifDetail.selectNewLineItem('inventoryassignment');
ifDetail.setCurrentLineItemValue('inventoryassignment', 'issueinventorynumber', 25);
//lot number's Internal ID
ifDetail.setCurrentLineItemValue('inventoryassignment', 'binnumber', 1); //bin
number's Internal ID
ifDetail.setCurrentLineItemValue('inventoryassignment', 'quantity', 1);
ifDetail.commitLineItem('inventoryassignment');
ifDetail.commit();
ifRec.commitLineItem('item');
var ifID = nlapiSubmitRecord(ifRec);
该代码使用 SuiteScript 1,我强烈建议您使用 SuiteScript 2。(您可以识别 SS1,因为以“nlapi...”命名的函数。
我无法访问 Netsuite 帐户来测试它,但从 Netty.ai 获得了这个示例:
var salesOrderID = '123'; // Replace with the actual sales order ID
// Create a dynamic item fulfillment request record
var fulfillmentRequestRecord = record.transform({
fromType: record.Type.SALES_ORDER,
fromId: salesOrderID,
toType: record.Type.FULFILLMENT_REQUEST,
isDynamic: true
});
var fulfillmentRequestLinesCount = fulfillmentRequestRecord.getLineCount({
sublistId: 'item'
});
// Loop through each line item in the fulfillment request
for (var line = 0; line < fulfillmentRequestLinesCount; line++) {
var issueInventoryNumber = fulfillmentRequestRecord.getSublistValue({
sublistId: 'item',
fieldId: 'issueinventorynumber',
line: line
});
var binNumber = fulfillmentRequestRecord.getSublistValue({
sublistId: 'item',
fieldId: 'binnumber',
line: line
});
var quantity = fulfillmentRequestRecord.getSublistValue({
sublistId: 'item',
fieldId: 'quantity',
line: line
});
// Set the values on the inventory details record
// ...
// Save the fulfillment request record
// ...
}