来自Web商店的SalesOrder的Ne​​tsuite 2.0 Serch筛选器

时间:2019-04-27 16:10:40

标签: netsuite

尝试从SCA(高级Suite Commerce)获得的销售订单中获取代码。

var type = searchModule.Type.SALES_ORDER;
    var columns = [];
    var filters = [];
    columns = _.concat(columns, [
        searchModule.createColumn({
            name: 'internalid'
        }),
        searchModule.createColumn({
            name: 'tranid'
        })
    ]);

    filters = _.concat(filters, [
        searchModule.createFilter({
            name: 'status',
            operator: searchModule.Operator.IS,
            values: 'SalesOrd:A'
        }),
        searchModule.createFilter({
            name: 'mainline',
            operator: searchModule.Operator.IS,
            values: 'T'
        }),
        searchModule.createFilter({
            name: 'type',
            operator: searchModule.Operator.ANYOF,
            values: 'SalesOrd'
        }),
        searchModule.createFilter({
            name: 'source',
            operator: searchModule.Operator.STARTSWITH,
            values: 'Web'
        })
    ]);

    var mySearchObj = {type: type, filters: filters, columns: columns};
    // uncomment for test use
    /*
    log.debug({title: 'type', details: type});
    log.debug({title: 'columns', details: columns});
    log.debug({title: 'filters', details: filters});
    */
    var searchItems = searchModule.create(mySearchObj).run().getRange({start: 0, end: 999});
    ordersList = [];

无效的过滤器

        searchModule.createFilter({
            name: 'source',
            operator: searchModule.Operator.STARTSWITH,
            values: 'Web'
        })

它有任何方法可以完成这项工作,我也尝试了CONTAINS,同样的问题也无法解决。发射和SC例外。

2 个答案:

答案 0 :(得分:1)

source过滤器的字段类型为Select,这意味着您不能在其上使用文本运算符。您只能使用ANYOFNONEOF这两个运算符。您将要查找Source的SCA值的内部ID,并将其用作您的Filter值。

我不确定可以在哪里找到该ID,但是您可以通过加载在Source字段中设置了适当值的销售订单并使用getValue()来查看该ID,来找到它。

答案 1 :(得分:1)

您应该使用ANYOF作为运算符,而不是STARTSWITH

        searchModule.createFilter({
            name: 'source',
            operator: searchModule.Operator.ANYOF,
            values: ['WebStore Name']
        })

这是工作保存的搜索的摘录,其中源字段用作过滤器。

{  
      "name":"source",
      "join":null,
      "operator":"anyof",
      "values":[  
         "NLWebStore"
      ],
      "formula":null,
      "summarytype":null,
      "isor":false,
      "isnot":false,
      "leftparens":0,
      "rightparens":0
   }