Валидаторы (или блокировки) — инструмент, позволяющий осуществлять проверку по заданному условию при выполнении определённого действия над элементом системы и в зависимости от результата проверки разрешить данное действие или заблокировать его.
Есть два типа валидаторов:
Валидаторы концептуально состоят из двух частей:
Важно! Различие состояний в формулах условия
В условии срабатывания и в условии блокировки используется разное состояние текущего элемента:
Например, если у замечания сменили статус с «Не начато» на «Выполняется»: при проверке условия срабатывания статус будет «Выполняется», а при проверке условия блокировки статус будет «Не начато». Такой подход позволяет накладывать формулы проверки как на состояние «До», так и на состояние «После».

Атрибут | Описание |
Название | Произвольное название валидатора (рекомендуется давать смысловые названия, отражающие суть проверки). |
Тип | «Блокировка изменения (формула)» или «Блокировка удаления (формула)». Это определяется при создании валидатора, в дальнейшем не изменяется. |
Условие срабатывания (формула) | Формула, возвращающая true (проверять блокировку) или false (не проверять). Использует состояние атрибутов после изменения. |
Условие блокировки (формула) | Основная формула валидатора. true — разрешить действие, false — заблокировать. Использует состояние атрибутов до изменения. |
Сообщение пользователю о блокировке | Текст, который будет показан пользователю при блокировке действия. |


Пример 2. Задача: При ручном заполнении Текущего процента выполнения проекта на папке комплекта блокировать ввод, если сумма заполненных процентов на всех комплектах проекта больше 100
![Vitro-CAD MP - Документация > Валидаторы > 1_image [2zI3XQ].png](/download/attachments/23659503/1_image%20%5B2zI3XQ%5D.png?version=1&modificationDate=1781095319511&api=v2)
Если в условии блокировки или в сообщении о блокировке ссылается на связанный элемент, то начиная с версии 25.1 в сообщении валидатора, которое видит пользователь, отображается ссылка на связанный элемент. При переходе по ссылке:
Ранее переход осуществлялся без подсветки строки и открытия карточки, что затрудняло идентификацию конкретного элемента в списке. (VITROCAD-5929)
В сценариях, когда процесс запускается автоматически (через правило Автоматизации, а не пользователем вручную), работа валидаторов имеет следующие особенности:
Предупреждение
При автоматическом запуске процесса валидаторы, в формулах которых используются функции работы со связями (Refs), могут отрабатывать некорректно. В таких случаях блокировка может не сработать даже при нарушении заданного условия.
Это поведение фиксировалось в версиях до 25.1 и было исправлено в версии 25.1 (VITROCAD-5674). Тем не менее, при разработке сложных сценариев с автозапуском процессов рекомендуется проводить дополнительное тестирование взаимодействия валидаторов и автоматизации.
Валидаторы и Автоматизация работают совместно, обеспечивая полный цикл управления жизненным циклом элементов системы:Чаще всего валидаторы нужны для блокировки действий пользователя, тогда как автоматизация - это про автоматические действия самой системы. Не очень понятно, какая здесь связь. Ниже и описаны роли и взаимосвязи в жизненном цикле. Действия это не только пользовательские действия, но и автоматические
При отладке правил рекомендуется проверять оба инструмента в комплексе, так как конфликт между ними может приводить к неочевидному поведению системы.