我正在尝试从suitelet创建库存转移,并且在设置行字段时,系统给我错误以设置至少一个项目。错误:
"code\":\"USER_ERROR\",\"details\":\"You must enter at least one line item for this transaction"我的代码如下:
datamap object for lines reflecting as follows:
[{"item":"12482","fromLocation":"17","qtytoadj":"1","amount":null,"remarks":null,"project":"6621","projectTask":null,"matReqId":"8636","itemtype":"InvtPart","islotitem":"F"}]
//creating inventory transfer record
var createInvTrans = nlapiCreateRecord('inventorytransfer');
//Body fields
createInvTrans.setFieldValue('subsidiary', subsidVal);
createInvTrans.setFieldValue('location', 17);
createInvTrans.setFieldValue('transferlocation', 10);
createInvTrans.setFieldValue('custbody21', projectFld);
var toData = dataMap[matRecs];
nlapiLogExecution('debug', 'toData', JSON.stringify(toData))
nlapiLogExecution('debug', 'toData.length', toData.length)
for (var i2 = 0; i2 < toData.length; i2++) {
createInvTrans.selectNewLineItem('inventory');
createInvTrans.setCurrentLineItemValue('inventory', 'item', toData[i2].item);
createInvTrans.setCurrentLineItemValue('inventory', 'adjustqtyby', toData[i2].qtytoadj);
createInvTrans.commitLineItem('inventory');
}
//sumbitting inv Adj
var invTrans = nlapiSubmitRecord(createInvTrans, true, true);有人能帮帮我吗?我做错了什么吗?因为我在datamap中的数据是正确的,但是只要执行到了设置线,就会出现错误。
发布于 2020-10-24 04:01:50
您使用了错误的模式。您正在对非动态记录使用动态模式子列表操作。
您可以将传输初始化为动态:
var createInvTrans = nlapiCreateRecord('inventorytransfer', {recordmode: 'dynamic'});或者对子列表使用服务器端api:
for (var i2 = 0; i2 < toData.length; i2++) {
createInvTrans.setLineItemValue('inventory', 'item', i2 +1, toData[i2].item);
createInvTrans.setLineItemValue('inventory', 'adjustqtyby', i2+1, toData[i2].qtytoadj);
}https://stackoverflow.com/questions/64499032
复制相似问题