Select 个 nlobjSearchResult 的部分
Select parts of a nlobjSearchResult
我有一个超过 18,000 个的大型 nlobjSearchResultSet 对象 "results"。
每个结果都是一个客户的定价记录。一个客户可能有多个记录。
由于 18000 多条记录在管理点上进行大规模更改的成本很高,我正在迁移到父(客户)记录和子记录(项目),因此我可以将项目定价作为子列表进行更改。
作为此迁移的一部分,是否有一个简单的命令 select 只有大对象中符合特定条件(即客户 ID)的 nlapiSearchResult 对象。
这将允许我仅通过一次搜索来迁移数据,然后仅通过新记录格式的后续 create/saves。
以相关的方式,是否有一个简单的函数调用 return 给定 netsuite 记录中包含的记录数?对于 % 进度上下文。
提前致谢。
要获得记录总数,唯一的方法是进行保存搜索,进行此类搜索的理想方法是使用 nlobjSearch
下面是获取无限搜索结果和记录数的示例代码
var search = nlapiLoadSearch(null, SAVED_SEARCH_ID).runSearch();
var res = [],
currentRes;
var i = 0;
while(i % 1000 === 0){
currentRes = (search.getResults(i, i+1000) || []);
res = res.concat(currentRes );
i = i + currentRes.length;
}
res.length
或 i
会给出记录总数,res
会给出所有结果。
您实际上可以通过 运行 添加聚合列的搜索来获取行数。对没有任何聚合列的已保存搜索执行此操作的通用方法如下所示:
var res = nlapiSearchRecord('salesorder', 'customsearch29', null,
[new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('1')]);
var rowCount = res[0].getValue('formulanumeric', null, 'sum');
console.log(rowCount);
我有一个超过 18,000 个的大型 nlobjSearchResultSet 对象 "results"。
每个结果都是一个客户的定价记录。一个客户可能有多个记录。
由于 18000 多条记录在管理点上进行大规模更改的成本很高,我正在迁移到父(客户)记录和子记录(项目),因此我可以将项目定价作为子列表进行更改。
作为此迁移的一部分,是否有一个简单的命令 select 只有大对象中符合特定条件(即客户 ID)的 nlapiSearchResult 对象。
这将允许我仅通过一次搜索来迁移数据,然后仅通过新记录格式的后续 create/saves。
以相关的方式,是否有一个简单的函数调用 return 给定 netsuite 记录中包含的记录数?对于 % 进度上下文。
提前致谢。
要获得记录总数,唯一的方法是进行保存搜索,进行此类搜索的理想方法是使用 nlobjSearch
下面是获取无限搜索结果和记录数的示例代码
var search = nlapiLoadSearch(null, SAVED_SEARCH_ID).runSearch();
var res = [],
currentRes;
var i = 0;
while(i % 1000 === 0){
currentRes = (search.getResults(i, i+1000) || []);
res = res.concat(currentRes );
i = i + currentRes.length;
}
res.length
或 i
会给出记录总数,res
会给出所有结果。
您实际上可以通过 运行 添加聚合列的搜索来获取行数。对没有任何聚合列的已保存搜索执行此操作的通用方法如下所示:
var res = nlapiSearchRecord('salesorder', 'customsearch29', null,
[new nlobjSearchColumn('formulanumeric', null, 'sum').setFormula('1')]);
var rowCount = res[0].getValue('formulanumeric', null, 'sum');
console.log(rowCount);