Контроль значений параметров

Кратко дадим пояснение, для чего нужны Процедуры контроля.
Первый важный вопрос: Как в реальном режиме поступления данных определить качество параметров, они хорошие или плохие, удовлетворяют ли они вашим критериям?
Второй не менее важный вопрос: Как не пропустить и зафиксировать, те значения параметров, которые вас очень интересуют?
Ответы на эти два вопроса дает механизм платформы SEM NEXT, который называется Процедуры контроля. Эти сущности позволяют описать условия проверки значений параметров и при выполнении условий присвоить параметру статус и сформировать событие. И, если пользователь оформит подписку на события, то фактически, по каналам уведомлений (почта, мессенджеры) пользователь получает информацию о поведении контролируемого параметра, а на дашбордах статусы параметров показывают их состояние.

Процедуры контроля являются самостоятельными сущностями, они не связаны с типовой конфигурацией и назначаются на модельные параметры. Процедуры контроля находятся в разделе меню Конфигурации.

Порядок настройки Процедуры контроля следующий:
1. Создать Процедуру контроля.
2. Создать Условия проверки параметра.

Условий для проверки параметра в одной Процедуре может быть сколь угодно много. Для каждого Условия нужно задать логическое условие, интервал в сутках, когда следует выполнять проверку условий, присвоить статус и назначить событие, которое должно создаваться при возникновении такого условия.
Все Условия имеют порядковый номер, поэтому при назначении Процедуры параметру, все значения, поступающие от этого параметра проходят проверку условиям согласно порядковым номерам от 1 и выше.

Описание сущности Условие проверки параметра

Имя Описание Тип
ключ Идентификатор процедуры int4
condition Логическое выражение для контроля значения параметра varchar
interval Интервал применимости условия (в формате «чч:мм-чч:мм») varchar
stateid Идентификатор состояния, в которое должен перейти параметр при выполнении условия int4
ключ Идентификатор события, инициируемого при выполнении условия int4
tolerance Интервал времени (в минутах) непрерывного выполнения условия, чтобы было инициировано событие int4
corder Порядковый номер условия в рамках одной процедуры int4

Правило задания Условия пояснены на примере, на рисунке ниже:

Пояснения!
1. Параметр обозначается символом V.
2. При задании условий, используются только логические выражения.
3. Если необходимо задать условие интервал, следует использовать символ &&

В графическом интерфейсе пользователя указанные выражения показываются и записываются в стандартной инфиксной записи. Состав разрешенных операций и их приоритеты приведены в следующей таблице:

Прт. Операция Разрешена
Обозначение Описание
0 '('Открывающая скобка +
1 ')'Закрывающая скобка +
2 Логическое ИЛИ +
3 '&'Логическое И +
4 '!'Логическое НЕ +
5 '=' '!=' '<' '⇐' '>' '>='Сравнение (равно, не равно, меньше, меньше или равно, больше, больше или равно +
6 '+' '-' Сложение и вычитание +
7 '*' ' /'Умножение и деление +

Для статуса параметра используется справочник состояний. Справочник состояний задает название статуса и его цвет представления. Справочник недоступен для редактирования и ведется разработчиками SEM NEXT. В текущей версии можно использовать следующие значения справочника:

Название Цвет представления Комментарии
*** 0 Статус не задан
норм success Нормальное значение параметра
откл warning Значение параметра отклонилось от нормального
критич error Критическое значение параметра

После того, как определены все необходимые процедуры контроля, их можно назначить модельным параметрам типовой конфигурации. Для этого необходимо в типовой конфигурации в ссылках выбрать измеряемые или вычисляемые параметры, выбрать нужный параметр и задать в соответствующее поле имя процедуры контроля. Пример см. на рисунке ниже: