2017-07-21 17 views
1

SuiteScriptを介して結合テーブルの列値を取得しようとしています。エラーはスローされませんが、結果も表示されません。値を取得するための調整やヒントNetSuiteのGetValueが結合列に対して機能しない

var vendorSearchObj = search.create({ 
    type: "vendor", 
    filters: [ 
     [["entityid" , "is" , "KMSS"]] 
    ], 
    columns: [ 
     search.createColumn({ 
      name: "entityid", 
      sort: search.Sort.ASC 
     }), 
     "altemail", 
     search.createColumn({ 
      name: "salutation", 
      join: "contact" 
     }) 
    ] 
}); 
var searchResultCount = vendorSearchObj.runPaged().count; 
vendorSearchObj.run().each(function(result){ 
    // .run().each has a limit of 4,000 results 
    log.debug("result", result); 
    for (i = 0; i < 3 ; i++) { 
     log.debug(result.columns[i].name,result.getValue({name : result.columns[i].name})); 
    } 
    return true; 
}); 

敬礼欄を除くすべての値が来ています。しかし、結果セットでは値が利用可能です。以下は結果セットの値です。

{ 
    recordType: "vendor", 
    id: "375", 
    values: { 
     entityid: "KMBS", 
     altemail: "", 
     "contact.salutation": "Konica Jag" 
    } 
} 

TIA ...

答えて

3

あなたはjoin列から値をしたいときに、あなたにもgetValuejoinプロパティを指定する必要があります。

result.getValue({ 
    name: "salutation", 
    join: "contact" 
}); 
+0

ありがとう...ちょっと見た...私の悪い。 これは、列の配列を使用して値を取得できないことを意味しますか?私はこのフィールドの値をハードコードする必要があるので、これを行うための厄介な方法です。 あるいは代替案を提案します。 – Arindam

+0

'search.Column'オブジェクトを' getValue'に渡すこともできます。私は検索結果の読みを統一する必要性を見ていない。私は通常、ビジネスロジックを分離して、結果を取得する関数と、結果オブジェクトをネイティブJSオブジェクトにマップする関数と、ビジネスロジックがデータを処理するための別のモジュールがあるようにします。 – erictgrubaugh

+0

getValueで 'search.Coulumn'とはどういう意味ですか?それは 'getValue {name:" contact.salutation "}'ですか?そうであれば、何のエラーもなくても結果は得られません。
Plsでも、Object to Native JS Objの意味を説明できますか? – Arindam

関連する問題