Нередко у заказчика возникают вопросы, связанные с правами доступа того или иного пользователя к определенным данным или объектам. Для проверки доступа к данным удобно использовать типовой регистр "Права ролей", но в нём содержится информация о правах доступа к объектам метаданных, для которых может быть установлено право Чтение. Если же нужно проверить доступ к объектам без данных, как правило - отчеты и обработки, через конфигуратор приходится просматривать Все роли. В больших конфигурациях с обилием изменений и доработок, особенно при разграничении доступа пользователей к различному функционалу, такой поиск отнимает ценное время, а также отвлекает от текущей работы: обычно у кого-то из пользователей что-то не работает и требуется немедленно решить проблему. В таких условия администраторы бывает принимают "жёсткое решение" - дать "Полные права"...
Расширение ПраваРолей отчасти устраняет описанное неудобство:
- позволяет дополнить справочник "Идентификаторы объектов метаданных" теми элементами, для которых может быть установлено право Просмотр (без Чтение). Это ОбщиеРеквизиты, КритерииОтбора, ОбщиеКоманды, ОбщиеФормы;
- позволяет заполнить регистр сведений "Права ролей" данными о правах на Просмотр объектов Подсистемы, ОбщиеРеквизиты, КритерииОтбора, ОбщиеКоманды, ОбщиеФормы, Отчеты, Обработки.
Когда в регистре есть вся информация для разбора ситуации может оказаться достаточно воспользоваться отборами динамического списка, а в "сложном случае" поможет простой запрос с соединением двух таблиц.
В расширении дополнен только код методов модулей менеджера справочника ИдентификаторыОбъектовМетаданных и регистра сведений ПраваРолей. Структура хранения данных не меняется. При удалении расширения элементы справочника и записи регистра останутся, но при очередном обновлении данных будут удалены.
После подключения расширения нужно выключить Безопасный режим. Справочник "Идентификаторы объектов метаданных" заполнится при запуске в режиме Предприятие, если вдруг этого не произойдет можно вызвать метод
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника()
Регистр сведений "Права ролей" можно обновить вызвав метод
РегистрыСведений.ПраваРолей.ОбновитьДанныеРегистра()
Т.к. публикация рассчитана на администраторов и разработчиков, предполагается, что здесь не возникнет затруднений.
После обновления данных регистра в форме списка для новых записей отображается флажок Чтение (хотя для этих объектов Чтения нет и быть не может). В регистре нет ресурса ПравоЧтения, это только отображение на форме для любой записи.
Для использования расширения пользователь должен правомерно владеть основной поставкой конфигурации с БСП 3.1.9, подробнее Ответы на типовые вопросы по лицензированию «1С:Предприятия 8» п.72
Ограничение ответственности.
Материалы этой публикации предоставляются "как есть". Вы можете пользоваться ими, вносить изменения.
Автор не гарантирует, что результаты использования будут соответствовать Вашим ожиданиям.
Ответственности за прямой или косвенный ущерб, за возможные недостатки предоставленных материалов, а также за результаты их использования автор не несет.
Вы используете материалы этой публикации (включая приложенные файлы) на свой риск и под свою ответственность.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.9.389