Netsuite 在预定脚本中保存搜索没有结果
Netsuite Saved Search in Scheduled Script No Results
我有一个保存的搜索 (SS),当在浏览器中 运行 时它会产生结果。但是,当通过计划脚本在代码中执行时,没有任何结果。
这是一个简化的例子:
ID 为 customsearch1181 的 SS returns 在浏览器中有 10 个结果。
但是,执行下面的脚本后,结果数组为空。
我们可以假设 SS 将产生少于 4k 个结果,因此不需要 运行 分页搜索。
define(['N/search'],
(search) => {
const execute = (scriptContext) => {
const custSearch = search.load({id: 'customsearch1181'});
const results = [];
custSearch.run().each( function(result) {
results.push(result);
return true;
});
log.debug({title: 'search result count', details: results.length});
}
return {execute}
});
此脚本会记录其他 SS ID 的结果。我的一项观察是,SS 上有很多过滤器受到质疑。
有人遇到过这个问题吗?是什么导致了这种行为?
这里的 SS 是一个服务器端脚本,作为用户“system”的管理员执行。
此处用户特定的过滤器/权限可能会影响过滤器。
请分别使用手动触发器(保存和执行)和预定触发器进行测试。
希望这个假设有助于找出问题所在
我有一个保存的搜索 (SS),当在浏览器中 运行 时它会产生结果。但是,当通过计划脚本在代码中执行时,没有任何结果。
这是一个简化的例子:
ID 为 customsearch1181 的 SS returns 在浏览器中有 10 个结果。
但是,执行下面的脚本后,结果数组为空。
我们可以假设 SS 将产生少于 4k 个结果,因此不需要 运行 分页搜索。
define(['N/search'],
(search) => {
const execute = (scriptContext) => {
const custSearch = search.load({id: 'customsearch1181'});
const results = [];
custSearch.run().each( function(result) {
results.push(result);
return true;
});
log.debug({title: 'search result count', details: results.length});
}
return {execute}
});
此脚本会记录其他 SS ID 的结果。我的一项观察是,SS 上有很多过滤器受到质疑。
有人遇到过这个问题吗?是什么导致了这种行为?
这里的 SS 是一个服务器端脚本,作为用户“system”的管理员执行。
此处用户特定的过滤器/权限可能会影响过滤器。
请分别使用手动触发器(保存和执行)和预定触发器进行测试。
希望这个假设有助于找出问题所在