SuiteScript 2.0-多个过滤器的逻辑运算符

时间:2019-06-05 14:09:52

标签: suitescript2.0

我在Netsuite帐户上保存了交易记录的搜索,并且此保存的搜索在Netsuite UI上具有某些过滤条件。

使用SuiteScript 2.0,我正在加载此搜索并获取Netsuite UI上定义的所有过滤器的副本(例如defaultfilters),然后将“ trandate”的过滤器用作filterExpression,然后将defaultfilter推入savesearch过滤器集合中。

但是发生的是,netsuite仅考虑“转换”过滤器,而不考虑Netsuite上定义的过滤器。

我假设在两个过滤器之间应用了“ OR”逻辑运算符。

在另一个查询中讨论的相同问题: SuiteScript 2.0 search.createFilter with formula not working

请引导我解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作以添加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运算符