2012-12-21 49 views
0

我想從Netsuite中檢索vendorBills。從TransactionSearch中檢索帳單

這裏是我的代碼

TransactionSearch transactionSearch = new TransactionSearch(); 

      TransactionSearchBasic tranSearchBasic = new TransactionSearchBasic(); 
      TransactionSearchAdvanced tranAdvancedSearch = new TransactionSearchAdvanced(); 

      SearchDateField searchDate = new SearchDateField(); 
      searchDate.setOperator(SearchDateFieldOperator.within); 
      searchDate.setSearchValue(startDate); 
      searchDate.setSearchValue2(endDate); 
      tranSearchBasic.setDateCreated(searchDate); 
transactionSearch.setBasic(tranSearchBasic); 

      tranAdvancedSearch.setCriteria(transactionSearch); 

      SearchResult billResult = port.search(tranAdvancedSearch); 

上面的代碼retruns指定日期之間創建的所有交易記錄。 但我只想過濾掉vendorBill。

我曾嘗試以下

String[] type = new String[1]; 
type[0]=RecordType._vendorBill; 
tranSearchBasic.setType(type); 

但它返回null。

Web服務的主機地址:https://webservices.na1.netsuite.com/wsdl/v2012_2_0/netsuite.wsdl

任何直接的幫助表示讚賞

+0

我已經通過使用instanceof解決了它。 for(Record record:billResult.getRecordList()){if(record of instanceof VendorBill){VendorBill bill =(VendorBill)record; }}還有其他解決方案 – Mukesh

回答

2
$typeSearchField = new SearchStringField(); 
$typeSearchField->operator = SearchStringFieldOperator::is; 
$typeSearchField->searchValue = "SalesOrder"; 

$search = new TransactionSearchBasic(); 
$search->recordType = $typeSearchField; 

$request = new SearchRequest(); 
$request->searchRecord = $search; 

$searchResponse = $service->search($request); 

這是你將如何去使用PHP進行銷售訂單。 C#的代碼應該如下所示。

TransactionSearchBasic tranSearchBasic = new TransactionSearchBasic(); 

SearchDateField searchDate = new SearchDateField(); 
searchDate.setOperator(SearchDateFieldOperator.within); 
searchDate.setSearchValue(startDate); 
searchDate.setSearchValue2(endDate); 
SearchStringField searchRecordType = new SearchStringField(); 
searchRecordType.setOperator(SearchStringFieldOperator.is); 
searchRecordType.setSearchValue("VendorBill"); 
tranSearchBasic.setDateCreated(searchDate); 
tranSearchBasic.setRecordType(searchRecordType); 

SearchResult billResult = port.search(tranSearchBasic);