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