2016-11-29 4 views
0

特定の顧客からの内部IDで特定の住所を検索しようとしています。現在、私は 'address1'と 'address2'の列を取得しようとしています。特定の顧客の特定の住所が社内IDで見つからない

function getAddrById(addressid,invcustomerid) { 
    try { 
    var filters = new Array(); 
    filters[0] = new nlobjSearchFilter('internalid', null, 'is', invcustomerid); 

     var columns = new Array(); 
     columns[0] = new nlobjSearchColumn('address1'); 

     var searchResult = nlapiSearchRecord('customer', null, filters , columns); 
     debugger; 

     if (!searchResult || searchResult.length < 1) { 
      nlapiLogExecution('DEBUG', 'XML HEAD', 'not supported address'); 
      return; 
     } 

     if(searchResult) { 
      for (var i = 0 ; i < searchResult.length; i++) { 
      alert(searchResult[i].getValue('address1')); 
     }; 
     }; 
    } catch(e) { 
     nlapiLogExecution('ERROR', 'Try/catch error', e.message); 
    } 
} 

...ここの顧客から、関連するすべてのアドレスをリストしていない、私は特定の顧客のためのすべてのアドレスサブレコードを取得しますが、私は内部IDで指定された一つだけが欲しいです。

答えて

3

columns[0] = new nlobjSearchColumn('addr1');

は次のようになります。

独自のリンクからcolumns[0] = new nlobjSearchColumn('address1');

は、あなたではなく、「フィールド」のレコードの下部にある[検索列]リストから内部IDを使用する必要があります。

+0

これは間違いなく私はこれを実現しています。エラーはありませんが、結果はありません。顧客IDをどこかに指定する必要がありますか? – eXtreme

+0

あなたは顧客に基づいて検索していません。フィルタの内部IDは、顧客ではなくアドレスレコード用です。特定の顧客の住所が必要な場合は、おそらく顧客の検索から始めることをお勧めします。 UIに必要な検索を作成して保存してから、nlapiLoadSearchを使用して検索をどこかに読み込んで列、フィルタなどを見直し、リバースエンジニアリングしてSSで完全に適切な検索を作成します。 –

+0

タスクは、保存済み検索なしで終了する必要があります。さて、ありがとう、私はまだ試しています。 – eXtreme

関連する問題