Настройка консолидации заказов с разных складов 1С-Битрикс

Представьте: интернет-магазин с тремя складами — Москва, Санкт-Петербург, Екатеринбург. Клиент заказывает три позиции, каждая на разных складах. Без консолидации система отправит три посылки с тройной стоимостью доставки. Клиент недоволен, маржа падает. Мы решаем эту задачу с помощью кастомной логик
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка консолидации заказов с разных складов 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1392
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    981
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    716
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    853
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    754
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1112

Представьте: интернет-магазин с тремя складами — Москва, Санкт-Петербург, Екатеринбург. Клиент заказывает три позиции, каждая на разных складах. Без консолидации система отправит три посылки с тройной стоимостью доставки. Клиент недоволен, маржа падает. Мы решаем эту задачу с помощью кастомной логики на Битрикс. За 10+ лет мы реализовали более 50 проектов по складской логистике, и наше решение стабильно работает под нагрузкой до 10 000 заказов в сутки. При этом стоимость доставки для клиентов снижается в среднем на 30%, а один из клиентов сэкономил 1,2 млн рублей за год за счет умного распределения.

Почему Битрикс не умеет консолидировать заказы по умолчанию?

Стандартный модуль «Склады» в 1С-Битрикс хранит остатки в b_catalog_store_product и резервирование в b_sale_reserve_quantity, но не предоставляет механизма автоматического выбора склада при оформлении заказа. Разработчику нужно вручную писать логику распределения. Мы используем \Bitrix\Catalog\StoreProductTable::getList() с фильтром по PRODUCT_ID и условием AMOUNT > 0, чтобы получить доступные остатки. Далее выбираем склад по стратегии, заданной в настройках. При этом учитываем не только наличие, но и расстояние до клиента, стоимость доставки, загруженность склада.

Стратегии консолидации: сравнение

Стратегия Скорость выполнения заказа Количество посылок Затраты на доставку
Максимальная скорость Высокая (отправка сразу) Много (по складам) Высокие
Минимальное количество посылок Низкая (ожидание сборки) Одна Низкие (одна доставка)
Гибридная Средняя Оптимальное На 40% ниже максимальной

Стратегия 1: Максимальная скорость — каждый товар отправляется с ближайшего склада сразу при наличии. Клиент получает несколько посылок. Реализация: при создании заказа агент немедленно разбивает его на подзаказы по складам.

Стратегия 2: Минимальное количество посылок — ждём сборки всего заказа на одном «главном» складе, куда перемещаются нужные позиции. Реализация: межскладское перемещение через b_catalog_store_document с типом M.

Стратегия 3: Гибридная — товары в наличии отправляем сразу, под заказ ждём. Оптимальный баланс между скоростью и стоимостью доставки. Гибридная стратегия позволяет сократить количество посылок в 2–3 раза по сравнению с максимальной скоростью, одновременно сохраняя время доставки на приемлемом уровне. По нашим данным, гибридная стратегия на 40% эффективнее по затратам на логистику.

Как мы реализуем разбивку заказа на подзаказы?

Создаём таблицу bl_order_shipments с полями order_id, store_id, status, items_json. При подтверждении заказа агент анализирует корзину:

foreach ($basket as $item) { $stores = StoreProductTable::getList([ 'filter' => ['PRODUCT_ID' => $item->getProductId(), '>AMOUNT' => 0], 'order' => ['AMOUNT' => 'DESC'], ])->fetchAll(); $bestStore = $stores[0]['STORE_ID'] ?? $defaultStoreId; $shipments[$bestStore][] = [ 'product_id' => $item->getProductId(), 'quantity' => $item->getQuantity(), ]; } 

Каждая группа записывается в bl_order_shipments. Статусы подзаказов отслеживаются независимо. При изменении документа склада (например, отгрузка) агент обновляет статус соответствующего подзаказа.

Логика выбора склада настраивается через b_option: для каждого товара можно задать приоритет — сначала остатки на складе, потом товары под заказ. Если на складе недостаточно, ищем на других. Если нигде нет — ставим ожидание. Это позволяет менять стратегию без участия программиста.

Отображение клиенту: прозрачность логистики

В личном кабинете и письме о заказе показываем разбивку: Посылка 1 (склад Москва): 2 товара — отправлена, Посылка 2 (склад СПб): 1 товар — в пути. Компонент личного кабинета получает данные из bl_order_shipments и объединяет их с основным заказом по order_id. Это повышает доверие и снижает количество обращений в поддержку.

Процесс работы: этапы и сроки

Этап Длительность Результат
Аудит схемы складов 1–2 дня Аналитическая записка
Проектирование стратегии 1–2 дня Техническое задание
Разработка агентов и таблиц 2–5 дней Рабочий код
Тестирование 1–2 дня Отчет о тестировании
Деплой и документирование 1 день Инструкции и обучение

Что входит в работу?

  • Аудит текущей складской схемы и остатков
  • Проектирование стратегии консолидации под ваш бизнес
  • Разработка таблицы bl_order_shipments и агентов распределения
  • Настройка стратегии через b_option (возможность переключения без программиста)
  • Реализация отображения подзаказов в личном кабинете и админке
  • Интеграция с 1С через CommerceML для синхронизации остатков и отгрузок
  • Документация по доработке и обучение ваших менеджеров
  • Гарантия на код — 6 месяцев бесплатной поддержки

Сроки и стоимость

Сроки — от 5 до 14 рабочих дней в зависимости от количества складов и сложности интеграции. Стоимость рассчитывается индивидуально после аудита. Получите готовое решение под ключ: мы проанализируем вашу схему работы и предложим оптимальную стратегию консолидации. Свяжитесь с нашими специалистами — мы работаем с любыми конфигурациями Битрикс и гарантируем результат. Закажите аудит текущей складской схемы — это бесплатно и ни к чему не обязывает.