从分页搜索中提取最后n个结果

时间:2017-08-09 02:44:32

标签: netsuite suitescript suitescript2.0

我正在尝试从SuiteScript 2.0中的分页搜索中获取最后200个结果。当我运行简单代码时,我得到了错误

  

“name”:“INVALID_PAGE_RANGE”,“message”:“无效的页面范围:fetch。”

我究竟做错了什么?

以下代码在NS调试器中运行(为简洁起见,我删除了一些代码):

function(ui, email, runtime, search, file, config, format, record, log) {

    var mySearch = search.load({
            id: 'customsearch_mht_lrf_export_to_lab'
        });

    // 200 results per page (am I correct here?)
    var results = mySearch.runPaged({pageSize:200});

    var count = results.count; // = 264

    // Obtain the last 200 results. From the documentation; 
    // index is 'The index of the page range that bounds the desired data.'
    // Error occurs on the next line
    var data = results.fetch({index: results.count});

    var x = 0;

});

1 个答案:

答案 0 :(得分:2)

(我已经在Slack小组上回答了这个问题,但我会在这里复制我的答案,以防某人有一天有这个问题并且发过帖子)。

您传递给index的{​​{1}}参数是您想要的数据“页面”的索引。在上面的示例中,如果您有264个结果且页面大小为200,则会有2页结果。结果1 - 199将在第一页上(索引= 0),在第二页上为200 - 264。

为了获得最后200个结果,您将始终需要检索最后2个页面(除非结果计数是200的精确倍数),然后只查看最终的200个结果。