微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SuiteScriptError INVALID_FLD_VALUE 值 -1.0 超出字段 adjustqtyby 的有效最小/最大范围

如何解决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 举报,一经查实,本站将立刻删除。