2016-09-15 11 views
1

netsuiteの顧客サブスクリプションリストを更新しようとしています。NetSuiteアップデート顧客サブスクリプションエントリ

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

しかし、エラーがスローされます:無効なサブリストまたはラインアイテムの操作を試みてきた お知らせ(のSuiteScript)。存在しない行のフィールドにアクセスしようとしているか、静的なサブリストから行を追加または削除しようとしています。

+0

いずれかの回答がうまく機能しましたか? – W3BGUY

答えて

2

setCurrentLineItemValueを使用する前に、selectLineItem、commitLineItemを使用して行を選択して変更を保存する必要があります。

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

両方とも、効果的に同じように動作します。

ところで、1行目から開始する必要があるため、i < = itemCountを必ず使用する必要があります。それ以外の場合、10行がある場合は、最後の行が欠落します。 2.0に移動し、カウントを0で開始すると、i < itemCountを使用できます。

関連する問題