2016-06-17 10 views
0

ユーザーが特定のプロモーションをクリックすると、jqueryを使用してフォームに動的要素が表示される(この要件のフィールドまたはリスト/レコードが作成されていないため)デフォルトのプロモーションフォームをカスタマイズしました。nlapiメソッドを使用してsaveRecord関数に複数のレコードを保存する方法は?

データに基づいて、フォームを送信する際に複数のレコードを作成する必要がある場合があります。私はすでにフォームにマップされているjsファイルにsaveRecord()関数を作成しました。その中で、promotionRecordを動的に作成しようとしています。しかし、「レコードを要求したアイテムは、フォームを取得してから削除されました」というエラーが表示されます。何が問題になる可能性があり、単一のフォームで複数のレコードを保存することは可能ですか?

departments = Object.keys(samplePromotions); 
    $.each(departments, function(key,value){ 
    console.log(samplePromotions[value]); 
    promotion = nlapiCreateRecord('customrecord_promotion'); 
    console.log(promotion); 
    //required 
    promotion.setFieldValue('name','jAVASCRIPT pROMOTION cREATION_'+value); 
    promotion.setFieldValue('custrecord_px_promotion_id','js_prom_creation_'+value); 
    id = (Math.round(new Date().getTime()/1000)); 
    console.log(id); 
    promotion.setFieldValue('id',id); 

    var id = nlapiSubmitRecord(promotion); 
+0

コンパイルするコードがない可能性がありますか?郵便番号! – morels

+0

@morelsそれはどういう意味ですか?私は作成されたオブジェクトのコンソールログを取得しており、値もassingしています。しかし、私は間違いを救っています。私はコードをうっぷりしました。 –

答えて

3

あなたのコードでこれが問題であるかどうかはわかりませんが、質問に答えるにはAPIでレコードを1つしか送信できません。

私はちょうど配列を作成し、その長さをループし、それぞれnlapiCreateRecordnlapiSubmitRecordを呼び出します。

- 編集 これについてはわかりませんが、これは私にとっては奇妙に見えます。 setFieldValueメソッドを使用してidを設定していますが、それは外部IDだと思います。次に、nlapiSubmitRecordコールでidの設定を再度設定しています。内部IDが返されます。多分それも問題を引き起こしているのでしょうか?

+0

はい、私はこの回答を期待して、APIでレコードを1つ提出してください。だから1つはスクリプトの1つのレコードを提出する.. –

1

はレコードオブジェクトのidフィールドは、レコードの内部IDが含まれてい

promotion.setFieldValue('id',id); 

この行でなければなりません。これは、レコードを作成するときにNetSuiteによって生成されます。

関連する問題