如何读取超过1000条记录从cets中的netsuite搜索结果返回? [英] How to read more than 1000 records return from netsuite search results in c#?

查看:153
本文介绍了如何读取超过1000条记录从cets中的netsuite搜索结果返回?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法读取所有记录。它只读取第一页索引记录。我想读所有页面的所有reacords。总记录是2055,但是第一1000个记录只读。 Kinldy有人尽快帮助解决这个问题。

I am not able read all records. It reading only 1st pageindex records. I want read all reacords of all pages. Totalrecords are 2055 but 1st 1000 records only reading. Kinldy someone helpme out in this issues as soon as possible.

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做的

Not sure how to do it using C# and web services but this is how I did it using 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;

这篇关于如何读取超过1000条记录从cets中的netsuite搜索结果返回?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆