在Netsuite中添加动态过滤器表达式或在脚本2.0中添加

时间:2019-02-01 05:40:25

标签: netsuite suitescript suitescript2.0

我想将具有OR条件的过滤器动态添加到脚本2.0中的搜索对象。

2 个答案:

答案 0 :(得分:4)

您可以使用过滤器表达式添加and/or运算符。 按照NetSuite

  

使用过滤器表达式作为创建过滤器(search.Filter)的快捷方式。

例如搜索过滤器,如

search.createFilter({
  name: 'transactionnumber',
  operator: 'is',
  values: 'ABC'
});

可以替换为

[['transactionnumber', 'is', 'ABC'], 'or', ['transactionnumber', 'is', 'XYZ']]

实质上,搜索过滤器是数组或与运算符连接在一起的数组。

答案 1 :(得分:0)

有同样的问题。这对我有用:

var soLines = salesOrder.lineItems;
var filteredIDs = [];

for (var i = 0; i < soLines.length; i++) {
    filteredIDs.push(['customid', 'is', soLines[i].customID])
    filteredIDs.push('OR');
}
filteredIDs.pop();

var mySearch = search.create({
    type: search.Type.SALES_ORDER
    join: 'item',
    columns: [
        "internalid",
        "item.itemid",
        "customid"
    ],
    filters: [filteredIDs]
});

诀窍是在创建搜索之前创建过滤器。然后,您可以将过滤后的列表分配为过滤器