2012-12-21 16 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);