Netsuite 2.0 Serch фильтр для SalesOrders, которые из интернет-магазина - PullRequest
0 голосов
/ 27 апреля 2019

Попытка получить заказ на продажу от 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 также и та же проблема не работает.запуск и СЦ исключений.

Ответы [ 2 ]

1 голос
/ 28 апреля 2019

Вы должны использовать 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 голос
/ 27 апреля 2019

Фильтр source имеет тип поля Select, что означает, что вы не можете использовать текстовые операторы на нем.Вы можете использовать только операторы ANYOF и NONEOF.Вы захотите найти внутренний идентификатор значения SCA для источника и использовать его вместо значения фильтра.

Я не уверен, где можно найти этот идентификатор, но вы можете найти его, загрузив заказ на продажусоответствующее значение установлено в его поле «Источник» и используется getValue(), чтобы увидеть, что это за значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...