0

我想从 Netsuite 中检索 vendorBills。

这是我的代码

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);

上面的代码返回指定日期之间创建的所有交易记录。但我只想过滤掉 vendorBill。

我试过以下

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

但它返回null。

webservice主机地址:https://webservices.na1.netsuite.com/wsdl/v2012_2_0/netsuite.wsdl

任何即时帮助表示赞赏

4

1 回答 1

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);
于 2013-01-03T19:14:20.543 回答