Разработка B2B-портала на 1С-Битрикс под ключ
Стандартный интернет-магазин на Битриксе не подходит для оптовых продаж: одна цена для всех, публичный каталог, отсутствие лимитов кредита и алгоритма согласования заказов. Когда менеджер тратит 40 минут на оформление каждого заказа вручную через CRM, а дилер звонит, чтобы узнать остатки — это симптомы отсутствия B2B-портала. Мы проектируем архитектуру, настраиваем ценообразование, интегрируем с 1С и внедряем бизнес-процессы согласования. Свяжитесь с нами, чтобы оценить ваш проект.
Чем B2B-портал принципиально отличается от публичного магазина
Архитектурно — другая логика авторизации, модель ценообразования и сценарий заказа. B2B-портал на Битриксе внедряется в 3-5 раз быстрее самописного решения при сопоставимом функционале.
Авторизация и группы пользователей. В bitrix:sale пользователь привязан к одной группе. В B2B нужна иерархия: компания → контактное лицо → роль (закупщик, бухгалтер, директор). Штатные группы не подходят — они плоские. Реализуется через кастомный модуль с таблицей связей company_user и D7 ORM (Bitrix\Main\ORM\Data\DataManager). Права на действия задаются через битовую маску в Highload-блоке ролей.
Типы цен. Модуль catalog поддерживает несколько типов цен: CATALOG_GROUP_ID в таблице b_catalog_price. Для B2B это обязательная механика — каждой группе пользователей назначается свой тип цены. Индивидуальные контрактные цены реализуются через обработчик события OnSaleOrderBeforeSaved или кастомный провайдер цен.
Каталог с остатками в реальном времени. B2B-покупатели заказывают крупными партиями и проверяют доступность до оформления. Данные об остатках b_catalog_store_product обновляются при синхронизации с 1С через CommerceML. Если синхронизация раз в час — клиент видит устаревшие данные. Решение: REST API 1С + инкрементальное обновление через CCatalogStoreProduct::Update(). Экономия времени менеджеров — до 40 часов в месяц.
Как организовать авторизацию на B2B-портале?
Для B2B необходим кастомный модуль авторизации, реализующий иерархию «Компания — Контактное лицо — Роль» с разделением прав. Это позволяет, например, дать бухгалтеру доступ к финансовым документам, но не к заказам. Коммерческая платформа 1С-Битрикс предоставляет D7 ORM для построения таких связей.
Ключевые модули и компоненты
- Модуль
sale— основа для корзины и заказов. В B2B дорабатывается: добавляем статусы (На согласовании, Согласован, Отклонён), настраиваем бизнес-процессы через модульbizproc. - Модуль
catalog— ценообразование, торговые предложения (SKU), управление складами. Обязательно задействуютсяCatalogGroupиDiscountCoupon. - Модуль
crm(если схема с Битрикс24) — синхронизация заказов портала со сделками CRM через REST APIcrm.deal.add/crm.deal.update. - Личный кабинет — история заказов с повтором, текущие заказы, задолженность, документы (счета, накладные в PDF), управление контактными лицами.
Интеграция с 1С
Стандартный обмен через CommerceML закрывает товары, цены, склады, заказы. Но не закрывает:
- Лимиты кредита и задолженность — выгружаются отдельным XML или REST-сервисом 1С. На стороне Битрикс — кастомный Highload-блок
b2b_credit_limits. - Документы — счета и накладные хранятся в 1С. Портал запрашивает список через REST, кеширует в
/upload/b2b/docs/с TTL 24 часа. - Спецификации — индивидуальные договорные позиции, хранятся в Highload-блоке с привязкой к компании.
Важно: не ломать стандартный обмен CommerceML. Кастомные поля и логика — через события OnBeforeCatalogImport1C, OnSuccessCatalogImport1C, отдельные таблицы.
Производительность под нагрузкой
B2B-портал с 500+ активными компаниями и пиковой нагрузкой требует:
- Тегированный кеш каталога:
CIBlock::clearIblockTagCache($iblockId)при обновлении остатков. - Альтернатива для персональных цен: кеш по ключу
user_group_price_{groupId}_{productId}. - Сессии в Redis при балансировке.
- Elasticsearch для поиска по каталогу вместо модуля
search.
Этапы разработки
| Этап | Содержание | Срок (недели) |
|---|---|---|
| Аналитика | Схема ролей, сценарии заказа, карта интеграций с 1С | 2-3 |
| Проектирование БД | Highload-блоки, D7-сущности, схема ценообразования | 1-2 |
| Бэкенд | Модуль авторизации, ценообразование, интеграция 1С | 4-8 |
| Личный кабинет | Заказы, документы, управление компанией | 3-5 |
| Согласование заказов | Бизнес-процессы bizproc, уведомления |
1-3 |
| Тестирование | Нагрузочное, приёмочное, интеграционное | 2-3 |
Итого: 12-22 недели в зависимости от сложности интеграции с 1С.
Типичные ошибки и их решения
| Ошибка | Решение |
|---|---|
| Хранение персональных цен в сессии | Использовать Redis или БД |
| Синхронизация 1С блокирует сайт | Инкрементальный обмен, только изменённые позиции |
Бизнес-процессы согласования в init.php |
Вынести в отдельный модуль с конфигурируемыми правилами |
Пошаговая инструкция: как происходит интеграция с 1С
- Настройка CommerceML на стороне 1С: задать регламент выгрузки товаров, цен, остатков.
- Создание REST-сервиса в 1С для передачи кредитных лимитов и документов.
- Реализация обработчиков событий Битрикс (
OnBeforeCatalogImport1C,OnSuccessCatalogImport1C). - Тестирование обмена на тестовом контуре.
- Запуск в продуктив и мониторинг.
Что входит в работу
- Полная техническая документация (архитектура, схема БД, API-контракты).
- Исходный код кастомных модулей с лицензией на использование.
- Доступы к dev- и prod-окружениям, репозиторию.
- Обучение администраторов (до 8 часов) и инструкции для пользователей.
- Гарантийная поддержка 6 месяцев с реакцией в течение 4 часов.
Готовы обсудить ваш проект? Свяжитесь с нами для консультации. Закажите разработку B2B-портала под ключ и получите оценку стоимости и сроков.







