Рекомендации по применению валидации
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > AddError, AddInformation, AddWarning – валидация Рекомендации по применению валидации |
Валидацию рекомендуется добавлять:
Как правило, чаще всего сотрудники совершают ошибки при заполнении данных в системе. Чтобы сотрудник смог заранее исправить введенное значение, не отрываясь от контекста, рекомендуется применить валидацию на момент ввода данных. Применяйте: •строгую валидацию, если формат вводимых данных регламентирован. Например, в карточке контрагента можно добавить проверку длины ИНН на соответствие нормам законодательства:
В результате при вводе некорректного ИНН появляется сообщение: •строгую валидацию, если вводимое значение логически является невозможным или неправильным. Например, можно добавить проверку на ввод отрицательной суммы входящего счета: •нестрогую валидацию, если вводимые данные дублируют существующие сущности. Например, при вводе номера входящего письма, даты и контрагента можно проверить, существует ли уже такой документ в системе: |
При сохранении карточки сущности выполняются базовые проверки целостности данных. Например, в первую очередь система проверяет, заполнены ли обязательные поля. При сохранении рекомендуется добавлять валидацию на то, что сохраняемую карточку сущности в дальнейшем можно использовать. Например, проверить, сколько раз используется этап согласования в одной ветке правила. Если этап используется более одного раза, то уведомить об этом сотрудника: Пример. Проверка на то, сколько раз используется этап согласования
|
Перед выполнением действий необходимо проверять: •заполнено ли поле в карточке сущности или в диалоговом окне, которое используется совместно с действием. При этом поле может быть необязательным для заполнения. Например, не заполнен комментарий перед отправкой документа на доработку: •присутствуют ли связанные данные. Например, если документ отправлен на согласование, то сотрудники не смогут сменить тип документа. А если документ не был подписан, то при формирования листа согласования сотруднику отображается сообщение вида: Действие в карточке сущности можно сделать недоступным с помощью события CanExecute. Но часто недоступность действия не дает пользователю понимания, что нужно сделать для его выполнения. В этом случае действие рекомендуется оставить доступным, но при его выполнении применять валидацию. Например, если документ зарегистрирован, то при нажатии на кнопку Сменить тип в его карточке отображать сообщение о необходимости отмены регистрации документа: Пример. Проверка на то, можно ли сменить тип документа
В диалоговых окнах при нажатии на кнопку может выполняться сложная бизнес-логика. В этом случае рекомендуется не закрывать его и сразу отображать возникающие ошибки. Таким образом, сотрудник не потеряет контекст и введенные данные. Например, в базовом решении Directum RX при отправке документа контрагенту в диалоговом окне проверяется, заполнены ли все обязательные поля, и выводится соответствующее сообщение: Пример. Объявление обязательных для заполнения полей диалога
|
Если по работе с карточкой записи справочника, документа или другой сущности есть особенности, следует уведомлять сотрудника об этом в момент открытия карточки записи. Например, в базовом решении Directum RX, если карточка этапа согласования уже используется в правилах, то при ее открытии поля будут недоступны для редактирования. Система сообщит об этом: |
© Компания Directum, 2024 |