2017-03-10 1 views
0

受注記録のItemサブリストから値を取得したいとします。seach apiの列の値

しかし、入手できません。私はSOレコードのエンティティフィールドの価値を得ることができますが。

 var filters = new Array(); 
         filters[0] = new nlobjSearchFilter("mainline",null,"is","T"); 

         var column=new Array(); 
         column[0] = new nlobjSearchColumn("trandate"); 
         column[1] = new nlobjSearchColumn("item"); 
         column[2] = new nlobjSearchColumn("cust_col_1"); 

       var result = nlapiSearchRecord('salesorder', null, filters, column); 

    for(var i = 0; i<result.length; i++) 
      { 
       var col = result[i].getAllColumns(); 
       var date = result[i].getFieldValue("trandate"); //I get this 
       var item_id = result[i].getLineItemValue("item", "item", i+1); // I don't get this 
       var cust_col = result[i].getLineItemValue("item", "cust_col_1", i+1); //I don't get this 
      } 

私は私が間違った列を定義しています考える:

は、以下のコードの抜粋です。

答えて

3

フィルタnew nlobjSearchFilter("mainline",null,"is","T")を指定することによって、基本的には、広告申込情報のデータを必要としないことを検索に伝えます。つまり、カスタムまたはその他の列データを読み取ることができなくなります。

mainlineフィルタパラメータには基本的に3つのオプションがあります。'F'は、広告申込情報の詳細を表示することを意味します。 'T'は、ヘッダーデータだけを必要とすることを意味します。このフィルタをそのままにしておくと、ヘッダー情報の1行とトランザクションの各明細の1行が返されます。あなたがレコードをロードした場合

3

var item_id = result[i].getLineItemValue("item", "item", i+1); // I don't get this var cust_col = result[i].getLineItemValue("item", "cust_col_1", i+1); //I don't get this

も間違っている。この部分は、次の構文を使用するが、検索結果のためにあなただけの

result[i].getValue('cust_col_1") 
+0

shackelsとマイク・ロビンスを使用しています。 あなたの複合的な答えが問題を解決しました。 お互いに感謝します。 – Galdiator

関連する問題