2016-11-29 18 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用於地址記錄,而不是客戶。如果你想要一個特定客戶的地址,最好從一個客戶搜索開始。嘗試在用戶界面中構建一個想要的搜索,保存它,然後使用nlapiLoadSearch在某處加載搜索並查看列,過濾器等,以反向設計如何完全在SS中創建適當的搜索。 –

+0

該任務必須在沒有保存搜索的情況下完成。好的,謝謝我還在嘗試。 – eXtreme

相關問題