NetSuite 更新客户订阅条目

NetSuite Update Customer subscription entries

我正在尝试更新 netsuite 中的客户订阅列表。

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

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

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

如果您打算使用 "current" 行项目功能,那么您需要 select 行才能使用。如下:

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');
}

两者的工作原理相同。

顺便说一句,因为您必须从第 1 行开始,所以您需要确保使用 i<=itemCount。否则,如果有 10 行,您将错过最后一行。当您移动到 ​​2.0 并从 0 开始计数时,您可以使用 i< itemCount.