Hi all, I have a restlet that needs to export a sa...
# suitescript
l
Hi all, I have a restlet that needs to export a saved search that has results over the 4000 results limit for a script, what are my options for retrieving all of the results?
r
s
implement a paging mechanism or walk though all the pages yourself and return the result
r
For massive result sizes, I'm a fan of the saved search task.
h
You may try this:
Copy code
var getAllResults = function(s) {
                var results = s.run();
                var searchResults = [];
                var searchid = 0;
                do {
                        var resultslice = results.getRange({start: searchid, end: searchid + 1000});
                        resultslice.forEach(function (slice) {
                                    searchResults.push(slice);
                                    searchid++;
                            }
                        );
                } while (resultslice.length >= 1000);
                return searchResults;
        }
Usage:
Copy code
var searchtran = search.create({type:'invoice'});
var search_result = getAllResults(searchtran);
f
use runpaged like this:
Copy code
var searchResultSet = orderListSearch.runPaged({pageSize: 1000})
				if(searchResultSet){
					runSearchFlag = true
				}
			

				for( var y=0; y < (searchResultSet.pageRanges.length > 2 ? 2:searchResultSet.pageRanges.length); y++ )
Then fetch the result using fetch() like this:
Copy code
var result = searchResultSet.fetch(y);