我正在尝试弄清楚如何更新组保存搜索的过滤器。
我从通用保存的搜索中保存过滤器:
var searchGen = search.load({
id: 'customsearch_ca_export_detail_search__38'
});
var filter = searchGen.filters;
然后我使用循环将过滤器插入搜索:
for (var i = 0; i<selectedMarkets.length; i++){
var selectedSearchId = marketplaces[selectedMarkets[i]].searchId;
var searchObj = search.load({id:selectedSearchId});
var filters = searchObj.filters;
filters = filter;
searchObj.save();
}
我所有的变量都包含正确的信息。但是将数据从通用保存的搜索推送到我想更新的搜索不起作用:
filters = filter;
有什么帮助吗?
最佳答案
尝试解构过滤器并重建它们:
for (var i in selectedMarkets){
var selectedSearchId = marketplaces[selectedMarkets[i]].searchId;
var searchObj = SEARCHMODULE.load({id:selectedSearchId});
var oldFilters = searchObj.filters;
var newFilters = [];
for (var k in oldFilters) {
var oldFilter = oldFilters[k];
var filter = {};
filter.name = oldFilter.name;
filter.operator = oldFilter.operator;
filter.values = oldFilter.values;
filter.join = oldFilter.join;
if (typeof(oldFilter.formula) !== 'undefined'){
filter.formula = oldFilter.formula;
}
newFilters.push(SEARCHMODULE.createFilter(filter));
}
searchObj.filters = newFilters;
searchObj.save();
}
注意:您需要调整代码以适用于摘要过滤器。
关于javascript - Netsuite SSv2 如何更新已保存搜索的过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40772303/