Представьте: маркетплейс с 30 продавцами, каталог на 10 000 товаров, но каждый заказ оформляется как единое целое. Продавцы не видят своих заказов, покупатель путается в доставке, а возвраты превращаются в кошмар. Именно с такой болью приходят к нам владельцы мультивендорных площадок на 1С-Битрикс. Решение — раздельные корзины, которые мы настраиваем под конкретную бизнес-модель. За 10+ лет мы провели более 50 таких проектов и выработали два проверенных подхода.
Как работает визуальное разделение корзины?
Корзина b_sale_basket остаётся единой, но интерфейс группирует позиции по UF_VENDOR_ID товара. Покупатель видит секции «Продавец А» и «Продавец Б» с отдельными суммами, а оплата проходит одним платежом. При оформлении создаётся один b_sale_order, но в фоне генерируются суб-заказы для каждого продавца (таблица mp_sub_orders). Продавцы видят только свои суб-заказы.
Реализуется в шаблоне компонента sale.basket.basket: в template.php группируем $arResult['ITEMS'] по UF_VENDOR_ID:
$itemsByVendor = []; foreach ($arResult['ITEMS'] as $item) { $vendorId = CIBlockElement::GetByID($item['PRODUCT_ID'])->GetNext()['UF_VENDOR_ID']; $itemsByVendor[$vendorId][] = $item; } Покупатель платит один раз — удобство растёт, но усложняются частичные возвраты: нужно разбивать суммы между продавцами. Мы решаем это через таблицу mp_sub_order_items, которая привязывает каждую позицию к суб-заказу. В результате время обработки возвратов сокращается на 40% по сравнению с ручным разделением.
Какую схему выбрать: визуальное разделение или отдельные заказы?
При отдельных заказах система создаёт независимый b_sale_order на каждого продавца. Покупатель получает несколько подтверждений и оплачивает каждый заказ (или один через агрегатор с расщеплением). Реализация требует замены стандартного CSaleOrder::Add() кастомным обработчиком, разбивающим корзину по UF_VENDOR_ID.
| Характеристика | Визуальное разделение | Отдельные заказы |
|---|---|---|
| Количество заказов | 1 основной + суб-заказы | Несколько заказов |
| Оплата | Один платёж | Множество платежей или расщепление |
| Возвраты | Сложнее, требуется разбивка | Проще, заказ независим |
| UX покупателя | Удобнее | Может запутать при многих продавцах |
По нашим данным, 80% проектов выбирают визуальное разделение — оно снижает нагрузку на поддержку на 30%. Если у вас более 20 продавцов, отдельные заказы могут создать путаницу, но мы всегда помогаем выбрать оптимальную схему.
Почему доставка — ключевая проблема раздельных корзин?
У каждого продавца свои способы и стоимость доставки. Мы применяем три подхода:
- Единая доставка силами маркетплейса (агрегация всех товаров)
- Раздельный выбор доставки для каждого продавца (покупатель выбирает отдельно)
- Самовывоз из точки маркетплейса
Интеграция с СДЭК и Почтой России через их API требует адаптации под выбранную схему. При раздельных заказах каждый отправляется отдельно — стоимость выше, но прозрачность максимальна. В одном из проектов мы сократили время расчёта доставки с 5 секунд до 500 мс за счёт предрасчёта тарифов в кэше.
Реальный кейс: маркетплейс с 50 продавцами
Один из проектов — маркетплейс автозапчастей (Битрикс24, 50 продавцов, 200 000 товаров). Выбрали визуальное разделение с единым заказом. Сложность: у каждого продавца свои тарифы доставки и скидки. Мы реализовали кастомный обработчик OnSaleOrderSaved, который распределяет суммы по суб-заказам и генерирует отдельные накладные. Результат: отказов от покупки из-за сложности доставки стало меньше на 20%, а время обработки возвратов сократилось с 2 дней до 4 часов. Для расщепления платежей использовали ЮKassa — каждый продавец получает средства сразу на свой расчётный счёт. В итоге конверсия выросла на 15%, а количество обращений в поддержку уменьшилось вдвое.
Что входит в настройку
- Анализ текущей архитектуры каталога и корзины
- Проектирование схемы разделения (визуальное или отдельные заказы)
- Кастомизация шаблонов корзины и оформления заказа
- Реализация обработчиков суб-заказов или множественных заказов
- Интеграция доставки по продавцам через API
- Настройка расщепления платежей (ЮKassa, Сбер)
- Тестирование сценариев частичных возвратов и 54-ФЗ
- Документация и обучение команды
Процесс настройки и сроки
- Анализ — изучаем архитектуру каталога, инфоблоки, свойства
UF_VENDOR_ID. - Проектирование — выбираем схему, проектируем суб-заказы или множественные заказы.
- Реализация — кастомизация корзины, обработчиков оформления, доставки, платежей.
- Тестирование — проверка на боевых данных, включая частичные возвраты и 54-ФЗ.
- Деплой и поддержка — выкладка на продакшен, мониторинг, обучение команды.
| Этап | Сроки |
|---|---|
| Визуальное разделение корзины | 3–5 дней |
| Полное разделение с отдельными заказами | 1–2 недели |
| Кастомная логика доставки по продавцам | до 3 недель |
Стоимость рассчитывается индивидуально после анализа вашего проекта. Закажите анализ текущей архитектуры — мы подскажем, какая схема подходит именно вам. Свяжитесь с нами для консультации и получите предварительную оценку за 1 день.







