如何解决SuiteScriptError INVALID_FLD_VALUE 值 -1.0 超出字段 adjustqtyby 的有效最小/最大范围
尝试创建库存调整,使该位置的所有可用商品归零。在 adjustqty 字段中设置负值时,它表示无效的字段值。 错误信息 "type":"error.SuiteScriptError","name":"INVALID_FLD_VALUE","message":"值 -1.0 超出字段 adjustqtyby 的有效最小/最大范围"
let createInventoryAdjustment = (siteId)=> {
try {
var inventoryAdjustmentRecord = record.create({
type: record.Type.INVENTORY_TRANSFER,isDynamic: true
});
inventoryAdjustmentRecord.setValue("account",accountId)
let index = 0;
let currentInventoryData = getSerielNumbers(siteId);
let itemVsSerialNo = currentInventoryData.results;
let itemsVsQty = currentInventoryData.itemsVsQty;
for (var key in itemVsSerialNo) {
log.debug("itemVsSerialNo[key]",itemVsSerialNo[key]);
var inveRec = inventoryAdjustmentRecord.selectNewLine({
sublistId : 'inventory'
});
inventoryAdjustmentRecord.setCurrentSublistValue({
fieldId: "item",value: key,line: index,sublistId: 'inventory'
});
inventoryAdjustmentRecord.setCurrentSublistValue({
fieldId: "location",value: siteId,sublistId: 'inventory'
});
log.debug(itemsVsQty[key],itemVsSerialNo[key]);
inventoryAdjustmentRecord.setCurrentSublistValue({
fieldId: "adjustqtyby",value: parseInt(itemsVsQty[key]*-1),sublistId: 'inventory'
});
if(itemVsSerialNo[key][0].type!="inventoryitem") {
let inventoryDetail = inventoryAdjustmentRecord.getCurrentSublistSubrecord({
sublistId: 'inventory',fieldId: 'inventorydetail',line: index
});
for (let i=0;i<itemVsSerialNo[key].length;i++) {
let inventoryAssignment = inventoryDetail.selectNewLine({
sublistId : 'inventoryassignment'
});
inventoryAssignment.setCurrentSublistValue({
sublistId: 'inventoryassignment',fieldId: 'quantity',value: (itemVsSerialNo[key][i].qtyOnhand*-1),line: i
});
inventoryAssignment.setCurrentSublistValue({
sublistId: 'inventoryassignment',fieldId: 'issueinventorynumber',value: itemVsSerialNo[key][i].inventoryNoId,line: i
});
inventoryAssignment.commitLine({
sublistId : 'inventoryassignment'
});
}
}
index++;
inventoryAdjustmentRecord.commitLine({
sublistId : 'inventory'
});
log.debug("key",key);
//break;
}
if (index == 0) {
// NO items to reverse
return {
isCreated: true,tranId: null,};
}
let tranId = inventoryAdjustmentRecord.save({ignoreMandatoryFields: true});
log.debug("inventoryAdjustmentRecord",tranId);
return {
isCreated: true,tranId: tranId
};
} catch (err) {
log.debug('error@inventoryAdjustment',err);
return {
isCreated: false,error: 'Unable to create Return Inventory Transfer'
}
}
}
解决方法
您正在创建一个不能转移负数量的库存转移,而不是:
var inventoryAdjustmentRecord = record.create({
type: record.Type.INVENTORY_TRANSFER,isDynamic: true
});
你应该:
var inventoryAdjustmentRecord = record.create({
type: record.Type.INVENTORY_ADJUSTMENT,isDynamic: true
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。