SuiteScript 2.0 - 多个过滤器的逻辑运算符
SuiteScript 2.0 - Logical operator for multiple filter
我的 Netsuite 帐户上有一个交易的保存搜索,这个保存的搜索在 Netsuite UI 上有一些过滤条件。
使用 SuiteScript 2.0,我正在加载此搜索并复制在 Netsuite UI 上定义的所有过滤器(比如默认过滤器),然后将 "trandate" 的过滤器应用为 filterExpression,然后将默认过滤器推送到 savedsearch过滤器集合。
但发生的事情是,netsuite 只考虑 "trandate" 过滤器,而不考虑 Netsuite 上定义的过滤器。
我假设在两个过滤器之间以某种方式应用 "OR" 逻辑运算符。
在另一个查询中讨论了相同的问题:
请指导我解决这个问题。
谢谢
您可以执行以下操作来添加 searchFilters 或 FilterExpressions
加载搜索
var savedSearch = search.load({ id: SEARCH_ID });
将自定义过滤器推送到 savedSearch
对象中,如下所示:
// for searchFilter
savedSearch.filters.push(search.createSearchFilters(SEARCH_FILTER_OBJECT);
// for filter expression
var filterExpressions = savedSearch.filterExpressions;
filterExpressions.push('and', [FIELDID, SEARCH_OPERATOR, VALUES]);
savedSearch.filterExpressions = filterExpressions;
至于在 filterExpressions 中使用公式,如果您使用 formulanumeric
作为 fieldName,您的运算符应该是 equalto
而不是 is
而如果您使用 formulatext
作为fieldName 您可以根据 NetSuite's Search Operators
使用 is
运算符
我的 Netsuite 帐户上有一个交易的保存搜索,这个保存的搜索在 Netsuite UI 上有一些过滤条件。
使用 SuiteScript 2.0,我正在加载此搜索并复制在 Netsuite UI 上定义的所有过滤器(比如默认过滤器),然后将 "trandate" 的过滤器应用为 filterExpression,然后将默认过滤器推送到 savedsearch过滤器集合。
但发生的事情是,netsuite 只考虑 "trandate" 过滤器,而不考虑 Netsuite 上定义的过滤器。
我假设在两个过滤器之间以某种方式应用 "OR" 逻辑运算符。
在另一个查询中讨论了相同的问题:
请指导我解决这个问题。
谢谢
您可以执行以下操作来添加 searchFilters 或 FilterExpressions
加载搜索
var savedSearch = search.load({ id: SEARCH_ID });
将自定义过滤器推送到
savedSearch
对象中,如下所示:// for searchFilter savedSearch.filters.push(search.createSearchFilters(SEARCH_FILTER_OBJECT); // for filter expression var filterExpressions = savedSearch.filterExpressions; filterExpressions.push('and', [FIELDID, SEARCH_OPERATOR, VALUES]); savedSearch.filterExpressions = filterExpressions;
至于在 filterExpressions 中使用公式,如果您使用 formulanumeric
作为 fieldName,您的运算符应该是 equalto
而不是 is
而如果您使用 formulatext
作为fieldName 您可以根据 NetSuite's Search Operators
is
运算符