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

  1. 加载搜索

    var savedSearch = search.load({ id: SEARCH_ID });

  2. 将自定义过滤器推送到 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 运算符