Налаштування груп користувачів в 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 робочого дня.







