Группы пользователей и группы доступа в 1С 8.3: как создать, наполнить и проверить
Содержание
Получить группу в 1С 8.3 — значит создать её в режиме Предприятие и включить в неё пользователя. В БП 3.0 и ЗУП 3.1 это делается в Администрирование → Настройки пользователей и прав, в УТ 11 — в НСИ и администрирование → Настройки пользователей и прав. Права даёт не группа пользователей, а группа доступа: именно в неё нужно добавить сотрудника, чтобы он увидел документы и отчёты.
Порядок одинаков для всех типовых конфигураций на Библиотеке стандартных подсистем (БСП): включить группы, создать группу
, выбрать профиль, добавить участников, проверить права. Если сотрудник после настройки всё равно получает Недостаточно прав для просмотра, причина почти всегда в одном из пяти мест, разобранных в конце.
Группы пользователей и группы доступа: в чём разница
В типовых конфигурациях есть два разных справочника со словом «группа». Их часто путают, и отсюда половина вопросов «добавил в группу, а прав нет».
| Что это | Для чего | Даёт права? |
|---|---|---|
| Группа пользователей | Папка для удобства: «Бухгалтерия», «Склад», «Филиал Казань». Можно строить иерархию | Нет, сама по себе |
| Группа доступа | Набор прав: профиль (роли) плюс ограничения по организациям, складам и т.п. | Да |
| Профиль группы доступа | Шаблон: какие роли входят и какие виды доступа можно ограничить | Через группу доступа |
| Роль (в Конфигураторе) | Элементарный набор прав к объектам метаданных | Да, но назначается через профиль |
Связь простая: роли собраны в профиль, профиль привязан к группе доступа, в группу доступа добавлены пользователи. Группу пользователей можно добавить в группу доступа целиком. Тогда каждый новый сотрудник отдела получает права автоматически, как только попадает в свою папку.
Если в базе 5–7 пользователей, группы пользователей можно не включать. Хватит групп доступа. При 20+ сотрудниках и нескольких отделах папки экономят время: права раздаются одной строкой.
Почему не в Конфигураторе
В Конфигураторе есть список Администрирование → Пользователи и вкладка «Прочие» с флажками ролей. Групп там нет: платформа знает только пользователей информационной базы и роли.
В конфигурациях на БСП роли пользователю выставляет сама программа по группам доступа. Роли, проставленные руками в Конфигураторе, будут перезаписаны при следующем изменении групп доступа. Назначайте права только в режиме Предприятие. Конфигуратор нужен для своих конфигураций без БСП или для разработки новой роли.
Как включить и создать группу пользователей в 1С
По умолчанию в небольших базах группы пользователей скрыты. Включите их один раз.
- Откройте
Администрирование → Настройки пользователей и прав(в УТ 11 — разделНСИ и администрирование). - Установите флажок Группы пользователей. Под ним появится ссылка на справочник.
- Перейдите по ссылке. В списке слева увидите корневую группу Все пользователи: в неё входит каждый сотрудник, удалить её нельзя.
- Встаньте на нужный уровень иерархии и нажмите Создать.
- Задайте наименование, например «Бухгалтерия». В поле родителя укажите вышестоящую группу, если строите дерево («Головной офис → Бухгалтерия»).
- Запишите группу.
Как устроить иерархию
Иерархия нужна, когда структура компании повторяется: несколько филиалов с одинаковыми отделами. Пример дерева:
- 🏢 Головной офис
- Бухгалтерия
- Отдел продаж
- 🏬 Филиал Казань
- Бухгалтерия филиала
- Склад
Один пользователь может входить сразу в несколько групп. Менеджер, который подменяет кладовщика, может стоять и в «Отделе продаж», и в «Складе». Это нормально: программа объединит права всех групп доступа, где он участвует.
Создание группы доступа с профилем
Это главный шаг. Без группы доступа пользователь войдёт в программу, но увидит пустой рабочий стол или получит ошибку прав.
- В том же разделе
Настройки пользователей и правоткройте Группы доступа. - Нажмите Создать.
- Заполните наименование: «Бухгалтеры — ООО Ромашка».
- В поле Профиль выберите подходящий. В БП 3.0 есть поставляемые профили, например «Бухгалтер», «Главный бухгалтер», «Администратор». В ЗУП и УТ свой набор под их участки.
- На вкладке Участники добавьте пользователей или группы пользователей (следующий раздел).
- Если включено ограничение на уровне записей, появится вкладка Ограничения доступа: там задаются организации, склады и другие виды доступа.
- Нажмите Записать и закрыть.
Когда нужен свой профиль
Поставляемые профили менять нельзя: их перезапишет обновление. Если нужен «бухгалтер без зарплаты» или «кладовщик с правом смотреть цены», скопируйте близкий профиль и правьте копию.
- Откройте Профили групп доступа.
- Выделите поставляемый профиль и нажмите Скопировать.
- В копии на вкладке ролей снимите лишние флажки и поставьте нужные.
- Сохраните профиль под понятным именем: «Бухгалтер без ЗП».
- Укажите этот профиль в новой группе доступа.
Профиль «Администратор» особый: группа с ним одна, и в ней всегда должен оставаться хотя бы один пользователь с правом входа. Не удаляйте из неё последнего администратора — восстанавливать доступ придётся через Конфигуратор.
Как добавить пользователя в группу
Есть два способа, и они дают одинаковый результат. Выбирайте по удобству.
Способ 1. Из карточки группы
- Откройте группу пользователей или группу доступа.
- Перейдите на вкладку Участники (у группы пользователей — состав группы).
- Нажмите Подобрать и отметьте сотрудников в списке.
- Запишите группу.
Так удобно наполнять новую группу сразу несколькими людьми.
Способ 2. Из карточки пользователя
- Откройте
Настройки пользователей и прав → Пользователии дважды щёлкните по сотруднику. - Перейдите по ссылке Права доступа в карточке.
- Отметьте флажками группы доступа, в которые он должен входить.
- Запишите.
Этот путь удобен при приёме нового сотрудника. Сразу видно все группы доступа базы и где он уже состоит.
Массово через группу пользователей
Вместо десяти отдельных строк в группе доступа добавьте одну — группу пользователей «Бухгалтерия». Дальше работаете только с папкой:
- ➕ новый бухгалтер — переносите его в папку «Бухгалтерия», права приходят сами;
- ➖ сотрудник уволился или перешёл в другой отдел — убираете из папки, права уходят;
- 🔁 нужно дать отделу новый участок — добавляете группу пользователей ещё в одну группу доступа.
Для уволенных лучше не удалять пользователя, а снять в карточке флажок Вход в программу разрешён. Его подпись останется в документах, а войти он не сможет.
Ограничения по организациям, складам и исключения
Профиль решает, какие объекты видит пользователь. Ограничения на уровне записей решают, чьи данные он видит: только своей организации, только своего склада.
- В
Настройках пользователей и праввключите флажок Ограничивать доступ на уровне записей. На больших базах после этого программа может некоторое время обновлять служебные данные доступа. - Откройте группу доступа и перейдите на вкладку Ограничения доступа.
- Для каждого вида доступа (например, «Организации») выберите режим: Все разрешены или Все запрещены.
- Ниже заполните список-исключение: при «Все запрещены» перечислите разрешённые значения, при «Все разрешены» — запрещённые.
Пример для холдинга из трёх юрлиц:
| Группа доступа | Профиль | Организации |
|---|---|---|
| Бухгалтеры — Ромашка | Бухгалтер | Все запрещены, кроме ООО «Ромашка» |
| Бухгалтеры — Лютик | Бухгалтер | Все запрещены, кроме ООО «Лютик» |
| Главбух холдинга | Главный бухгалтер | Все разрешены |
Бухгалтер «Ромашки» откроет журнал документов и увидит только свои строки. Документы «Лютика» для него просто не существуют.
Какие виды доступа доступны для ограничения, задаёт профиль. Если на вкладке нужного вида нет, откройте профиль и посмотрите список видов доступа в нём. В поставляемом профиле его не поменять — снова поможет копия.
Права складываются, а не вычитаются
Если пользователь состоит в двух группах доступа, он получает объединение их прав. Запретить что-то «поверх» нельзя. Бухгалтер в группе «Ромашка» плюс в группе «Главбух холдинга» увидит все три организации. Нужен запрет — уберите человека из широкой группы, а не добавляйте ограничивающую.
Как узнать, в какой группе состоит пользователь
В интерфейсе
- 👤 Карточка пользователя → Права доступа — список групп доступа с отметками, где он участник.
- 📂 Список пользователей — слева дерево групп пользователей. Кликните группу, справа останутся её участники.
- 📊 Отчёт «Права доступа» — открывается из карточки пользователя. Показывает, какие объекты он может читать и изменять и через какую группу пришло каждое право. В свежих релизах БСП есть ещё отчёт «Анализ прав доступа» с отбором по пользователю или по объекту.
Отчёт полезен в обратную сторону: выберите документ, например «Реализация товаров и услуг», и посмотрите, у кого вообще есть к нему доступ.
Программно: запрос и функции
Если нужно получить группу в коде (для обработки, внешнего отчёта, проверки в расширении), есть три уровня.
Проверка роли платформы — работает в любой конфигурации:
Если РольДоступна("ПолныеПрава") Тогда
Сообщить("Пользователь — администратор");
КонецЕсли;
Список ролей текущего пользователя информационной базы:
ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Для Каждого Роль Из ТекущийПользовательИБ.Роли Цикл
Сообщить(Роль.Имя);
КонецЦикла;
Группы доступа пользователя в конфигурации на БСП. Учтены оба варианта участия: напрямую и через группу пользователей:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Участники.Ссылка КАК ГруппаДоступа,
| Участники.Ссылка.Профиль КАК Профиль
|ИЗ
| Справочник.ГруппыДоступа.Пользователи КАК Участники
|ГДЕ
| (Участники.Пользователь = &Пользователь
| ИЛИ Участники.Пользователь В
| (ВЫБРАТЬ
| Составы.ГруппаПользователей
| ИЗ
| РегистрСведений.СоставыГруппПользователей КАК Составы
| ГДЕ
| Составы.Пользователь = &Пользователь))
| И НЕ Участники.Ссылка.ПометкаУдаления";
Запрос.УстановитьПараметр("Пользователь", Пользователи.АвторизованныйПользователь());
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("" + Выборка.ГруппаДоступа + " (профиль: " + Выборка.Профиль + ")");
КонецЦикла;
Справочник групп доступа и регистр составов групп обычно недоступны рядовым пользователям. Запрос от имени бухгалтера может вернуть пустой результат. Для служебной проверки выполняйте его в серверном модуле в привилегированном режиме или под администратором.
Для группы пользователей без групп доступа достаточно второй части запроса: регистр СоставыГруппПользователей с отбором по пользователю вернёт все папки, где он состоит, включая вышестоящие.
Ошибки при настройке групп
Отдельно о порядке работы. Права пользователю меняют, когда он не держит открытым длинную операцию: закрытие месяца или формирование тяжёлого отчёта. После перезахода сеанс получит новый набор ролей, а начатая работа может прерваться ошибкой доступа на полпути.
И ещё одна ловушка: группу пользователей «Все пользователи» добавлять в группу доступа с широким профилем нельзя без крайней нужды. Каждый новый сотрудник, даже временный, получит эти права в момент создания карточки.