在创建自定义记录时,我调用一个地图缩减脚本来创建负库存调整。 提交后调用该脚本。 我正在使用以下代码来填充库存详细信息子记录
for (var n = 0; n < cp_lotsearch.length; n++) {
if (cree_onhand > 0) {
var cp_lotid = cp_lotsearch[n].getValue({name: 'internalid'});
var cp_parentcasenum = cp_lotsearch[n].getValue({name: 'custrecord_nsts_ia_lot'});
var itemsearch = search.create({
type: 'item',
filters: ['inventorynumber.inventorynumber', 'is', cp_parentcasenum],
columns: [search.createColumn({name: "quantityonhand", join: "inventorynumber"})]
}).run().getRange({
start: 0,
end: 1000
});
var qtyonhand = itemsearch[0].getValue({name: 'quantityonhand', join: 'inventorynumber'});
var remain_qtyonhand = Number(qtyonhand) - Number(cree_onhand);
if (remain_qtyonhand >= 0) {
var reduceqty = 0 - Number(cree_onhand);
} else {
var reduceqty = 0 - Number(qtyonhand);
}
log.debug("reduceqty", reduceqty);
subrecord.insertLine({sublistId: 'inventoryassignment',line: n});
subrecord.setSublistText({ sublistId: 'inventoryassignment',fieldId: 'issueinventorynumber',line: n,text: cp_parentcasenum});
subrecord.setSublistValue({sublistId: 'inventoryassignment',fieldId: 'binnumber', line: n, value: cree_bin});
subrecord.setSublistValue({sublistId: 'inventoryassignment',fieldId: 'quantity',line: n,value: reduceqty});
log.debug("reduceqty added to inventory detail", reduceqty);
cree_onhand = Number(cree_onhand) + Number(reduceqty);
}
}
var invadjid = parentcase_inv_Adj.save({
enableSourcing: true,
ignoreMandatoryFields: true
});
当我尝试运行此代码时,出现以下错误:
"type":"error.SuiteScriptError","name":"USER_ERROR","message":"更改数量后仍需重新配置库存明细记录。"
相同的代码在沙盒帐户中运行完美,但在生产中却抛出错误
谁能帮我解决这个错误?
我在套件答案中得到了一个解决方案,我已经尝试过,但它在这里不起作用,是它的链接: https://netsuite.custhelp.com/app/answers/detail/a_id/80790/kw/reconfigure%20error
我发现这个错误可以在服务器端触发,如果:
但是,如果在客户端尝试相同的操作,错误将变为“总库存明细数量必须为 XX”(XX 是库存调整行上“adjustqtyby”中设置的数量)。
我在这对你有帮助之后就遇到了这个问题,但也许像我这样的其他人也可以受益!
事实证明,当启用库存状态功能时,NetSuite 会自动在库存详细信息“库存分配”子列表中创建一行(如 UI 中所示)。该行在编写脚本时也可用,因此您不需要使用 insertLine(),只需使用 setSublistValue(..., line: 0) 就可以了。
来源在这里(引用自 SuiteAnswer 81448):https://community.oracle.com/netsuite/english/discussion/4498970/suitescript-you-still-need-to-reconfigure-the-inventory-detail-record-更改数量后