Netsuite Suitescript分页

Netsuite Suitescript分页,netsuite,suitescript,Netsuite,Suitescript,我一直在尝试创建一个suitelet,它允许使用suitescript 1.0对netsuite中的项目记录集合运行已保存的搜索 分页在其他地方都很容易,但我不知道如何在NetSuite中进行分页 例如,我们有3000个项目,我试图将结果限制在每页100个 我正在努力理解如何应用起始行和最大行参数作为过滤器,以便运行搜索以返回搜索中的记录数 我见过很多脚本允许您超过1000条记录的限制,但我试图限制屏幕上显示的数量。但是我不知道该怎么做 非常感谢任何提示 function searchItems

我一直在尝试创建一个suitelet,它允许使用suitescript 1.0对netsuite中的项目记录集合运行已保存的搜索

分页在其他地方都很容易,但我不知道如何在NetSuite中进行分页

例如,我们有3000个项目,我试图将结果限制在每页100个

我正在努力理解如何应用起始行和最大行参数作为过滤器,以便运行搜索以返回搜索中的记录数

我见过很多脚本允许您超过1000条记录的限制,但我试图限制屏幕上显示的数量。但是我不知道该怎么做

非常感谢任何提示

function searchItems(request,response)
{
    var start = request.getParameter('start');
    var max = request.getParameter('max');

    if(!start)
    {
      start = 1;
    }
    if(!max)
    {
      max = 100;
    }

    var filters = [];
    filters.push(new nlobjSearchFilter('category',null,'is',currentDeptID));
    var productList = nlapiSearchRecord('item','customsearch_product_search',filters);
    if(productList)
    {
      response.write('stuff here for the items');
    }
}

你可以用两种不同的方法来处理这个问题。无论采用哪种方式,您都肯定需要按有意义且一致的方式对搜索结果进行排序,如按内部ID。请确保已在保存的搜索定义中或通过在脚本中添加搜索列对结果进行排序

您可以像现在一样继续构建搜索,然后只使用
productList
数组中的本机。您可以使用
start
end
参数作为参数适当地传递给
slice

另一种方法是使用异步API进行搜索。它看起来与此类似:

var search=nlapiLoadSearch(“项目”、“客户搜索”和“产品搜索”);
addFilter(新的nlobjSearchFilter('category',null,'is',currentDeptID));
var productList=search.runSearch().getResults(开始、结束);

有关此方法的更多参考资料,请查看标题为“搜索API”的NetSuite帮助页面和
nlobjSearch

您使用的NetSuite版本的参考页面?您为什么不使用SuiteScript 2.0?它们支持
N/search
模块内置的分页查询。