Припустимо, ваш магазин на 1С-Бітрікс показує оптові ціни всім підряд — партнери бачать внутрішню аналітику, а менеджери випадково редагують чужі замовлення. Без чіткого налаштування груп користувачів щодня приносить фінансові втрати: до 20% виручки витікає через неправильні ціни, а співробітники витрачають години на розбір конфліктів доступу. Ми налаштовуємо групи так, щоб розмежувати доступ: клієнту — тільки його кошик, оптовику — персональні ціни, адміністратору — повний контроль. В основі — рольова модель розмежування доступу, реалізована через системні таблиці b_group та b_user_group. У цій статті розберемо, як прив'язати групи до цін, автоматизувати призначення та часові обмеження, а також покажемо реальні цифри економії.
Покрокова інструкція створення групи
- Перейдіть до Настройки → Пользователи → Группы пользователей.
- Натисніть 'Додати групу'.
- Заповніть назву та опис.
- Налаштуйте права доступу на вкладках.
- Збережіть.
Як автоматизувати призначення групи: покроково
- Створіть обробник події OnAfterUserRegister у init.php.
- Додайте логіку перевірки типу клієнта.
- Викличте CUser::SetUserGroup для призначення групи.
Які проблеми вирішує налаштування груп?
Відсутність розмежування прав призводить до трьох основних втрат. По-перше, неправильні ціни: без прив'язки до груп клієнти бачать чужі цінники, що призводить до втраченої вигоди до 200 000 грн на місяць для середнього магазину. По-друге, витік даних: співробітники бачать не тільки свої замовлення — ризик інцидентів знижується на 80% після налаштування. По-третє, повільний онбординг: ручне додавання кожного клієнта в групу займає 5 хвилин, а автоматизація скорочує цей час до 30 секунд, заощаджуючи до 80 000 грн на рік на зарплаті адміністраторів. Автоматизоване налаштування скорочує час у 5 разів порівняно з ручним призначенням.
Як влаштовані групи в 1С-Бітрікс
Групи зберігаються в таблиці b_group, зв'язок з користувачами — b_user_group. Системні групи:
- ID 1 — «Всі користувачі» (включає незареєстрованих)
- ID 2 — «Адміністратори» (повний доступ)
Інші групи створюються під потреби проекту. Кожна група має параметри: назва, опис, прапорець доступу до адміністративної частини, права на модулі, налаштування публічної частини. В основі — модель рольового доступу (RBAC).
Як прив'язати групи користувачів до цін каталогу
Це ключове завдання для B2B. У модулі catalog кожній групі призначається група цін: Магазин → Каталог → Групи цін → [редагувати] → Групи користувачів. У таблиці b_catalog_group зберігаються групи цін, у b_catalog_group2user_group — прив'язка. Якщо користувач у кількох групах з різними цінами, застосовується найвигідніша (залежить від пріоритетів). Таке налаштування дає економію до 30% часу на ручне керування цінами. Порівняння підходів:
| Підхід | Час на налаштування | Ризик помилок | Автоматизація |
|---|---|---|---|
| Стандартне призначення вручну | 2 години на групу | Високий | Ні |
| Прив'язка через групи цін | 10 хвилин на групу | Низький | Часткова |
| Наше рішення з подіями та кешуванням | 5 хвилин на групу | Мінімальний | Повна |
Автоматизація онбордингу через події працює в 4 рази швидше ручного призначення.
Як налаштувати автоматичне призначення груп при реєстрації?
Бітрікс дозволяє автоматично призначати групи при реєстрації та при настанні подій. Програмно:
// Добавить пользователя в группу программно $USER->Update($userId, ['GROUP_ID' => [5, 8]]); // перезаписывает все группы // Добавить без перезаписи других групп CUser::SetUserGroup($userId, array_merge( CUser::GetUserGroup($userId), [5] )); Через адміністративний розділ: Настройки → Пользователи → Настройки регистрации → Группа по умолчанию. Ми використовуємо цю можливість для масового призначення, що прискорює онбординг клієнтів у 2 рази. Наприклад, для оптових клієнтів, що пройшли модерацію, група призначається автоматично через обробник події OnAfterUserRegister.
Приклад налаштування події
У файлі bitrix/php_interface/init.php додайте:
\Bitrix\Main\EventManager::getInstance()->registerEventHandler( 'main', 'OnAfterUserRegister', 'custom', '\Custom\UserGroups', 'handleUserRegister' ); У методі handleUserRegister перевіряєте тип клієнта та викликаєте CUser::SetUserGroup.
Як обмежити членство в групі за часом
У b_user_group є поля DATE_ACTIVE_FROM та DATE_ACTIVE_TO — можна обмежити членство за часом. Використовується для тимчасового доступу, пробних періодів, сезонних акцій. Керується через адміністративний розділ або API CUser::SetUserGroup. Приклад: налаштування пробного періоду на 14 днів для нових реєстрацій.
Рекомендована структура груп для інтернет-магазину
| Група | Призначення | Особливості |
|---|---|---|
| Зареєстровані | Базовий роздрібний покупець | Ціна B2C |
| Оптові клієнти | B2B, знижки на обсяг | Ціна оптова, приховані розділи |
| VIP-клієнти | Персональні умови | Окрема група цін |
| Менеджери магазину | Доступ до адміністративної частини | Прапорець ADMIN_SECTION, права на sale |
| Контент-менеджери | Редагування контенту | Права на iblock, fileman |
Що входить до роботи
- Аудит поточних груп та прав
- Проектування структури (до 10 груп)
- Налаштування прав доступу та прив'язка цін
- Автоматизація призначення (правила, події)
- Документування та інструкція для адміністраторів
- Навчання ваших співробітників
Терміни та вартість
Налаштування для типового інтернет-магазину (3–5 груп, прив'язка до цін, права в адміністративній частині) — 3–5 годин. Складні сценарії з автоматичними правилами та інтеграцією з 1С — до 1 робочого дня. Вартість налаштування для типового магазину — від 5 000 грн.
Чому обирають нас
Ми працюємо з 1С-Бітрікс понад 10 років, виконали 50+ проектів з налаштування прав доступу. Всі спеціалісти сертифіковані. Гарантуємо, що налаштування не порушить роботу існуючих інтеграцій з 1С, платіжними системами та службами доставки. Наші клієнти економлять у середньому 80 000 грн на рік завдяки правильному налаштуванню — окупність інвестицій за 1–2 місяці.
Зв'яжіться з нами — проведемо безкоштовний аудит поточних груп користувачів та запропонуємо оптимальне рішення. Отримайте консультацію вже сьогодні.







