К статье
Практический материал

Администрирование · 9 мин

Как в 1С определить группу пользователя

Как определить, в какую группу пользователей входит сотрудник в 1С: через раздел администрирования, программно на встроенном языке и через отчёты. Практические приёмы и типичные ошибки.

Вопрос о том, к какой группе принадлежит пользователь, возникает в 1С в двух ситуациях: когда администратору нужно проверить права и настройки конкретного сотрудника и когда разработчику требуется определить группу программно — например, чтобы вывести разные данные для разных отделов. Способы зависят от того, о каких группах идёт речь: о группах пользователей справочника, о группах доступа или о ролях в конфигураторе.

Главная сложность в том, что в типовых конфигурациях 1С (Бухгалтерия, Зарплата и управление персоналом, Управление торговлей) сосуществует несколько похожих механизмов: справочник «Группы пользователей», «Группы доступа» из библиотеки стандартных подсистем и профили прав. Ниже разберём, как определить принадлежность пользователя к каждому из них — в интерфейсе и в коде.

Какие группы бывают в 1С и почему это важно различать

Прежде чем искать группу, определите, какой именно механизм используется в вашей конфигурации. В типовых решениях на базе Библиотеки стандартных подсистем (БСП) действуют три независимых уровня: справочник «Группы пользователей», справочник «Группы доступа» с профилями и роли, назначенные в конфигураторе или в разделе «Права доступа».

Группа пользователей нужна в основном для удобства: единые настройки отчётов, подстановка отдела в документы, рассылка уведомлений. Группа доступа влияет на то, какие объекты сотрудник видит и может редактировать. Роли определяют базовые права на уровне метаданных. Ошибка в выборе механизма приводит к тому, что вы проверяете не тот справочник и делаете неверные выводы о правах.

Быстрый признак: если вопрос «почему сотрудник не видит документ» — смотрите группы доступа и роли; если «почему у сотрудника другие настройки отчёта» — смотрите группу пользователей.

Как определить группу пользователя через интерфейс

Самый простой способ — открыть карточку пользователя в пользовательском режиме. Потребуются права администратора или права на чтение справочника пользователей.

Порядок действий в режиме 1С:Предприятие
  1. 1
    Откройте раздел «Администрирование» → «Пользователи и права» → «Пользователи».
  2. 2
    Найдите нужного сотрудника в списке и откройте его карточку двойным щелчком.
  3. 3
    Посмотрите поле или группу «Входит в группу» — там указана группа пользователей, к которой относится сотрудник.
  4. 4
    Откройте вкладку или ссылку «Группы доступа», чтобы увидеть, какие профили и разрешения ему назначены.
  5. 5
    Закройте карточку без сохранения, если ничего не меняли.

Альтернативный путь — посмотреть со стороны группы. Откройте «Администрирование → Пользователи и права → Группы пользователей», выберите нужную группу и изучите её состав. Так удобнее проверять, кто входит в отдел целиком, а не искать группу одного человека.

В некоторых конфигурациях список пользователей можно настроить: добавьте колонку «Группа» через «Ещё → Изменить форму», чтобы видеть принадлежность сразу в списке без открытия карточек.

Как определить группу доступа пользователя

Группы доступа проверяются отдельно. Перейдите в «Администрирование → Пользователи и права → Группы доступа». В списке групп доступа у каждой есть табличная часть «Участники» — именно она показывает, какие пользователи входят в группу.

Чтобы узнать группы доступа конкретного сотрудника, откройте его карточку пользователя и найдите ссылку «Группы доступа» или «Права доступа». В типовых конфигурациях там отображается список групп доступа, через которые действуют профили. Помните: права суммируются — если пользователь входит в несколько групп, ему доступно всё, что разрешено хотя бы в одной из них.

Как определить группу пользователя программно

Во встроенном языке 1С задача решается двумя способами: обращением к справочнику «Пользователи» и работой с менеджером пользователей информационной базы.

Первый вариант — запрос к справочнику. Группа пользователей хранится как родитель (иерархическая группа) или как ссылка в справочнике «Группы пользователей» с табличной частью «Состав». Пример запроса, возвращающего всех участников группы:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ГруппыПользователейСостав.Пользователь КАК Пользователь

|ИЗ

| Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав

|ГДЕ

| ГруппыПользователейСостав.Ссылка = &Группа";

Запрос.УстановитьПараметр("Группа", ГруппаСсылка);

Результат = Запрос.Выполнить().Выгрузить();

Обратная задача — определить, входит ли текущий пользователь в конкретную группу. В БСП для этого есть готовая функция:

// Требуется общий модуль ГруппыПользователей (БСП)

ВходитВГруппу = ГруппыПользователей.ЭтоУчастникГруппыПользователей(

ГруппаСсылка, Пользователи.ТекущийПользователь());

Если нужно определить пользователя информационной базы (для проверки ролей), используйте менеджер: ПользователиИнформационнойБазы.ТекущийПользователь() возвращает объект, у которого можно проверить роли через Роли.Содержит(Метаданные.Роли.НужнаяРоль).

Проверку принадлежности к группе лучше делать по предопределённой группе или по коду, а не по наименованию — группу «Менеджеры» могут переименовать в «Отдел продаж», и код, ищущий по имени, перестанет работать.
ПЗ
Практическое замечание

Как проверить результат и не ошибиться

После определения группы убедитесь, что вы смотрите актуальные данные. Проверьте три вещи: не помечен ли пользователь на удаление (такие записи отображаются перечёркнутыми и могут формально оставаться в группе), действует ли пользователь в нескольких группах одновременно и не изменялся ли состав группы недавно.

Контрольные точки

Как проверить результат

Карточка пользователя открывается, поле группы заполнено
Норма

Группа указана, пользователь активен

Тревожный признак

Поле пустое или пользователь помечен на удаление

Состав группы пользователей
Норма

Сотрудник есть в списке участников

Тревожный признак

Сотрудника нет, хотя в карточке группа указана — возможны разные механизмы

Фактические права в режиме предприятия
Норма

Сотрудник видит ожидаемые объекты

Тревожный признак

Прав больше или меньше, чем даёт группа — проверьте роли и другие группы доступа

Полезный приём — войти в базу под учётной записью проверяемого пользователя (или попросить его открыть программу) и убедиться, что фактическое поведение системы совпадает с ожиданиями от группы. Настройки на бумаге и реальные права иногда расходятся из-за дублирующихся учётных записей.

Типичные ошибки при работе с группами

Типичные ошибки
01
Путать группу пользователей с группой доступа: администратор меняет состав справочника, а права не меняются, потому что они задаются в профилях групп доступа.
02
Искать группу по наименованию в коде — после переименования группы логика ломается без каких-либо ошибок в журнале.
03
Забывать, что пользователь может входить в несколько групп, и проверять только одну — права суммируются, и лишний доступ остаётся незамеченным.
04
Не учитывать роль «Полные права»: пользователь с ней игнорирует ограничения групп доступа, и проверка состава групп ничего не покажет.
05
Оставлять в группе помеченных на удаление пользователей — при программной выборке они попадают в результат и искажают рассылки и отчёты.

Отдельная ошибка — создавать дубликаты учётных записей вместо добавления существующего пользователя в группу. Две записи одного сотрудника приводят к путанице в истории документов и журнале регистрации.

Частые вопросы

Может ли один пользователь входить в несколько групп пользователей?

Да, в типовых конфигурациях это допускается. Права и настройки при этом суммируются, поэтому при проверке учитывайте все группы, а не только первую найденную.

Чем группа пользователей отличается от подразделения?

Подразделение — элемент оргструктуры из справочника «Подразделения», оно используется в документах и учёте. Группа пользователей — техническое объединение для настроек и прав. Совпадение названий не означает связи между ними.

Почему в карточке пользователя нет поля «Группа»?

В некоторых конфигурациях принадлежность к группе задаётся только со стороны группы — через табличную часть «Состав» в карточке группы пользователей. Откройте нужную группу и проверьте её участников там.

Как узнать группу пользователя в файловой базе без прав администратора?

Без прав на чтение справочника пользователей штатными средствами состав групп не посмотреть. Пользователь может увидеть только свои персональные настройки. Обратитесь к администратору базы.

Влияет ли группа пользователей на права доступа к документам?

Напрямую — нет. За доступ к документам отвечают группы доступа и роли. Группа пользователей может использоваться в настройках отборов и подстановках, но сама по себе прав не даёт.

Как массово проверить состав всех групп?

Сформируйте список справочника «Группы пользователей» и по очереди откройте состав каждой группы, либо используйте консоль запросов с обращением к табличной части «Состав» — так вы получите сводную таблицу «группа — участники» одним запросом.

Итог

Что важно запомнить

Группу пользователя в 1С смотрят в карточке сотрудника через «Администрирование → Пользователи и права» либо со стороны справочника «Группы пользователей». Различайте группы пользователей, группы доступа и роли — это три разных механизма. Программно принадлежность проверяют запросом к табличной части «Состав» или функциями БСП, привязываясь к ссылке, а не к наименованию группы.