我一直在尝试创建一个套件,它允许使用Suitescript1.0对netsuite中的项目记录集合运行保存的搜索
分页在其他地方都很容易,但是我不知道如何在NetSuite中做分页。
例如,我们有3,000个条目,我尝试将结果限制在每页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');
}
}发布于 2017-04-18 21:26:46
你可以用几种不同的方法来解决这个问题。无论采用哪种方式,你都肯定需要按有意义且一致的方式对搜索结果进行排序,例如按内部ID排序。确保已在保存的搜索定义中或通过在脚本中添加搜索列来对结果进行排序。
您可以继续原样构建搜索,然后只使用productList阵列上的本机slice method。您可以使用start和end参数将参数作为参数适当地传递给slice。
另一种方法是使用异步API进行搜索。它看起来像这样:
var search = nlapiLoadSearch("item", "customsearch_product_search");
search.addFilter(new nlobjSearchFilter('category',null,'is',currentDeptID));
var productList = search.runSearch().getResults(start, end);有关此方法的更多参考,请查看标题为"Search API“的NetSuite帮助页面和nlobjSearch的参考页面。
https://stackoverflow.com/questions/43466503
复制相似问题