Администрирование · 8 мин
Как в 1С посмотреть, у каких пользователей есть роль
Как в 1С найти всех пользователей с нужной ролью: через конфигуратор, консоль запросов, обработку и код. Способы для типовых и самописных конфигураций.
Задача найти, у каких пользователей назначена конкретная роль, возникает при аудите прав доступа, расследовании инцидентов с данными и подготовке к сокращению избыточных полномочий. В 1С нет единой кнопки «показать всех с этой ролью», но есть несколько рабочих способов: через конфигуратор, встроенные отчёты типовых конфигураций, консоль запросов и программный код.
Выбор способа зависит от того, есть ли у вас доступ к конфигуратору, какая конфигурация используется (типовая на БСП или самописная) и насколько часто нужно выполнять такую проверку. Ниже разобраны все основные варианты с пошаговыми действиями и ограничениями каждого.
Что нужно знать перед поиском: роли и профили доступа
В современных конфигурациях на базе Библиотеки стандартных подсистем (БСП) роли обычно не назначаются пользователям напрямую. Вместо этого работают профили групп доступа: администратор создаёт профиль, включает в него набор ролей, а пользователей добавляет в группы доступа с этим профилем. Поэтому поиск «кто имеет роль» часто превращается в поиск «в какие группы доступа входит пользователь и какие роли в профиле».
В файловых базах без БСП и в простых самописных конфигурациях роли могут назначаться напрямую в списке пользователей конфигуратора. Это важно учитывать: способ проверки через конфигуратор покажет только напрямую назначенные роли, но не покажет права, полученные через профили доступа в режиме предприятия.
Способ 1: через конфигуратор
Конфигуратор подходит, когда у вас есть административный доступ к базе и нужно быстро проверить, кому роль назначена напрямую в списке пользователей информационной базы.
Пошаговый порядок действий
- 1Откройте конфигуратор и перейдите в меню «Администрирование» → «Пользователи»
- 2Откройте карточку пользователя и на вкладке «Прочие» (или «Роли» в старых версиях) посмотрите список назначенных ролей
- 3Чтобы найти роль в дереве метаданных, откройте «Общие» → «Роли» и найдите нужную поиском (Ctrl+F по имени)
- 4Для массовой проверки отсортируйте список пользователей и просматривайте роли каждого — или используйте программный способ, если пользователей много
Ограничение способа очевидно: при десятках и сотнях пользователей ручной перебор карточек непрактичен. Кроме того, конфигуратор не показывает роли, которые «подтягиваются» через профили доступа в типовых конфигурациях.
Способ 2: отчёт «Права доступа» в типовых конфигурациях
В конфигурациях на БСП есть штатный механизм анализа прав. Обычно он доступен в разделе «Администрирование» → «Настройки пользователей и прав» → отчёт «Права доступа» (в некоторых версиях — через справочник «Профили групп доступа»).
Отчёт позволяет выбрать пользователя и увидеть все его права, включая полученные через группы доступа, либо наоборот — выбрать объект метаданных или роль и получить список пользователей, имеющих к ней доступ. Это самый корректный способ для типовых решений, потому что он учитывает реальную механику назначения прав.
Если отчёт недоступен из интерфейса, проверьте, что у вашей учётной записи есть права администратора, и что в настройках включено использование групп доступа («Администрирование» → «Настройки пользователей и прав» → флажок «Группы доступа»).
Способ 3: программный поиск через код
Универсальный вариант для любых конфигураций — перебрать пользователей информационной базы встроенными средствами языка и проверить у каждого наличие роли. Метод РольДоступна() у объекта «ПользовательИнформационнойБазы» работает как в файловых, так и в клиент-серверных базах.
Для Каждого Пользователь Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
Если Пользователь.Роли.Содержит(Метаданные.Роли.ПолныеПрава) Тогда
Сообщить(Пользователь.Имя + " — есть роль");
КонецЕсли;
КонецЦикла;Код можно выполнить через внешнюю обработку, консоль кода (например, из состава инструментов разработчика) или фоновое задание. Для проверки нескольких ролей добавьте условия по каждой роли из метаданных.
Важный нюанс: метод проверяет роли, назначенные пользователю информационной базы напрямую. Если права выдаются через профили групп доступа БСП, такие роли в объекте пользователя ИБ могут не отображаться — для полной картины комбинируйте этот способ с анализом справочников «ПрофилиГруппДоступа» и «ГруппыДоступа».
Способ 4: запрос к профилям групп доступа
Для конфигураций на БСП логичнее искать через запрос: найти профили, в табличной части «Роли» которых есть нужная роль, а затем — пользователей групп доступа с этими профилями.
ВЫБРАТЬ РАЗЛИЧНЫЕ
ГруппыДоступаПользователи.Пользователь КАК Пользователь
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.Роли КАК ПрофилиРоли
ПО ГруппыДоступаПользователи.Ссылка.Профиль = ПрофилиРоли.Ссылка
ГДЕ
ПрофилиРоли.Роль = &РольЗапрос выполняется в консоли запросов (в типовых конфигурациях часто доступна через «Все функции» → стандартные обработки, либо устанавливается отдельно). Перед выполнением уточните точное имя идентификатора роли в справочнике «ИдентификаторыОбъектовМетаданных» — именно на него ссылается табличная часть профиля.
Сравнение способов: что выбрать в вашей ситуации
Сравнение способов поиска
Подходит для разовой проверки в простых конфигурациях. Не показывает права через профили БСП, медленно при большом числе пользователей.
Оптимален для типовых конфигураций на БСП, учитывает группы доступа. Требует прав администратора в режиме предприятия.
Универсален, работает везде, легко автоматизируется. Требует навыков работы с кодом и не видит профили БСП.
Самый точный для БСП-конфигураций. Требует консоли запросов и понимания структуры справочников доступа.
Типичные ошибки и риски
Отдельно предупредим о безопасности: любые изменения ролей и профилей выполняйте только после создания резервной копии базы и желательно в нерабочее время. Снятие роли «Полные права» у единственного администратора может полностью заблокировать администрирование базы.
Как проверить результат
Контрольные точки
Список согласуется с должностными обязанностями сотрудников
Роль есть у уволенных или непрофильных сотрудников
Под учётной записью пользователя доступны только нужные разделы
Пользователь видит лишние разделы или, наоборот, не может выполнить свои операции
Фоновые задания и обмены работают под учётками с минимально необходимыми ролями
Обмены работают под учётной записью с полными правами
Что важно запомнить
В типовых конфигурациях ищите пользователей с ролью через отчёт «Права доступа» или запрос к профилям групп доступа, в простых — через конфигуратор или программный перебор. Перед любыми изменениям прав делайте резервную копию и фиксируйте исходное состояние.
Частые вопросы
Можно ли посмотреть пользователей с ролью без доступа к конфигуратору?
Да, если конфигурация на БСП и у вас есть права администратора в режиме предприятия: используйте отчёт «Права доступа» или справочник «Профили групп доступа». Без прав администратора эта информация недоступна — и это осознанное ограничение безопасности.
Почему роль есть в конфигураторе, но пользователь не видит нужный раздел?
В конфигурациях на БСП фактический доступ определяется профилями групп доступа, а не только ролями в конфигураторе. Проверьте, входит ли пользователь в нужную группу доступа и не заблокирована ли его учётная запись.
Как найти пользователей с полными правами?
Программным перебором с проверкой роли «ПолныеПрава» (код приведён выше) или через отчёт «Права доступа», выбрав эту роль. Регулярно проверяйте этот список — полные права должны быть только у администраторов.
Работает ли поиск в клиент-серверной базе?
Да, все описанные способы работают и в файловом, и в клиент-серверном варианте. Программный код и запросы выполняются на сервере, разницы в результате нет.
Как выгрузить список пользователей с ролями в Excel?
Проще всего выполнить запрос в консоли запросов и сохранить результат табличного документа в файл Excel. Либо доработать программный перебор, выводя результат в табличный документ с последующим сохранением.