gpt4 book ai didi

javascript - 如何在 Netsuite 'N/search Module' 中使用 for 循环获取第一组千条记录和下一组千条记录

转载 作者:行者123 更新时间:2023-11-30 08:30:33 24 4
gpt4 key购买 nike

我想处理从 Search Results 获得的搜索结果中的第一组千条记录,然后处理下一组千条记录。

我正在使用 suitescript 2.0 版本“N/search”模块的方法 (getRange(0,1000)) 中提供的方法获取第一组千条记录。

代码:

var mySearch = search.load({
id: 'customsearch_employee'
});
var searchResult = mySearch.run().getRange(0, 100);
for (var i = 0; i < searchResult.length; i++) {
var entity = searchResult[i].getValue({
name: 'entity'
});
});

我想知道如何使用 for 循环处理下一组千条记录。提前致谢

最佳答案

SuiteScript 2.0 为您提供了分页 API。我会先解释一下,然后再举个例子。

在您创建搜索对象 mySearch 之后,您可以调用 runPaged() 来运行分页搜索,而不是调用 run(),它有一个可选的 pageSize 参数,允许您指定每页有多少结果。默认值为 50

runPaged 返回一个 PagedData 对象,该对象在其 pageRanges 属性中包含结果页面列表。实际上,您通过在页面上调用 fetch 来检索每个页面上的结果。

此示例直接取自 N/search 的帮助页面,但我添加了一些解释性注释。

/**
*@NApiVersion 2.x
*/
require(['N/search'], function(search) {
function loadAndRunSearch() {
// Load your search into memory
var mySearch = search.load({
id: 'customsearch_my_so_search'
});

// Run paged version of search with 1000 results per page
var myPagedData = mySearch.runPaged({
"pageSize": 1000
});

// Iterate over each page
myPagedData.pageRanges.forEach(function(pageRange){

// Fetch the results on the current page
var myPage = myPagedData.fetch({index: pageRange.index});

// Iterate over the list of results on the current page
myPage.data.forEach(function(result){

// Process the individual result
var entity = result.getValue({
name: 'entity'
});
var subsidiary = result.getValue({
name: 'subsidiary'
});
});
});
}
loadAndRunSearch();
});

关于javascript - 如何在 Netsuite 'N/search Module' 中使用 for 循环获取第一组千条记录和下一组千条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38650644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com