Валидаторы (или блокировки) - инструмент, позволяющий осуществлять проверку по заданному условию при осуществлении определенного действия над элементом системы и в зависимости от результатов проверки разрешить данное действие или заблокировать его.
Есть два типа валидаторов:
- Блокировка изменения (формула) - срабатывает при любом изменении атрибутов элемента.
- Блокировка удаления (формула) - срабатывает при удалении элемента.
Валидаторы концептуально состоят из двух частей:
- Условие срабатывания (формула) - формула, которая проверяет надо ли проверять условие по блокировке, возвращает true/false (истина/ложь). true - условие блокировки будет проверяться, false - условие блокировки проверяться не будет.
- Условие блокировки (формула) - основная формула валидатора, которая должна возвращать булево значение (true/false - истина/ложь).
true - условие соблюдено (блокировки нет), false - условие не соблюдено, в этом случае, текущее действие выполнено не будет и пользователю будет показано сообщение из атрибута "Сообщение пользователю о блокировке" текущего валидатора.
Важно! В условии срабатывания и в условии блокировки используется разное состояние текущего элемента. В условии срабатывания используется состояние атрибутов элемента с учетом текущего изменения, которое будет проверять валидатор.
В условии блокировки используется состояние атрибутов элемента, до текущего изменения. Например, у замечания сменили статус с "Не начато" на "Выполняется", то при проверки условия срабатывания статус у замечания будет "Выполняется", а при проверке
условия блокировки статус замечания будет "Не начато". Такой подход позволяет накладывать формулы проверки как на состояние "До", так и на состояние "После".
Порядок создания валидатора (блокировки)
- В настройках пространства "Центр администрирования" в разделе Типы элементов выбрать необходимый тип элемента, для которого необходимо настроить блокировку.
- В панели справа выбрать закладку Валидаторы и нажать Добавить (для редактирования уже существующего валидатора надо выполнить двойной клик ЛКМ на соответствующей записи).
- В появившемся выпадающем списке кнопки Добавить выбрать соответствующий тип блокировки.
- Заполнить атрибуты нового валидатора.
Примеры
При переводе замечания в статус "На доработку" будет проверяться заполнение поля "Вопрос проектировщику", если поле не заполнено, то пользователю будет показано сообщение "Заполните поле "Вопрос проектировщику", при этом статус замечания не будет изменен.


