К статье
Практический материал

Администрирование · 10 мин

Как узнать роль пользователя в 1С: практические способы

Как узнать роль пользователя в 1С: через конфигуратор, список пользователей, запрос и код. Права, профили групп доступа, проверка результата и типичные ошибки.

Роль пользователя определяет, какие объекты конфигурации он может видеть, изменять и проводить. Узнать роль нужно при разборе ошибок «Нарушение прав доступа», при аудите прав, при передаче обязанностей новому сотруднику или при настройке ограничения доступа к документам. Способов несколько — от просмотра карточки пользователя в конфигураторе до программного запроса, и выбор зависит от режима работы базы и типа конфигурации.

Важно понимать различие: в типовых конфигурациях на базе БСП (1С:Управление торговлей, 1С:ERP, 1С:ЗУП и др.) права чаще всего назначаются не ролями напрямую, а через профили групп доступа. В простых или самописных конфигурациях роли задаются пользователю напрямую в конфигураторе. Поэтому сначала определите, как устроено назначение прав именно в вашей базе.

Как устроены роли и права в 1С

Роль — это объект метаданных конфигурации, который объединяет набор прав на объекты: чтение, добавление, изменение, удаление, проведение документов, использование отчётов и обработок. Один пользователь может иметь несколько ролей, и итоговые права складываются из всех назначенных ролей.

В конфигурациях на библиотеке стандартных подсистем поверх ролей работает механизм профилей и групп доступа. Администратор назначает пользователю профиль (например, «Менеджер по продажам»), а профиль уже содержит набор ролей. В этом случае в конфигураторе у пользователя может стоять только пара базовых ролей, а реальные права определяются данными внутри базы.

Способ 1. Посмотреть роли через конфигуратор

Это универсальный способ, работающий для любой конфигурации, но требующий права на запуск конфигуратора и административные права в базе.

Откройте конфигуратор, перейдите в меню Администрирование → Пользователи. В списке найдите нужного пользователя и откройте его карточку двойным щелчком. На вкладке «Прочие» отображается список всех ролей конфигурации с флажками — отмеченные роли назначены пользователю. Здесь же видно, какие основные интерфейс и язык ему установлены.

Если список ролей большой, используйте поиск по названию или отсортируйте по колонке с флажками. Помните: изменения в карточке пользователя вступают в силу после перезапуска сеанса пользователя.

Порядок действий в конфигураторе
  1. 1
    Запустите конфигуратор и войдите под учётной записью с правами администратора
  2. 2
    Откройте меню Администрирование → Пользователи
  3. 3
    Дважды щёлкните по нужному пользователю
  4. 4
    Перейдите на вкладку «Прочие» и посмотрите отмеченные роли
  5. 5
    При необходимости сверьте права конкретной роли через дерево конфигурации: Общие → Роли

Способ 2. Посмотреть права в режиме 1С:Предприятие

В типовых конфигурациях на БСП роли напрямую не назначают — вместо этого смотрят профили групп доступа. Откройте раздел Администрирование → Настройки прав и пользователей → Пользователи, откройте карточку сотрудника и перейдите по ссылке «Права доступа». Откроется отчёт, показывающий, в какие группы доступа входит пользователь и какие профили за этим стоят.

Там же есть удобный инструмент — отчёт по правам пользователя к конкретному объекту. В ряде конфигураций он доступен через «Администрирование → Обслуживание» или через кнопку «Отчёты» в разделе настройки прав. Он показывает, какие роли дают доступ к выбранному документу или справочнику и через какой профиль эти роли попали к пользователю.

Этот способ не требует конфигуратора и подходит администраторам, работающим только в пользовательском режиме, а также для проверки прав в облачных сервисах, где конфигуратор недоступен.

Способ 3. Узнать роли программно

Для проверки прав текущего пользователя в коде используется функция РольДоступна("ИмяРоли") — она возвращает Истина, если роль назначена текущему пользователю (или у него полные права). Для проверки прав другого пользователя или получения полного списка ролей применяют менеджер пользователей информационной базы.

bsl
// Роли текущего пользователя
Если РольДоступна("ПолныеПрава") Тогда
    Сообщить("У пользователя полные права");
КонецЕсли;

// Роли конкретного пользователя ИБ
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");
Если ПользовательИБ <> Неопределено Тогда
    Для Каждого Роль Из ПользовательИБ.Роли Цикл
        Сообщить(Роль.Имя);
    КонецЦикла;
КонецЕсли;

Учтите, что ПользователиИнформационнойБазы доступен только с правами администрирования. В типовых конфигурациях вместо прямой работы с этим объектом рекомендуется использовать функции общего модуля Пользователи — например, Пользователи.ЭтоПолноправныйПользователь().

Как понять, какая роль даёт конкретное право

Обратная задача встречается чаще: пользователь получил ошибку «Нарушение прав доступа», и нужно найти, какая роль открывает нужный объект. В конфигураторе откройте дерево конфигурации, ветку Общие → Роли, выделите корень ветки «Роли» правой кнопкой и выберите «Все роли» — откроется сводная таблица, где по каждой роли видны права на все объекты конфигурации. Найдите нужный объект и посмотрите, у каких ролей стоит отметка, например, «Добавление» или «Изменение».

В типовых конфигурациях проще воспользоваться отчётом по правам доступа в режиме предприятия: он сразу показывает связку «пользователь — профиль — роль — объект» без работы в конфигураторе.

Маршрут решения

Как выбрать способ

Нужно быстро посмотреть роли в простой или самописной конфигурацииОткройте карточку пользователя в конфигураторе, вкладка «Прочие»
Конфигурация типовая на БСП (УТ, ERP, ЗУП, БП)Смотрите права через карточку пользователя в режиме 1С:Предприятие — там видны профили групп доступа
Нужна проверка в коде или внешней обработкеИспользуйте РольДоступна() или ПользователиИнформационнойБазы.НайтиПоИмени()
Нужно найти, какая роль даёт право на конкретный объектИспользуйте отчёт «Все роли» в конфигураторе или отчёт по правам в типовой конфигурации

Частые ошибки и ограничения

Самая распространённая ошибка — оценивать права только по ролям в конфигураторе в базе на БСП. Пользователь с ролями «Базовые права» может фактически иметь доступ к половине конфигурации через профили групп доступа. Вторая ошибка — забывать, что у пользователя с ролью «Полные права» (или административными правами) ограничения RLS и профили фактически не работают.

Также учитывайте: после изменения ролей или профиля пользователь должен перезайти в базу — права применяются при старте сеанса. В файловых базах редактирование списка пользователей возможно только при монопольном доступе или при отсутствии конфликтов с активными сеансами.

Типичные ошибки
01
Смотреть роли только в конфигураторе в базе на БСП — реальные права задаются профилями групп доступа, картина будет неполной
02
Считать, что изменения применяются сразу — пользователь должен перезапустить сеанс
03
Проверять права под администратором — у полноправного пользователя ограничения не срабатывают, тестируйте под целевой учётной записью
04
Путать роль и профиль: профиль — набор ролей, назначаемый пользователю в типовых конфигурациях

Проверка результата

После просмотра или изменения прав убедитесь, что картина соответствует ожиданиям: войдите под учётной записью пользователя и откройте нужный объект. Если доступ должен быть запрещён — проверьте, что объект действительно недоступен, а не только скрыт из интерфейса (ограничение через права надёжнее настройки видимости команд).

Контрольные точки

Как проверить результат

Вход под учётной записью пользователя
Норма

Нужные разделы и документы открываются, лишние недоступны

Тревожный признак

Ошибка «Нарушение прав доступа» на нужном объекте или открыт доступ к чужим данным

Список ролей в конфигураторе
Норма

Назначены только необходимые роли, нет «Полные права» без обоснования

Тревожный признак

У рядового пользователя стоят административные или полные права

Профили в карточке пользователя (БСП)
Норма

Профиль соответствует должности сотрудника

Тревожный признак

Пользователь состоит в лишних группах доступа, оставшихся от прошлой должности

Итог

Что важно запомнить

Роли смотрят в конфигураторе (Администрирование → Пользователи → вкладка «Прочие»), а в типовых конфигурациях — через профили групп доступа в режиме предприятия. Программно используют РольДоступна() и ПользователиИнформационнойБазы. Изменённые права применяются после перезапуска сеанса, а проверять их нужно под учётной записью самого пользователя.

Частые вопросы

Как узнать свою роль, если нет доступа к конфигуратору?

Попросите администратора открыть вашу карточку в разделе «Администрирование → Пользователи» — там видны группы доступа и профили. Программно проверить наличие конкретной роли может разработчик через функцию РольДоступна("ИмяРоли") под вашим сеансом.

Почему в конфигураторе у пользователя почти нет ролей, а работать он может?

Значит, конфигурация построена на БСП и права назначены профилями групп доступа внутри базы. Реальные права смотрите в режиме 1С:Предприятие через ссылку «Права доступа» в карточке пользователя.

Чем роль отличается от профиля групп доступа?

Роль — объект метаданных конфигурации, зашитый разработчиком. Профиль — настройка внутри базы, объединяющая несколько ролей; администратор назначает пользователю именно профили, не заходя в конфигуратор.

Как узнать, у кого из пользователей есть конкретная роль?

Программно: перебрать ПользователиИнформационнойБазы.ПолучитьПользователей() и проверить Роли у каждого. В типовых конфигурациях проще открыть профиль, содержащий эту роль, и посмотреть состав групп доступа и их участников.

Изменил роль пользователя, а доступ не появился — почему?

Права применяются при старте сеанса: пользователь должен выйти из базы и войти заново. Если не помогло — проверьте, не ограничен ли доступ настройками RLS на уровне записей и тот ли это пользователь (возможны дубли учётных записей).

Можно ли посмотреть роли без прав администратора?

Полный список пользователей ИБ и их ролей доступен только с административными правами. Без них можно лишь проверять свои роли программно через РольДоступна() либо запросить информацию у администратора базы.