В какие группы входит пользователь 1С и откуда у него эти права
Содержание
Быстрее всего узнать группу пользователя в 1С так: откройте Администрирование → Настройки пользователей и прав → Пользователи, дважды щёлкните по нужному сотруднику и перейдите по ссылке «Права доступа
» на панели карточки. Откроется список групп доступа, где флажками отмечены те, в которые он входит. Путь одинаковый для 1С:Бухгалтерии 3.0 и ЗУП 3.1, в УТ 11 раздел называется НСИ и администрирование.
Если нужен список по всем сотрудникам сразу, диагностика «почему не хватает прав» или проверка группы в коде обработки — для этого есть запрос к базе, функции встроенного языка и журнал регистрации. Всё это работает в любой конфигурации на Библиотеке стандартных подсистем (БСП) в 1С:Предприятии 8.3.
Две разные «группы» в 1С: что именно вы ищете
Под словом «группа» в 1С 8.3 прячутся два разных справочника. Их путают чаще всего, отсюда половина недоразумений.
| Что | Справочник | Зачем нужна | Влияет на права |
|---|---|---|---|
| Группа пользователей | ГруппыПользователей | Раскладывает людей по папкам: «Бухгалтерия», «Склад» | Только если саму группу включили в группу доступа |
| Группа доступа | ГруппыДоступа | Выдаёт права через профиль (набор ролей) | Да, напрямую |
- 📁 Группа пользователей — это организационная папка. Сама по себе прав не даёт.
- 🔑 Группа доступа — это связка «профиль + участники + ограничения». Именно она решает, что человек видит и может менять.
- 🧩 Роль — объект конфигурации. Пользователь получает роли не напрямую, а через профили групп доступа.
У самой платформы понятия «группа» нет вообще. Платформа знает только пользователя информационной базы и список его ролей. Группы — надстройка БСП, поэтому в «самописной» конфигурации без БСП ответ один: смотрите роли.
Как посмотреть группу пользователя через интерфейс
Карточка пользователя
- Откройте раздел настроек пользователей. Пути по конфигурациям:
| Конфигурация | Путь |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Настройки пользователей и прав → Пользователи |
| ЗУП 3.1 | Администрирование → Настройки пользователей и прав → Пользователи |
| Управление торговлей 11 | НСИ и администрирование → Настройки пользователей и прав → Пользователи |
- Найдите сотрудника. Строку поиска можно вызвать сочетанием
Ctrl+F. - Откройте карточку и нажмите «Права доступа» на панели навигации слева.
- Отмеченные флажки — группы, в которые он входит лично или через свою группу пользователей.
Для каждой группы справа виден профиль и его описание. Это быстрый ответ на вопрос «почему он видит зарплату».
Список групп доступа
Обратный путь — от группы к людям. В том же разделе откройте Группы доступа. В карточке группы на вкладке участников перечислены пользователи и группы пользователей. Удобно, когда нужно понять, кто вообще имеет доступ к профилю «Главный бухгалтер».
Дерево групп пользователей
Группы пользователей видны, только если в Настройках пользователей и прав включён флажок «Группы пользователей». Тогда в списке пользователей слева появляется дерево. Щёлкните по группе — справа останутся её участники. Чтобы видеть людей из вложенных групп, включите соответствующий флажок над списком.
Режим «Все функции»
Если раздела нет в меню или его урезали доработкой, используйте режим технического специалиста. Включается в параметрах программы: главное меню, раздел «Сервис» → «Параметры», флажок «Отображать команду «Все функции»». После этого в главном меню появится Все функции → Справочники → Группы доступа — справочник откроется напрямую, без форм конфигурации.
Запрос к базе: группы всех пользователей одной таблицей
Когда пользователей 50 и больше, кликать по карточкам долго. Запрос даёт полную картину за секунды. Выполнить его можно в консоли запросов (внешняя обработка) под пользователем с полными правами.
Группы доступа, куда человек включён напрямую:
ВЫБРАТЬ
ГДП.Пользователь КАК Пользователь,
ГДП.Ссылка КАК ГруппаДоступа,
ГДП.Ссылка.Профиль КАК Профиль
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГДП
ГДЕ
НЕ ГДП.Ссылка.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Пользователь
Этот запрос не покажет членство «через папку»: если в группу доступа включена группа пользователей «Бухгалтерия», в колонке окажется сама группа, а не люди. Чтобы развернуть вложенность, БСП ведёт регистр сведений
СоставыГруппПользователей. Он хранит готовые пары «группа — пользователь» с учётом иерархии.
ВЫБРАТЬ РАЗЛИЧНЫЕ
Составы.Пользователь КАК Пользователь,
ГДП.Ссылка КАК ГруппаДоступа,
ГДП.Ссылка.Профиль КАК Профиль
ИЗ
Справочник.ГруппыДоступа.Пользователи КАК ГДП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК Составы
ПО ГДП.Пользователь = Составы.ГруппаПользователей
ГДЕ
Составы.Используется
И НЕ ГДП.Ссылка.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Пользователь
Группы пользователей (папки) конкретного сотрудника:
ВЫБРАТЬ
Составы.ГруппаПользователей КАК Группа
ИЗ
РегистрСведений.СоставыГруппПользователей КАК Составы
ГДЕ
Составы.Пользователь = &Пользователь
И Составы.ГруппаПользователей ССЫЛКА Справочник.ГруппыПользователей
Состав регистра и реквизитов зависит от версии БСП. Перед запуском откройте регистр в Конфигураторе и сверьте имена измерений. Запросы только читают данные и базу не меняют.
Профили и роли: что даёт человеку его группа
Знать имя группы мало. Права определяет профиль, привязанный к группе доступа. Цепочка всегда одна:
Пользователь → Группа доступа → Профиль → Роли (+ ограничения по видам доступа)
- 📋 Профиль — список ролей. Поставляемые профили («Бухгалтер», «Главный бухгалтер», «Администратор») приходят с обновлениями.
- 🏢 Виды доступа — ограничения внутри группы: по организациям, складам, группам номенклатуры. Два человека с одинаковым профилем могут видеть разные организации, потому что сидят в разных группах.
- 👑 Группа «Администраторы» — предопределённая, с профилем «Администратор». Удалить её нельзя, а последнего администратора программа исключить не даст.
Если сотрудник входит в несколько групп, права складываются. Запретить что-то одной группой при разрешении другой нельзя: в модели прав 1С нет «запрещающих» групп.
Практический приём: чтобы понять, какая из групп даёт лишнее право, временно снимите флажок одной группы у тестового пользователя-копии, а не у живого сотрудника. Копию создают командой копирования в списке пользователей, затем права сверяют под ней.
Мини-кейс: кладовщик видит вторую организацию
Кладовщик жалуется, что в списке документов появились чужие поступления. В карточке у него две группы: «Склад» и «Продажи — все организации». Вторую ему выдали месяц назад, чтобы он печатал накладные за менеджера в отпуске. Профиль у обеих групп безобидный, но во второй группе ограничение по организациям выключено — отсюда и лишние документы.
Решение заняло две минуты: сотрудника исключили из временной группы, он перезашёл в программу. Журнал регистрации подтвердил дату, когда группу ему добавили.
Не назначайте роли пользователю в Конфигураторе вручную в конфигурации на БСП. При следующем изменении групп доступа программа пересчитает роли по профилям, и ручная правка пропадёт.
Журнал регистрации: кто включил сотрудника в группу
Когда вопрос не «в какой он группе», а «с какого дня у него эти права», поможет журнал регистрации. В БП 3.0 и ЗУП 3.1 он открывается так: Администрирование → Обслуживание → Журнал регистрации.
- Нажмите «Установить отбор».
- В поле событий выберите «Данные. Изменение».
- В метаданных отметьте справочник «Группы доступа» (и «Группы пользователей», если важны папки).
- Задайте период и сформируйте список.
В каждой записи видно, кто сохранил группу, когда и с какого компьютера. Сам состав «до» и «после» журнал по умолчанию не хранит, только факт изменения объекта.
Изменения ролей самого пользователя информационной базы фиксируются отдельным событием «Пользователи. Изменение». Его удобно смотреть, если права меняли из Конфигуратора в обход групп.
Журнал хранится ограниченный срок, который задают в его настройках в Конфигураторе. Если запись удалена, остаётся только резервная копия базы за нужную дату.
Файловая и клиент-серверная база: есть ли разница
Группы доступа хранятся в самой базе, поэтому способы выше одинаково работают и в файловом, и в клиент-серверном варианте. Разница в обслуживании.
| Вопрос | Файловая база | Клиент-серверная база |
|---|---|---|
| Где видны активные сеансы | Администрирование → Обслуживание → Активные пользователи | То же, плюс консоль кластера серверов |
| Где хранится журнал регистрации | Каталог 1Cv8Log рядом с базой | Каталог базы на сервере 1С |
| Фоновое обновление доступа | Выполняется, пока открыт хотя бы один сеанс | Выполняется сервером по расписанию |
Последняя строка важна при ограничении доступа на уровне записей. После смены групп БСП пересчитывает ключи доступа фоновым заданием. В файловой базе без открытых сеансов это задание не идёт, поэтому новые права «доезжают» с задержкой.
Консоль кластера показывает имя пользователя в сеансе, но не его группы. За группами всё равно идите в карточку или делайте запрос.
Программная проверка группы в коде
Средства платформы
Без БСП доступна только проверка ролей. Код работает на сервере и на клиенте:
Если РольДоступна("ПолныеПрава") Тогда
// действия администратора
КонецЕсли;
ТекущийПИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Сообщить("Имя: " + ТекущийПИБ.Имя + ", ролей: " + Формат(ТекущийПИБ.Роли.Количество(), "ЧГ=0"));
Средства БСП
В конфигурациях на БСП есть общий модуль Пользователи. Самые полезные функции:
Пользователи.ТекущийПользователь()— ссылка на элемент справочникаПользователи;Пользователи.ЭтоПолноправныйПользователь()— проверка полных прав;Пользователи.РолиДоступны("ИмяРоли")— проверка одной или нескольких ролей через запятую.
Функции «вернуть группы доступа» в программном интерфейсе нет. Её пишут сами, на сервере:
&НаСервереБезКонтекста
Функция ГруппыДоступаПользователя(Пользователь)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ГДП.Ссылка КАК ГруппаДоступа
|ИЗ
| Справочник.ГруппыДоступа.Пользователи КАК ГДП
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СоставыГруппПользователей КАК Составы
| ПО ГДП.Пользователь = Составы.ГруппаПользователей
|ГДЕ
| Составы.Пользователь = &Пользователь
| И Составы.Используется
| И НЕ ГДП.Ссылка.ПометкаУдаления";
Запрос.УстановитьПараметр("Пользователь", Пользователь);
УстановитьПривилегированныйРежим(Истина);
Результат = Запрос.Выполнить().Выгрузить();
УстановитьПривилегированныйРежим(Ложь);
Возврат Результат.ВыгрузитьКолонку("ГруппаДоступа");
КонецФункции
Привилегированный режим нужен потому, что рядовой бухгалтер не имеет права читать справочник групп доступа. Без него код упадёт с ошибкой Недостаточно прав для чтения данных.
Проверять доступ по имени группы — плохая идея: группу переименуют, и проверка тихо сломается. Надёжнее проверять роль или функциональную опцию, а группу использовать для отчётов и аудита.
Где обычно ошибаются, определяя права
- ❌ Ищут человека только в списке участников группы доступа. Он может состоять в ней через группу пользователей, поэтому напрямую его там нет.
- ❌ Смотрят роли в Конфигураторе и делают выводы. Роли там верные, но не видно ограничений по организациям и складам. Пользователь с ролью «Бухгалтер» может не видеть вторую организацию из-за вида доступа.
- ❌ Проверяют права под администратором. Полные права обходят ограничения, и проблема не воспроизводится. Проверяйте под тестовой копией пользователя.
- ❌ Путают внешних пользователей с обычными. У внешних пользователей (контрагенты, партнёры) свой справочник и свои группы, в общем списке их нет.
- ❌ Забывают про перезапуск сеанса. Новые роли применяются при следующем входе. Пока сотрудник не перезашёл в программу, у него старые права.