我无法读取所有记录。它只读取第一页索引记录。我想阅读所有页面的所有记录。总记录数为 2055,但仅读取第 1000 条记录。希望有人尽快帮我解决这个问题。
TransactionSearchAdvanced ticketSearch = new TransactionSearchAdvanced();
ticketSearch.savedSearchId = "287";
SearchResult results = new SearchResult();
results = _service.search(ticketSearch);
// If everything was okay, start processing records
if (results.status.isSuccess)
{
foreach (SearchResult sr in searchMoreResults)
{
//System.Console.WriteLine("Results found.");
foreach (SearchRow searchRow in results.searchRowList)
{
TransactionSearchRow SaleTicket = (TransactionSearchRow)searchRow;
if (SaleTicket.basic != null)
{
if (SaleTicket.basic.tranId != null)
{
SearchColumnStringField[] scsf = SaleTicket.basic.tranId;
variables.salesOrderNumber = scsf[0].searchValue;
SearchColumnSelectField[] Field = SaleTicket.basic.entity;
RecordRef rr = Field[0].searchValue;
if (!string.IsNullOrEmpty(rr.internalId))
{
variables.customerNsInternalID = rr.internalId;
}
variables.customerIdIntergerPart = Convert.ToInt32(variables.salesOrderNumber.Substring((variables.salesOrderNumber.IndexOf("-") + 1)));
InsertSalesOrderRecords(variables);
}
}
}
}
}
不知道如何使用 C# 和 Web 服务来完成此操作,但这就是我使用 SuiteScript 完成的方法
var savedSearch = nlapiLoadSearch(recordType, searchId);
var resultset = savedSearch.runSearch();
var returnSearchResults = [];
var searchid = 0;
do {
var resultslice = resultset.getResults(searchid, searchid + 1000);
for ( var rs in resultslice) {
returnSearchResults.push(resultslice[rs]);
searchid++;
}
} while (resultslice.length >= 1000);
return returnSearchResults;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)