|
<< 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 - сообщение. При таких настройках фильтра будут отображаться все сообщения, в которых содержится подстрока "Вкл".
Смотрите также: