NetSuite更新客户订阅条目

时间:2016-09-15 10:10:56

标签: netsuite sublist customer

我试图在netsuite中更新客户订阅列表。

var itemCount = recLead.getLineItemCount('subscriptions');
for (var i = 1; i < itemCount; i++ ) {  recLead.setCurrentLineItemValue('subscriptions', 'subscribed', 'T');}

但错误抛出: 注意事项(SuiteScript) 您尝试了无效的子列表或订单项操作。您要么尝试访问不存在的行上的字段,要么尝试在静态子列表中添加或删除行。

2 个答案:

答案 0 :(得分:2)

在使用setCurrentLineItemValue之前,您需要使用selectLineItem选择行,然后使用commitLineItem保存更改。

答案 1 :(得分:2)

如果您打算使用“当前”订单项功能,则需要选择要使用的行。如下:

var itemCount=recLead.getLineItemCount('subscriptions');
for(var i=1;i<=itemCount;i++){
  recLead.selectLineItem('item',i);
  recLead.setCurrentLineItemValue('subscriptions','subscribed','T');
  recLead.commitLineItem('item');
}

或者,如果您不想这样做,则可以使用setLineItemValue。

var itemCount=recLead.getLineItemCount('subscriptions');
  for(var i=1;i<=itemCount;i++){
  recLead.setLineItemValue('subscriptions','subscribed',i,'T');
}

两者都有效地工作。

BTW,因为你必须从第1行开始,你需要确保使用i&lt; = itemCount。否则,如果有10行,您将错过最后一行。当你移动到2.0,并开始计数为0时,你可以使用i&lt; ITEMCOUNT。