Netsuite 2.0搜索来自WEB商店的销售订单的过滤器

问题描述 投票:0回答:2

尝试获取SCA(Suite commerce advanced)的销售订单是我的代码。

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 exeptions。

netsuite
2个回答
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
   }

1
投票

source过滤器的字段类型为Select,这意味着您不能在其上使用文本运算符。您可以使用的唯一运算符是ANYOFNONEOF。您需要查找Source的SCA值的内部ID,并将其用于Filter值。

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

© www.soinside.com 2019 - 2024. All rights reserved.