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