Налаштування консолідації замовлень з різних складів в 1С-Бітрікс

Уявіть: інтернет-магазин з трьома складами — Київ, Львів, Харків. Клієнт замовляє три позиції, кожна на різних складах. Без консолідації система відправить три посилки з потрійною вартістю доставки. Клієнт незадоволений, маржа падає. Ми вирішуємо це завдання за допомогою кастомної логіки на Бітрікс.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування консолідації замовлень з різних складів в 1С-Бітрікс
Простий
~1 день

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1164

Уявіть: інтернет-магазин з трьома складами — Київ, Львів, Харків. Клієнт замовляє три позиції, кожна на різних складах. Без консолідації система відправить три посилки з потрійною вартістю доставки. Клієнт незадоволений, маржа падає. Ми вирішуємо це завдання за допомогою кастомної логіки на Бітрікс. За 10+ років ми реалізували понад 50 проектів зі складської логістики, і наше рішення стабільно працює під навантаженням до 10 000 замовлень на добу. При цьому вартість доставки для клієнтів знижується в середньому на 30%.

Чому Бітрікс не вміє консолідувати замовлення за замовчуванням?

Стандартний модуль «Склади» в 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 робочих днів залежно від кількості складів та складності інтеграції. Вартість розраховується індивідуально після аудиту. Отримайте готове рішення під ключ: ми проаналізуємо вашу схему роботи і запропонуємо оптимальну стратегію консолідації. Зв'яжіться з нашими фахівцями — ми працюємо з будь-якими конфігураціями Бітрікс і гарантуємо результат. Замовте аудит поточної складської схеми — це безкоштовно і ні до чого не зобов'язує.