Просмотр ролей и прав доступа пользователя в 1С 8.3
Содержание
Быстрее всего список прав открывается в режиме Предприятие: Администрирование → Настройки пользователей и прав → Пользователи, затем в карточке сотрудника — команда «Права доступа
». Отчёт покажет группы доступа, профили и итоговый набор того, что человеку разрешено.
Если нужно увидеть, что именно разрешает конкретная роль — по каким объектам и с какими ограничениями на строки, — это уже Конфигуратор, ветка Общие → Роли. А чтобы проверить роль прямо из кода или правила обмена, есть функция РольДоступна().
Важная оговорка под типовые базы на БСП — Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11. Роли пользователю здесь напрямую не назначают: они лежат внутри профилей групп доступа. Поэтому искать их нужно не там, где привыкли администраторы старых баз, и ниже разберём все способы по порядку.
Как роли связаны с правами в типовых конфигурациях
Роль — это именованный набор прав на объекты метаданных: справочники, документы, отчёты, регистры. Для каждого объекта роль разрешает или запрещает отдельные действия — чтение, добавление, изменение, удаление, проведение и так далее.
Один пользователь может иметь несколько ролей одновременно. Права при этом складываются: человек получает действие, если его разрешает хотя бы одна из назначенных ролей. Запретить право «поверх» другой роли нельзя — работает только объединение.
В типовых конфигурациях на библиотеке стандартных подсистем между пользователем и ролью есть два промежуточных звена:
- 👤 Профиль групп доступа — набор ролей под конкретную должность (например, «Бухгалтер», «Кассир», «Только просмотр»).
- 🗂️ Группа доступа — связывает профиль с конкретными пользователями, иногда с дополнительным ограничением по организациям или складам.
То есть пользователь входит в группу доступа, группа ссылается на профиль, а профиль уже содержит роли. Напрямую флажки ролей администратору трогать не нужно — платформа расставляет их сама по профилям.
Исключение — роль «Полные права»: её наличие фактически снимает все ограничения, поэтому её смотрят в первую очередь, когда разбираются, почему пользователь видит лишнее.
Просмотр прав пользователя в режиме Предприятие
Это основной способ для администратора типовой базы — не нужен Конфигуратор и монопольный доступ.
- Откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Найдите сотрудника в списке и откройте его карточку двойным щелчком.
- Нажмите команду «Права доступа» (в зависимости от релиза — кнопка на форме или пункт в меню «Ещё»).
Откроется форма, где видно, в какие группы доступа входит пользователь и какие профили за ними стоят. Именно профили определяют его роли.
Чтобы посмотреть сами роли внутри профиля:
- Зайдите в
Администрирование → Настройки пользователей и прав → Профили групп доступа. - Откройте нужный профиль.
- Перейдите на закладку с разрешёнными действиями — там перечислены все роли, входящие в профиль, с флажками.
Если профиль типовой и помечен как поставляемый, менять состав ролей в нём нельзя — сделайте копию профиля и правьте копию. Так настройки не слетят при обновлении конфигурации.
Пример из практики. Бухгалтер жалуется, что не видит банковские выписки. Открываем карточку, команду «Права доступа» — у человека один профиль «Расчёты с контрагентами». Открываем этот профиль в списке профилей и на закладке с действиями видим, что роли на работу с банком в нём нет. Вывод однозначный: дело не в документах и не в настройках учёта, а в профиле — нужно либо добавить сотрудника во вторую группу доступа с банковским профилем, либо расширить его профиль-копию. Весь разбор занимает два экрана и не требует Конфигуратора.
Что показывает отчёт «Права доступа»
Отчёт, который открывается из карточки пользователя командой «Права доступа», удобен, когда нужно не настроить, а быстро проверить и, например, переслать результат коллеге.
В нём обычно видно:
- список групп доступа пользователя и связанных профилей;
- роли, которые дают эти профили;
- дополнительные ограничения — по организациям, складам, видам документов, если они заданы в группе доступа.
Такой отчёт отвечает на самый частый вопрос поддержки: «почему пользователь не видит документ». Если нужного профиля в списке нет — значит, и прав на этот участок у человека нет, искать ошибку в самих документах не нужно.
Для разового сравнения нескольких сотрудников удобнее открывать отчёт поочерёдно по каждому и сопоставлять профили: совпадает ли набор у того, у кого всё работает, и у того, у кого прав не хватает.
Роли в Конфигураторе: редактор роли и список пользователей
Конфигуратор нужен, когда интересует не «кому назначено», а «что именно разрешает роль». Просмотр структуры роли базу монопольно не захватывает — блокировка требуется только при сохранении изменений конфигурации, а не при чтении.
Где смотреть состав роли:
- Откройте базу в Конфигураторе.
- В дереве конфигурации раскройте ветку
Общие → Роли. - Дважды щёлкните нужную роль — откроется редактор.
В редакторе две основные части:
- Таблица прав — слева объекты метаданных, справа флажки действий (Чтение, Добавление, Изменение, Удаление, Проведение, Просмотр, Редактирование и прочие в зависимости от типа объекта).
- Ограничение доступа к данным (RLS) — текстовые условия, которые сужают доступ до отдельных строк: например, только по своей организации. Если у роли заданы такие ограничения, формального флажка «Чтение» мало — строки всё равно отфильтруются.
Чтобы увидеть, какие роли назначены пользователю на уровне информационной базы:
- В Конфигураторе откройте
Администрирование → Пользователи. - Откройте карточку пользователя, перейдите на закладку «Прочие».
- Там список ролей конфигурации с флажками — отмеченные и есть роли этого пользователя.
В типовых базах на БСП снимать и ставить эти флажки вручную не нужно — платформа синхронизирует их с профилями из режима Предприятие. Ручная правка приведёт к тому, что при следующем входе пользователя роли перезапишутся, а в худшем случае доступ рассогласуется. Настраивайте через профили, а закладку «Прочие» используйте только для просмотра.
Сравнение способов: где смотреть
| Что нужно узнать | Где смотреть | Нужен Конфигуратор |
|---|---|---|
| Какие профили и группы у пользователя | Предприятие → карточка → «Права доступа» | Нет |
| Какие роли входят в профиль | Предприятие → Профили групп доступа | Нет |
| Что именно разрешает роль по объектам | Конфигуратор → ветка Роли | Да |
| Ограничения на строки (RLS) у роли | Конфигуратор → редактор роли | Да |
| Проверить роль из кода или правила | Функция РольДоступна() | Нет |
Общие → Роли, откройте редактор роли и изучите таблицу прав и ограничения RLS.РольДоступна() или ПравоДоступа(), без ручного просмотра форм.Проверка роли встроенным языком
Когда роль нужно проверить программно — в обработке, в правиле обмена, в коде формы, — формы не открывают. Для текущего пользователя достаточно одной функции:
// Доступна ли роль текущему пользователю
Если РольДоступна("ПолныеПрава") Тогда
Сообщить("У пользователя есть полные права");
КонецЕсли;
// Проверить конкретное право на объект метаданных
Если ПравоДоступа("Изменение", Метаданные.Справочники.Контрагенты) Тогда
Сообщить("Можно менять контрагентов");
КонецЕсли;
РольДоступна() принимает имя роли строкой и возвращает булево. ПравоДоступа() проверяет отдельное действие на конкретный объект метаданных — это надёжнее, когда прав может быть несколько источников.
Чтобы вывести все роли другого пользователя, перебирают коллекцию ролей конфигурации и проверяют каждую. Код выполняется на сервере:
Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени("Иванов");
Если Пользователь <> Неопределено Тогда
Для Каждого РольМетаданных Из Метаданные.Роли Цикл
Если Пользователь.Роли.Содержит(РольМетаданных) Тогда
Сообщить(РольМетаданных.Имя);
КонецЕсли;
КонецЦикла;
Иначе
Сообщить("Пользователь не найден");
КонецЕсли;
Запустить такой фрагмент удобно в типовой обработке «Консоль кода» (её ещё называют консолью скриптов). Классическая консоль запросов здесь не поможет: она выполняет язык запросов к таблицам, а роли и пользователи информационной базы — это метаданные и объекты платформы, а не таблица, к которой можно обратиться запросом.
Для разбора прав на уровне данных (какие строки видит роль с RLS) консоль запросов как раз пригодится: вы выполняете запрос от имени проверяемого пользователя и смотрите, что он возвращает. Но перечень ролей всё равно берётся кодом.
Почему прав оказалось больше или меньше, чем нужно
Самая частая жалоба — «дали профиль, а пользователь либо видит лишнее, либо чего-то не хватает». Разбор сводится к нескольким проверкам.
Права видны, хотя профиль узкий. Проверьте, не входит ли пользователь во вторую группу доступа с более широким профилем. Права складываются, поэтому достаточно одной «забытой» группы, чтобы доступ расширился. Отдельно проверьте, нет ли у него профиля с ролью «Полные права» — она перекрывает все ограничения.
Профиль назначен, а доступа нет. Чаще всего дело в ограничениях группы доступа: профиль даёт роль, но группа сужает её по организации, складу или виду документов, и нужные данные под фильтр не попали. Смотрите не только профиль, но и значения ограничений в самой группе доступа.
Данные не видны при формально выданном чтении. Это RLS: роль разрешает чтение объекта, но условие ограничения доступа к данным отсекает строки. Типичный случай — ограничение по организации: пользователь видит список документов, но только по тем организациям, которые разрешены в его группе доступа. Проверьте значения в группе: если организация не добавлена, документы по ней не появятся, хотя право на чтение формально есть. Такое поведение видно только в Конфигураторе в редакторе роли или по результату запроса от имени пользователя.
После обновления права изменились. Если роли в поставляемом профиле правили вручную, обновление конфигурации вернёт штатный состав. Решение — работать через копию профиля, а не через типовой.
Порядок разбора: сначала собрать все группы и профили пользователя в режиме Предприятие, затем, если расхождение осталось, открыть состав подозрительной роли в Конфигураторе и проверить ограничения.
Частые ошибки при настройке и просмотре ролей
Эти ошибки приводят не к неверному просмотру, а к тому, что настройки позже слетают или ведут себя непредсказуемо.
- ❌ Ставят флажки ролей в Конфигураторе на закладке «Прочие». В базах на БСП их перезапишет синхронизация с профилями. Назначать нужно через группы доступа.
- ❌ Правят поставляемый профиль. При обновлении состав ролей вернётся к типовому. Делайте копию профиля.
- ❌ Путают профиль и роль. Профиль — это набор ролей под должность; одна роль живёт в метаданных и разрешает конкретные действия. Пользователю назначают профиль, а не роль напрямую.
- ❌ Ищут «запрет» права. Запрещающих ролей нет: если право где-то разрешено, убрать его можно только исключив роль-источник, а не добавив «ограничивающую» роль сверху.
- ❌ Проверяют доступ под администратором. У пользователя с полными правами видно всё, и проблему воспроизвести нельзя. Проверяйте под учётной записью самого сотрудника или через отчёт «Права доступа».
Частые вопросы
Можно ли посмотреть роли без Конфигуратора?
Где в 1С хранятся сами роли?
Общие → Роли. Их список и состав прав определяются на этапе разработки, в режиме Предприятие изменить набор прав роли нельзя — только собрать роли в профиль.Почему у пользователя права шире, чем в его профиле?
Чем профиль групп доступа отличается от роли?
Как проверить роль в коде обработки?
РольДоступна("ИмяРоли"), для конкретного действия на объект — ПравоДоступа(). Для другого пользователя перебирают Метаданные.Роли и проверяют Пользователь.Роли.Содержит().