Netsuite 通过SS 1.0在库存转移中设置行字段时出错

Netsuite 通过SS 1.0在库存转移中设置行字段时出错,netsuite,suitescript,suitescript2.0,suitescript1.0,Netsuite,Suitescript,Suitescript2.0,Suitescript1.0,我试图从suitelet创建库存转移,在设置行字段时,系统提示我设置至少一个项目时出错。 错误: 我的代码如下: datamap object for lines reflecting as follows: [{"item":"12482","fromLocation":"17","qtytoadj":"1","amount":null,"re

我试图从suitelet创建库存转移,在设置行字段时,系统提示我设置至少一个项目时出错。 错误:

我的代码如下:

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对象,用于反映以下内容的线:
[{“item”:“12482”,“fromLocation”:“17”,“qtytoadj”:“1”,“amount”:null,“备注”:null,“project”:“6621”,“projectTask”:null,“matReqId”:“8636”,“itemtype”:“InvtPart”,“islotitem”:“F”}]
//创建库存转移记录
var createInvTrans=nlapiCreateRecord('inventorytransfer');
//体场
createInvTrans.setFieldValue(“子公司”,子公司);
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

有人能帮我吗?我做错什么了吗?因为我在datamap中的数据是正确的,但只要执行到设置行,就会出现错误。

您使用了错误的模式。您正在对非动态记录使用动态模式子列表操作

您可以将传输初始化为动态:

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);
}
for(var i2=0;i2
此代码使用的是SS 1.0函数,您确定您的问题标题吗?@Josh刚刚更正,谢谢
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);
}