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