SetAdvancedRequestFilterAsJson

 
Применяет фильтр запроса (в формате JSON) исторических данных.
 
bool SetAdvancedRequestFilterAsJson(string StringJSON)
 

Параметры

 
Параметр
Тип
Описание
StringJSON
string
Условия фильтрации. Задаются в виде строки - объекта JSON. Правила формирования условий фильтрации описаны ниже
 

Возвращаемое значение

 
Значение
Описание
true
Фильтр запроса успешно установлен
false
Неудачный разбор выражения фильтрации, фильтр не установлен
 

Правила формирования условий фильтрации

 
Условие фильтрации представляет собой объект JSON. Объект может быть одиночным ({"ключ": "значение"}) или составным (состоящим из нескольких объектов).
 
Составной объект формируется с помощью:
логических операций:
конъюнкция - and или &)
дизъюнкция - or или |)
инверсия - not или !)
операций сравнения:
больше - >
больше либо равно - >=
меньше - <
меньше либо равно - <=
соответствует - ==
не соответствует - !=
 
В зависимости от используемой операции составной объект JSON может иметь формат:
{"and": [ARRAY]}
{"or": [ARRAY]}
{ "not": { OBJECT } }
{ "операция сравнения": { VARIABLE } }
 
Операцию сравнения == можно не указывать. В таком случае объект будет иметь формат { VARIABLE }.
 
Формат
Описание
VARIABLE
Переменная. Имеет структуру: <имя переменной>: <значение переменной>
OBJECT
Переменная или составной объект JSON любого из указанных выше форматов
ARRAY
Массив. Может состоять из переменных и составных объектов JSON (любого формата) в различных комбинациях
 

Примеры

 
//Запросить события с: важностью (столбец severity) больше 10, сообщением (столбец message), содержащим текст "поставлен" или с именем источника (столбец source), не соответствующим "TU_212". Записать результат выполнения функции в текстовое поле.
Filter: string = "{ \"AND\": [ { \">\": { \"severity\": 10 } }, { \"OR\": [ { \"message\": \"*поставлен*\" }, { \"NOT\": { \"source\": \"TU_212\" } } ] } ] }";
Result : bool = Alarms_.SetAdvancedRequestFilterAsJson(Filter);
TextEdit_1.Text = String.ToString(Result);