【发布时间】:2022-01-14 02:45:12
【问题描述】:
我是 suitescript 的新手,我有一个计划脚本可以将 PO 转换为 Item Receipt。需要在inventorydetail子记录的Subrecord上创建记录,我得到“USER_ERROR”,“message”:“总库存明细数量必须为1。” - 不知道我做错了什么。如果我对非库存使用相同的代码并删除子记录插入行并对其进行编码
var csvPOId = 73586;
var csvPOLocationId = 1;
var csvPOQty = 1;
var csvBinId = '';
var csvSerialLot = '';
var csvInvQty = 1;
//
try {
var itemReceiptRec = record.transform({
fromType: record.Type.PURCHASE_ORDER,
fromId: csvPOId,
toType: record.Type.ITEM_RECEIPT,
isDynamic: false
});
} catch (e) {
log.error({
title: e.name,
details: e.message
});
}
// Get count - Sublist Lines
var count = itemReceiptRec.getLineCount({
sublistId: 'item'
});
for (var i=0; i < count; i++) {
// Item Sub List - Mark as Received
var itemReceived = itemReceiptRec.getSublistValue({
sublistId: 'item',
fieldId: 'itemreceive',
line: i
});
// Location
itemReceiptRec.setSublistValue({
sublistId: 'item',
fieldId: 'location',
value: csvPOLocationId, // '11 - Central Main Warehouse',
line: i
});
// Quantity
itemReceiptRec.setSublistValue({
sublistId: 'item',
fieldId: 'quantity',
value: csvPOQty,
line: i
});
// Inventory Detail Sub Record [inventorydetail]
var subrec = itemReceiptRec.getSublistSubrecord({
sublistId: 'item',
line: i,
fieldId: 'inventorydetail'
});
subrec.insertLine({
sublistId: 'inventoryassignment',
line: 0
});
// // Quantity - Mandatory
subrec.setSublistValue({
sublistId: 'inventoryassignment',
fieldId: 'quantity',
line: 0,
value: csvInvQty
});
var itemRecID = itemReceiptRec.save({
enableSourceing: true
});
log.debug({
title: 'New Item Receipt Record',
details: 'Internal ID ' + itemRecID
});
【问题讨论】:
-
在复制和粘贴逻辑时,我为 For 语句删除了 }。 } 就在 itemReceiptRec.save 函数之前。
-
仅供参考 - 我正在尝试从采购订单中接收 3 个库存项目行,数量均为 1
标签: javascript transform netsuite suitescript receipt