Предисловие
Наверное всем программистам 1С известно что просмотр прав доступа ролей стандартными средствами конфигуратора 1С оставляет желать лучшего. Особенно это стало заметно в последних конфигурациях, основанных на БСП, где ролей может быть очень много и для того чтобы узнать, например, какие роли дают доступ к интересующему нас объекту метаданных приходится прокручивать много строк, что долго и утомительно. Поэтому я однажды решил написать отчет, который будет выводить это быстро и в удобной форме.
Как пользоваться отчетом
Открываем его в режиме Предприятие нужной нам базы. Выбираем что мы хотим посмотреть:
- Права доступа для определенной роли (ролей)
- Права доступа на определенный объект(объекты) метаданных.
В 1 случае отмечаем флажками одну или несколько ролей и кнопкой устанавливаем все флажки у объектов метаданных. Во 2 случае отмечаем флажками один или несколько объектов метаданных и кнопкой устанавливаем все флажки у ролей. Возможна комбинация этих случаев.
Для удобного выбора ролей предусмотрена возможность отбора ролей по строке, ролям пользователя или ролям, выбранным в профиле групп доступа (для конфигураций с БСП).
При установленном отборе строк кнопка "Установить флажки" устанавливает флажки только у отобранных строк, так можно быстро отметить все найденные строки.
Метаданные также можно отбирать по строке
После предварительной настройки нажимаем кнопку "Сформировать" и смотрим результат в удобной краткой форме. Значок "+" у группировочных строк означает, что хотя бы у одной подчиненной строки есть доступ, отсутствие знака "+" означает что ни у одной подчиненной строки нет доступа.
Можно развернуть доступ до видов доступа.
Также отчет может использоваться для сравнения прав доступа ролей конфигурации между собой. Такая ситуация может быть если например одна роль была создана копированием другой и изменена. Тогда нужно выбрать интересующие нас роли, отметить все объекты метаданных и установить флажок "Выводить только те объекты метаданных, доступ к которым у выбранных ролей отличается". В этом случае отчет покажет только отличающиеся права доступа, одинаковые не будут выведены.
Отчет определяет наличие ограничений доступа к данным. При наличии ограничений доступа к данным наличие доступа выводится знак "#", при отсутствии ограничений доступа к данным и наличии доступа выводится знак "+". За счет этого можно легко определить, в каких ролях для данного объекта метаданных есть RLS, а в каких нет.
Тестовое окружение
Отчет тестировался на платформе 8.3.10.2580, конфигурации БП 3.0.57.17. Отчет не использует общие модули, поэтому может работать в любой конфигурации.
Ограничения использования
- Отчет показывает права доступа конфигурации базы данных. Если в основной конфигурации были изменения, отчет этого не покажет, пока не будет обновлена конфигурация базы данных.
- Отчет определяет наличие ограничений доступа к данным (RLS), но не выводит и не сравнивает их.
- Отчет работает под управляемыми формами. Как правило в типовых конфигурациях на обычных формах ролей не так много и типовых средств вполне достаточно.
v 1.2.1 от 12.01.2019
Проведена оптимизация алгоритмов, за счет чего ускорено формирование отчета. Особенно это заметно при большом количестве выбранных ролей и объектов метаданных.
v 1.3.0 от 12.12.2020
Большой пакет доработок для повышения удобства работы и расширения возможностей.
Отбор по видам прав
Добавлена таблица для отбора по видам прав. Таблица автоматически подстраивается под отмеченные флажками объекты метаданных: отображаются только те виды прав, которые используются у отмеченных объектов метаданных. Теперь можно сразу увидеть например у каких ролей есть права на изменение какого-нибудь документа.
Расшифровка роли
В таблице отображения результата теперь возможна расшифровка роли по двойному щелчку.
При выборе пункта меню "Доступ к объектам метаданных в роли" открывается новое окно отчета, где сразу же формируется отчет по этой роли и всем объектам метаданных.
При выборе пункта меню "Использование роли в профилях и группах доступа" (доступен только для конфигураций с БСП) открывается новое окно отчета где отображаются все профили групп доступа, в которых есть эта роль, и все группы доступа, связанные с этими профилями. Профили и группы доступа можно открыть по двойному щелчку.
Также прямо из этого окна можно добавить роль в какой-нибудь профиль групп доступа.
Остальные доработки
- Кнопки для установки/снятия флажков теперь действуют только на выделенные строки (если выделены несколько строк).
- При установке флажка "Синонимы объектов метаданных" в таблице объектов метаданных дополнительно появляется колонка Синоним.
- Добавлен отбор объектов метаданных "Регистраторы регистра". При выборе этого пункта далее выбираем регистр и в таблице отображаются только документы-регистраторы этого регистра.
- Добавлен переключатель для изменения уровня отображения группировок в таблице результата