Данная подсистема является глубокой модификацией Настройка контроля заполнения справочников и документов в момент записи v.2 (настолько глубокой, что от прототипа осталась только идея).
Возможности:
1. Вывод дополнительного сообщения при ошибке записи.
2. Контроль заполнения реквизитов задач, планов обмена, планов видов характеристик.
3. Установка произвольного алгоритма на встроенном языке для расширенной проверки реквизитов. Например, может потребоваться проверка реквизита в зависимости от типа операции документа, других условий. Подробное описание применения алгоритма смотрите в справочной информации формы "ФормаРедактированияАлгоритма" регистра сведений "КонтрольЗаполненияРеквизитов".
Некоторые примеры произвольных алгоритмов содержатся в файле НастройкаКонтроляРеквизитов.zip. Содержимое распаковать, в базу залить с помощью обработки УниверсальныйОбменДаннымиXML, для просмотра регистра рекомендую обработку Универсальный просмотр списков и табличных частей.
4. Установка контроля в зависимости от режима записи документа: Запись, Проведение, ОтменаПроведения. По умолчанию контроль документов происходит при всех режимах записи: Запись, Проведение, ОтменаПроведения.
5. Экспорт/импорт правил контроля в файл формата XML.
6. Проверка синтаксиса текста алгоритма.
7. Кэширование запросов к регистру на сервере.
8. Отключение проверки для пользователей с полными правами.
9. Настройка порядка проверки реквизитов.
Внесены также другие изменения, в частности запрос на сохранение информации при случайном нажатии на кнопку "Закрыть" или клавишу Esc.
Состав:
- Подсистема КонтрольЗаполненияРеквизитов, _СервисныеМеханизмы.
- Регистр сведений КонтрольЗаполненияРеквизитов с формами установки контроля объектов, редактирования алгоритмов проверки, общих настроек.
- Подписка на событие КонтрольЗаполненияСправочников, КонтрольЗаполненияДокументов.
- Общие модули КонтрольЗаполненияРеквизитов (клиентские процедуры), КонтрольЗаполненияРеквизитовСервер (серверные процедуры).
- Роли кр_ЧтениеНастроекКонтроляРеквизитов (для пользователей), кр_ИзменениеНастроекКонтроляРеквизитов (для администратора базы).
- Константа крОбщиеНастройкиКонтроляОбъектов (для хранения общиих параметров подсистемы).
- Параметр сеанса крКэшНастроекКонтроляОбъектов (для временного хранения результатов запросов).
- Интерфейс "КР: Контроль реквизитов" (для доступа к объектам подсистемы)
- Обработка Матрица ролей пользователей (расширенная) для 1С: Предприятия 8.1 для установки необходимых ролей пользователям.
Подсистема встраивается в любую конфигурацию для платформы 1С: Предприятие 8.1 / 8.2 (для обычного приложения) и не мешает обновлению. В общем случае изменений существующих объектов конфигурации не требуется (см. ниже).
Встраивание производится в режиме конфигуратора. Меню Конфигурация -> Сравнить, объединить с конфигурацией из файла.
ВНИМАНИЕ! Перед началом объединения не забудьте снять флажок "Свойства" основной конфигурации.
Перед началом работы с подсистемой назначить пользователям ИБ, производящим какие-либо действия по изменению данных, роль кр_ЧтениеНастроекКонтроляРеквизитов. Назначить роли пользователям можно на закладке "Установка ролей" формы регистра КонтрольЗаполненияРеквизитов или с помощью обработки Матрица ролей пользователей.
Замечания по использованию кэширования запросов.
В подсистеме не используется начальная инициализация параметров сеанса. В связи с этим, при включенной возможности кэширования, при первом обращении к кэшу в момент записи объекта возможна задержка. При необходимости внести изменения в конфигурацию. Эти действия должны производиться специалистом, которому доверяете. Подробнее смотрите справочную информацию формы общих настроек.
Достоинства
Универсальный механизм контроля заполнения реквизитов (контроль незаполненных реквизитов) шапки и табличных частей объектов конфигурации (справочников, документов, бизнес-процессов, задач, планов обмена, планов видов характеристик) в режиме предприятия (без использования конфигуратора).