Синтаксис, основанный на SQL-запросах

<< Click to Display Table of Contents >>

Navigation:  Проект в MasterSCADA 4D > Работа с сообщениями > Формирование JSON-строки для фильтрации сообщений >

Синтаксис, основанный на SQL-запросах

Особенности синтаксиса:

•Логические операторы: and, or

•Оператор :> для строк выполняет проверку вхождения: определяет, является ли значение левого операнда (например, полное имя объекта) подстрокой правого операнда. Для ItemId и ObjectId проверяет, относится ли сообщение к узлу или его потомкам (как проверка принадлежности узлу).

•Строки: в одинарных '...' или двойных кавычках с экранированием \"...\"

•Поиск подстроки: Contains

Ограничения синтаксиса:

•не поддерживаются имена полей на кириллице и других UTF-8 символах;

•нельзя проверить принадлежность сообщения к подобъекту экземпляра объекта.

Пример фильтра:

[ "Active=TRUE", "Severity <= 100 or Severity >= 900"], где Severity - приоритет, Active - активность. В этом случае будут выбраны только активные сообщения, у которых приоритет меньше или равен 100 или больше или равен 900.

Фильтрация по строковым параметрам

Если параметр сообщения имеет строковый тип, то значение параметра указывается либо в одинарных кавычках ('...'), либо в двойных кавычках с экранированием (\"...\").

Примеры фильтров со строковыми параметрами:

•["EventFullObjectName = 'Объекты.Объект 1'"], где EventFullObjectName - полное имя объекта;

•["EventSourceName = \"Тревога 1\""], где EventSourceName - источник сообщений.

Поиск подстроки в строковом параметре

Для выполнения запроса поиска подстроки в строке используется оператор Contains.

Пример фильтра с оператором Contains:

["Message Contains 'Вкл'"], где Message - сообщение. При таких настройках фильтра будут отображаться все сообщения, в которых содержится подстрока "Вкл".

 

Смотрите также: