Настройка групп пользователей 1С-Битрикс
На сайте с несколькими ролями — покупатели, оптовые клиенты, менеджеры, партнёры — без настроенных групп пользователей быстро возникает хаос: все видят одни и те же цены, один набор разделов и одинаковый функционал личного кабинета. Группы пользователей в Битрикс — это механизм разграничения прав, цен, контента и функций.
Структура групп в Битрикс
Группы хранятся в таблице b_group. Связь пользователей с группами — b_user_group. Системные группы:
- ID 1 — «Все пользователи» (включает незарегистрированных)
- ID 2 — «Администраторы» (полный доступ)
Остальные группы создаются под нужды проекта. Каждая группа имеет набор параметров: название, описание, флаг доступа к административному разделу, права на модули, настройки публичной части.
Что настраивается на уровне группы
Публичная часть:
- Доступ к разделам сайта (через права на папки в структуре)
- Видимость компонентов — через параметр
GROUPSв шаблоне или условие в коде - Группы цен в каталоге (модуль
catalog) — привязка группы пользователей к группе цен
Административная часть:
- Флаг
ADMIN_SECTION— доступ к/bitrix/admin/ - Права на модули:
iblock,sale,catalog,filemanи др. - Права на конкретные инфоблоки (через права на инфоблоки)
Привязка групп к ценам каталога
Это одна из наиболее практически важных настроек. В модуле catalog каждой группе пользователей назначается группа цен:
Магазин → Каталог → Группы цен → [редактировать] → Группы пользователей
В таблице b_catalog_group хранятся группы цен, в b_catalog_group2user_group — привязка к группам пользователей. Если пользователь состоит в нескольких группах с разными ценами — применяется наиболее выгодная для него цена (зависит от настройки приоритетов).
Автоматическое назначение групп
Битрикс позволяет настроить автоматическое назначение групп при регистрации и при наступлении событий:
// Добавить пользователя в группу программно
$USER->Update($userId, ['GROUP_ID' => [5, 8]]); // перезаписывает все группы
// Добавить без перезаписи других групп
CUser::SetUserGroup($userId, array_merge(
CUser::GetUserGroup($userId),
[5]
));
Через административный раздел: Настройки → Пользователи → Настройки регистрации → Группа по умолчанию.
Срок действия членства в группе
В b_user_group есть поля DATE_ACTIVE_FROM и DATE_ACTIVE_TO — можно ограничить членство в группе по времени. Используется для временного доступа, пробных периодов, сезонных акций. Управляется через административный раздел или API CUser::SetUserGroup.
Рекомендуемая структура групп для интернет-магазина
| Группа | Назначение | Особенности |
|---|---|---|
| Зарегистрированные | Базовый розничный покупатель | Цена B2C |
| Оптовые клиенты | B2B, скидки на объём | Цена оптовая, скрытые разделы |
| VIP-клиенты | Персональные условия | Отдельная группа цен |
| Менеджеры магазина | Доступ к административной части | Флаг ADMIN_SECTION, права на sale |
| Контент-менеджеры | Редактирование контента | Права на iblock, fileman |
Сроки выполнения
Настройка групп для типового интернет-магазина (3–5 групп, привязка к ценам, права в административном разделе) — 3–5 часов. Сложные сценарии с автоматическими правилами смены групп и интеграцией с 1С — до 1 рабочего дня.







