Мы разрабатываем оптовые (B2B) разделы интернет-магазинов на платформе 1С-Битрикс уже более 7 лет. За это время реализовано свыше 50 проектов — от простых двухуровневых прайсов до полномасштабных дилерских порталов с кредитными лимитами, интеграцией 1С и электронным документооборотом. Если вам нужно, чтобы розничный каталог работал и для оптовых клиентов — с отдельными ценами, минимальными партиями, быстрым заказом по артикулу и загрузкой Excel, — мы предложим решение под ключ. Оценим ваш проект и назовем сроки в течение дня. Закажите разработку оптового раздела уже сегодня, чтобы ваши B2B-клиенты получили удобный инструмент для закупок.
Почему стандартного функционала Битрикса недостаточно?
Встроенные типы цен и группы пользователей покрывают лишь простые сценарии. Реальные B2B-требования включают индивидуальные скидки, пороговые цены, валютные курсы, кредитные лимиты и отдельный документооборот. Без доработок ядра и модулей не обойтись.
Как настроить типы цен для B2B?
В основе ценовой архитектуры — таблица b_catalog_group. Каждый тип цены ("Розничная", "Оптовая", "Дилерская") привязывается к группе пользователей. Механизм CCatalogProduct::GetOptimalPrice() возвращает наилучшую цену для авторизованного клиента. Но на практике этого мало.
Для индивидуальных скидок контрагентам используем правила корзины sale.discount с условиями по группам. Пороговые цены (от 100 штук — одна цена, от 1000 — другая) реализуются через диапазоны количества в b_catalog_price (QUANTITY_FROM / QUANTITY_TO). Если оптовики работают в разных валютах — создаем типы цен в разных валютах, конвертация через модуль currency.
Важный нюанс: тип цены привязан к группе, а не к пользователю. Для 200 контрагентов создавать 200 групп нерационально. В таких случаях пишем обработчик события OnGetOptimalPrice, который подтягивает цену из 1С или ERP через кеш. Подробнее о типах цен читайте в официальной документации.
| Сценарий | Реализация в Битрикс | Ограничения |
|---|---|---|
| 3–5 ценовых уровней | Типы цен + группы пользователей | Стандартный механизм, работает из коробки |
| Пороговые цены по количеству | Диапазоны в b_catalog_price |
Не отображаются в карточке без доработки шаблона |
| Индивидуальный прайс на контрагента | Событие OnGetOptimalPrice + внешний источник |
Требует кеширования, иначе — запрос к 1С на каждый товар |
| Скидка на категорию для группы | Правила корзины sale.discount |
Не видна в каталоге до добавления в корзину |
Минимальная партия и кратность заказа
Для оптовых товаров нужны минимальное количество и шаг (кратность). В Битрикс есть поле "Коэффициент единицы измерения" (b_catalog_measure_ratio), но оно работает только как множитель. Полноценная реализация требует:
- Свойство инфоблока "Минимальная партия" — проверка через
OnSaleBasketItemBeforeUpdate. - Свойство "Кратность" — округление количества вверх до ближайшего кратного.
- Отображение в карточке товара: селектор с шагом (10, 20, 30) или поле с валидацией.
Как внедрить быстрый заказ по артикулу?
Оптовые клиенты часто заказывают по артикулам, не листая каталог. Пошаговая инструкция:
- Создайте форму "артикул + количество" — список строк. Сервер матчит артикул с
PROPERTY_CML2_ARTICLEилиXML_ID, добавляет в корзину. - Реализуйте загрузку Excel/CSV с помощью PhpSpreadsheet (через Composer). Парсер разбирает файл, формирует корзину. Несопоставленные артикулы выводятся в отчёте.
- Добавьте кнопку "Повторить заказ" в личном кабинете, копирующую состав в текущую корзину через
Bitrix\Sale\Basket::loadItemsForOrder().
Кредитные лимиты и отсрочка платежа
В B2B оплата часто постфактум. Механизм:
- В профиле контрагента (UF-поля) хранятся лимит и текущая задолженность.
- Обработчик
OnSaleOrderBeforeSavedпроверяет: сумма заказа + задолженность ≤ лимит. - При превышении — заказ не оформляется, показывается доступный остаток.
- После оплаты (статус через 1С-обмен) задолженность пересчитывается.
Документооборот в личном кабинете
Оптовый клиент ожидает: счета на оплату (генерируются при создании заказа, PDF через sale_print или TCPDF), акты сверки (из 1С, в highload-блоке), накладные и УПД (с ЭЦП), история заказов с фильтрацией по периоду, статусу, сумме. Стандартный компонент sale.personal.order дорабатывается или заменяется кастомным.
Почему разделение корзин критично?
Технически корзина в Битрикс одна на пользователя. Если клиент покупает и в розницу, и оптом, нужна изоляция. Решения:
-
Два сайта в одной установке — корзины разделяются по
FUSER_ID+LID. Минус: дублирование настроек. -
Свойство элемента корзины (
BASKET_TYPE = wholesale). При оформлении фильтруются только оптовые позиции. Минус: сложнее реализация.
Первый вариант надёжнее: два сайта с общим каталогом, разными шаблонами и независимыми корзинами. Переключение — по поддомену или разделу URL.
Интеграция с 1С для оптового раздела
Стандартный CommerceML (Wikipedia) не покрывает B2B-сущности: контрагенты (маппинг по ИНН), взаиморасчёты (долг, кредитный лимит), индивидуальные прайсы (контрагент-товар-цена). Требуется доработка: либо расширение XML-узлов, либо отдельный REST-обмен.
Чек-лист типичных ошибок при внедрении оптового раздела
- Типы цен не привязаны к группам пользователей — цена не пересчитывается.
- Отсутствует обработка минимальной партии — клиент может заказать 1 штуку.
- Корзина общая для розницы и опта — путаница в остатках.
- Нет кеширования индивидуальных цен — тормозит каталог.
- Документы не генерируются автоматически — клиенты уходят.
| Этап | Длительность | Результат |
|---|---|---|
| Анализ и проектирование | 2-3 дня | Техническое задание |
| Настройка типов цен | 2-4 дня | Работающая ценовая схема |
| Разработка модулей | 5-10 дней | Готовый функционал |
| Интеграция с 1С | 3-5 дней | Обмен данными |
| Тестирование | 2 дня | Отчёт |
Что входит в нашу работу
При заказе разработки оптового раздела вы получаете:
- Аудит текущего каталога и настройка типов цен.
- Реализация механизмов минимальной партии, кратности, кредитных лимитов.
- Разработка интерфейса быстрого заказа и загрузки Excel.
- Настройка документооборота (счета, акты) в личном кабинете.
- Интеграция с 1С (контрагенты, взаиморасчеты, прайсы).
- Тестирование и передача документации.
- Поддержка после запуска (по договору).
Наши компетенции
Более 7 лет опыта в разработке на 1С-Битрикс. Стек: PHP 8.1+, инфоблоки v2.0, ORM, компоненты 2.0, MySQL/MariaDB, интеграции с ЮKassa, Сбер, СДЭК, Почта России. Работаем как с облачными, так и с коробочными версиями Битрикс24.
Получите консультацию по вашему проекту — мы предложим оптимальное решение и назовем сроки.







