You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetSuite Suitelet脚本:如何用forEachResult()处理超4000行结果集

使用forEachResult()处理NetSuite超过4000行的结果集

原代码中each()方法存在4000行的返回限制,要突破这个限制,需结合runPaged()和forEachResult()实现分页遍历所有结果,具体代码如下:

var resultNumber = 0;
// 以分页方式运行查询,可自定义每页行数(最大支持1000行)
var pagedData = studentRecordsObj.runPaged({pageSize: 1000});

// 遍历所有分页
pagedData.pageRanges.forEach(function(pageRange) {
    var page = pagedData.fetch({index: pageRange.index});
    
    // 用forEachResult()处理当前页的所有结果
    page.data.forEachResult(function(result) {
        log.debug("processing row #", ++resultNumber);
        sponsorshipNumberField.addSelectOption({
            value: result.id,
            text: result.getValue({name: 'custrecord12'}) + ' ' + result.getValue({name: 'custrecord_name'}),
        });
        // forEachResult()无需返回true,会自动遍历当前页全部行
    });
});

关键说明:

  • runPaged()将查询结果拆分为多个分页,默认每页1000行,可通过pageSize参数调整
  • 通过pageRanges获取所有分页索引,再用fetch()获取对应页的具体数据
  • forEachResult()无4000行限制,会处理当前页内所有结果,无需像each()那样返回true维持遍历

内容的提问来源于stack exchange,提问作者Norberto Locsin Jr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:04:52