Какие права у сотрудника в базе: проверяем роли в 1С 8.3
Содержание
Роли пользователя в 1С 8.3 смотрят в двух местах. В Конфигураторе: Администрирование → Пользователи, карточка пользователя, вкладка «Прочие» — там галочками отмечены все роли. В режиме Предприятия типовых конфигураций (БП 3.0, ЗУП 3.1, УТ 11) роли видны через группы доступа: Администрирование → Настройки пользователей и прав → Пользователи, карточка, кнопка «Права доступа
».
Типичная ситуация: бухгалтер звонит и говорит, что у него «пропал» отчёт или не проводится документ. Администратор открывает базу, чтобы понять, каких прав не хватает. Ниже — все способы проверки, от самого простого до программного, и то, где их результаты расходятся.
Почему у ролей в 1С две точки зрения
Роль — это объект конфигурации. В ней разработчик описал, что можно делать с каждым справочником, документом, отчётом: читать, добавлять, изменять, проводить. У пользователя информационной базы есть список ролей, и его права — это сумма всех отмеченных ролей.
В типовых конфигурациях на Библиотеке стандартных подсистем (БСП) роли напрямую никто не раздаёт. Цепочка такая:
- 👤 пользователь входит в одну или несколько групп доступа;
- 🗂 у каждой группы есть профиль;
- 🔑 в профиле перечислены роли;
- ⚙️ программа сама проставляет пользователю роли из всех его профилей.
Отсюда практический вывод. Конфигуратор показывает итог — какие роли у пользователя есть прямо сейчас. Режим Предприятия показывает причину — из-за какой группы и какого профиля роль появилась. Для разбора жалобы нужны обе картины.
Если в списке пользователей базы нет ни одной записи, 1С пускает в базу без пароля с полными правами. Проверку ролей начинайте с того, что список пользователей вообще заполнен.
Как посмотреть роли пользователя в режиме Предприятия
Это основной способ для БП 3.0, ЗУП 3.1, УТ 11 и других конфигураций на БСП. Нужны права администратора в самой базе.
Шаг 1. Откройте список пользователей
Раздел верхнего уровня в разных конфигурациях называется по-разному, дальше путь одинаковый:
| Конфигурация | Путь к списку пользователей |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Настройки пользователей и прав → Пользователи |
| ЗУП 3.1 | Администрирование → Настройки пользователей и прав → Пользователи |
| Управление торговлей 11, ERP | НСИ и администрирование → Настройки пользователей и прав → Пользователи |
Шаг 2. Посмотрите группы доступа сотрудника
- Откройте карточку нужного пользователя двойным щелчком.
- Нажмите в верхней части карточки «Права доступа».
- Откроется список групп доступа. Отмеченные галочкой — те, в которые входит сотрудник.
В БП 3.0 группы обычно называются по должностям: «Бухгалтер», «Главный бухгалтер», «Администраторы». Если сотрудник входит в «Администраторы», дальше можно не смотреть: у него полные права.
Шаг 3. Раскройте профиль и его роли
- Перейдите в
Настройки пользователей и прав → Профили групп доступа. - Откройте профиль, который назначен группе сотрудника.
- На вкладке с разрешёнными действиями (ролями) отмечены роли этого профиля.
Чтобы посмотреть с обратной стороны — кто входит в группу, — откройте Настройки пользователей и прав → Группы доступа, затем нужную группу, вкладку «Участники». Там могут быть и отдельные пользователи, и целые группы пользователей. Сотрудник, входящий в группу пользователей, получает права так же, как если бы его добавили лично.
Роли — не единственное ограничение. В группе доступа можно настроить ограничения на уровне записей: например, видеть документы только своей организации или своего склада. Роль у сотрудника есть, а нужный документ он не видит — смотрите вкладку ограничений в группе доступа.
Если сотрудник не может даже войти
Когда жалоба звучит как «не пускает в базу», роли смотреть рано. Сначала проверьте в карточке пользователя флажок «Вход в программу разрешён». Если он снят, у человека нет учётной записи в информационной базе: элемент справочника есть, а войти под ним нельзя.
Второй вариант — флажок стоит, но сотрудник не входит ни в одну группу доступа. Тогда ролей у него нет, и платформа откажет во входе. В списке «Права доступа» в этом случае не будет ни одной галочки.
Третий — сотрудника вывели из списка выбора при входе. Он не видит своё имя в окне авторизации и решает, что его удалили. Проверьте на вкладке «Основные» в Конфигураторе флажок «Показывать в списке выбора».
Роли пользователя в Конфигураторе
Конфигуратор показывает фактический список ролей, которые записаны у пользователя на уровне платформы. Способ работает в любой конфигурации, включая самописные.
- Запустите базу в режиме «Конфигуратор» под пользователем с правом администрирования.
- Выберите в меню
Администрирование → Пользователи. - Откройте нужного пользователя.
- Перейдите на вкладку «Прочие».
- В списке «Доступные роли» галочками отмечены роли пользователя.
На этой же вкладке видны основной интерфейс и язык. На вкладке «Основные» — способ входа: аутентификация 1С, аутентификация операционной системы, флажок «Показывать в списке выбора».
Чтобы понять, что даёт конкретная роль, откройте её в дереве конфигурации: ветка Общие → Роли, двойной щелчок по роли. Слева — объекты конфигурации, справа — права на выбранный объект («Чтение», «Добавление», «Изменение», «Проведение» и другие).
В конфигурациях на БСП не правьте роли в Конфигураторе вручную. Программа пересчитывает роли из профилей групп доступа. При следующем изменении групп или при обновлении ваши галочки будут перезаписаны. Конфигуратор здесь — инструмент просмотра, а меняют права в режиме Предприятия.
Отчёт «Анализ прав доступа»
Смотреть роли по одной неудобно, если нужно ответить на вопрос «кто может изменять документы реализации» или «что вообще разрешено этому сотруднику». Для этого в БСП есть отчёт «Анализ прав доступа».
Откройте его из раздела Настройки пользователей и прав: ссылка на отчёт находится в группе отчётов этой панели. Расположение ссылки зависит от версии БСП в вашей конфигурации.
Что умеет отчёт:
- 📋 показать права одного пользователя по всем объектам: таблицы, которые он может читать или изменять;
- 🔍 показать, у кого есть доступ к конкретной таблице — например, к документу «Начисление зарплаты»;
- 🧩 объяснить источник права: через какую группу доступа и какой профиль оно пришло;
- 🔒 показать, есть ли ограничение на уровне записей.
В отчёте есть отбор по пользователю и по таблице. Для разбора жалобы удобнее фильтр по пользователю. Для аудита безопасности — по таблице: сразу видно, у кого лишний доступ к зарплатным данным.
Отчёт строится по данным групп доступа, а не по ролям из Конфигуратора. Если кто-то вручную добавил роль в Конфигураторе, в отчёте этого может не быть. При расхождении сверяйте с вкладкой «Прочие» в Конфигураторе.
Что покажет консоль администрирования серверов 1С
Консоль администрирования серверов нужна в клиент-серверном варианте. Частое ожидание — что там можно посмотреть права пользователя . Нельзя: ролей в консоли нет.
Роли хранятся внутри информационной базы. Консоль работает с кластером, и в ней видно другое:
| Что видно в консоли | Где |
|---|---|
| Кто сейчас работает в базе | Информационная база → «Сеансы» |
| Каким приложением подключён (тонкий клиент, Конфигуратор, фоновое задание) | Колонка с приложением в списке сеансов |
| Администраторы кластера | Кластер → «Администраторы» |
| Параметры информационной базы и блокировка сеансов | Свойства информационной базы |
Администратор кластера и администратор информационной базы — разные учётные записи. Первый управляет сервером, второй — пользователями и ролями внутри базы. Права в консоли не дают права в базе, и наоборот.
Польза консоли для проверки ролей косвенная. Она показывает, под каким именем пользователь реально вошёл. Бывает, что сотрудник жалуется на нехватку прав, а работает под чужой учётной записью или общим логином.
Не завершайте сеанс сотрудника из консоли без предупреждения: несохранённые данные пропадут. Делайте это после согласования, когда пользователь закрыл документы.
Программная проверка ролей: код и запрос
Когда пользователей десятки, проще выгрузить роли списком. Есть два подхода: через объекты платформы и через справочники БСП.
Роли всех пользователей через платформу
Код для внешней обработки. Выполняется на сервере, нужны права администратора. Выводит в сообщения пользователя и его роли:
&НаСервере
Процедура ВывестиРолиНаСервере()
Для Каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
СписокРолей = "";
Для Каждого Роль Из ПользовательИБ.Роли Цикл
СписокРолей = СписокРолей + Роль.Имя + "; ";
КонецЦикла;
Сообщить(ПользовательИБ.Имя + ": " + СписокРолей);
КонецЦикла;
КонецПроцедуры
Проверить одну конкретную роль у пользователя:
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("Иванова");
Если ПользовательИБ <> Неопределено Тогда
ЕстьПолныеПрава = ПользовательИБ.Роли.Содержит(Метаданные.Роли.ПолныеПрава);
Сообщить("Полные права: " + ЕстьПолныеПрава);
КонецЕсли;
Для текущего пользователя есть короткая функция РольДоступна("ПолныеПрава"). Её используют в коде конфигурации, чтобы показывать или скрывать команды.
Кто в базе имеет конкретную роль
Обратная задача — найти всех, у кого есть роль, например «ПолныеПрава». Конфигуратор такого списка не строит: придётся открывать карточки по одной. Код решает это за секунды:
&НаСервере
Процедура НайтиВладельцевРолиНаСервере()
ИскомаяРоль = Метаданные.Роли.ПолныеПрава;
Для Каждого ПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
Если ПользовательИБ.Роли.Содержит(ИскомаяРоль) Тогда
Сообщить(ПользовательИБ.Имя);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Вместо ПолныеПрава подставьте имя нужной роли из ветки Общие → Роли. Имя берите именно из свойства «Имя» роли, а не из синонима: синоним «Полные права» с пробелом код не найдёт.
Результат удобно сохранить и сравнить через месяц. Так видно, кому права добавили без согласования.
Группы доступа пользователя запросом
В базе на БСП группы доступа — обычные справочники, их читают языком запросов. Запустите внешнюю «Консоль запросов» и выполните:
ВЫБРАТЬ
ГруппыДоступаПользователи.Ссылка КАК ГруппаДоступа,
ГруппыДоступаПользователи.Ссылка.Профиль КАК Профиль
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи
ГДЕ
ГруппыДоступаПользователи.Пользователь = &Пользователь
Параметр &Пользователь — элемент справочника «Пользователи». Запрос покажет только прямое включение. Если сотрудник входит в группу доступа через группу пользователей, в результате её не будет — проверьте ещё и группы пользователей.
Роли профиля лежат в табличной части Роли справочника ПрофилиГруппДоступа.
Таблицы СУБД (v8users и другие) для этой задачи не годятся. Роли там хранятся в упакованном служебном виде, прямой SQL-запрос их не прочитает. Править эти таблицы напрямую нельзя: можно потерять доступ к базе.
Типичные ошибки при проверке ролей
- ❌ Смотрят только Конфигуратор в базе на БСП. Роль видна, но непонятно, откуда она взялась. Через неделю её перезапишет пересчёт прав.
- ❌ Ищут проблему в ролях, когда дело в ограничении записей. Роль на документ есть, а документы чужой организации или склада скрыты настройками группы доступа.
- ❌ Путают пользователя 1С и пользователя Windows. При аутентификации операционной системы в карточке указан домен и имя; сотрудник может входить автоматически под другой записью.
- ❌ Проверяют под своей учётной записью. Администратор видит всё. Чтобы увидеть базу глазами сотрудника, создайте тестового пользователя с той же группой доступа и войдите под ним.
- ❌ Забывают про внешних пользователей. В конфигурациях с внешними пользователями (контрагенты, партнёры) их права настраиваются отдельно, в своих группах доступа.
- ❌ Меняют права, пока сотрудник в базе. Новые права начинают действовать после перезахода пользователя.