Настройка мультискладовости 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка мультискладовости 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка мультискладовости 1С-Битрикс

Когда у магазина несколько точек хранения — центральный склад, региональные, розничные точки — и нужно показывать покупателю доступность товара по каждому из них или автоматически выбирать склад отгрузки при заказе, стандартного одного склада недостаточно. Мультискладовость в Битрикс — часть модуля catalog, требует лицензии не ниже «Малый бизнес».

Включение мультискладовости

Магазин → Каталог → Настройки → вкладка "Склад":

  • Использовать склады — включить
  • Создать минимум два склада (Магазин → Каталог → Склады)

После включения остатки начинают храниться в b_catalog_store_product с разбивкой по STORE_ID. Таблица содержит поля: PRODUCT_ID, STORE_ID, AMOUNT (остаток), QUANTITY_RESERVED.

Настройка складов отгрузки в заказах

В настройках службы доставки (Магазин → Настройки → Службы доставки → [редактировать]) указывается склад, с которого производится отгрузка. Это позволяет разным службам доставки работать с разными складами.

Для более гибкого управления — правила выбора склада настраиваются через обработчик события OnSaleOrderBeforeSaved:

AddEventHandler('sale', 'OnSaleOrderBeforeSaved', function(\Bitrix\Main\Event $event) {
    $order = $event->getParameter('ENTITY');
    // логика выбора склада отгрузки на основе состава заказа, региона и т.д.
});

Отображение остатков по складам на публичной части

В компоненте catalog.element (bitrix:catalog.element) параметр USE_STORE_QUANTITY — включить отображение остатков по складам. Шаблон компонента получает переменную $arResult['STORE_QUANTITY'] — массив остатков по каждому складу.

Для вывода остатков используется вспомогательный метод:

$storeData = \Bitrix\Catalog\StoreProductTable::getList([
    'filter' => ['=PRODUCT_ID' => $productId],
    'select' => ['STORE_ID', 'AMOUNT', 'STORE_TITLE' => 'STORE.TITLE'],
    'runtime' => [
        new \Bitrix\Main\ORM\Fields\Relations\Reference(
            'STORE', \Bitrix\Catalog\StoreTable::class,
            \Bitrix\Main\ORM\Query\Join::on('this.STORE_ID', 'ref.ID')
        )
    ]
]);

Резервирование при мультискладовости

Резервы в b_sale_order_reserve содержат поле STORE_ID — резерв привязан к конкретному складу. При автоматическом резервировании Битрикс выбирает склад по приоритету (поле SORT в b_catalog_store). Если на первом складе нет достаточного количества — резервирование по умолчанию не разбивает заказ на несколько складов: это требует кастомной логики.

Синхронизация остатков с 1С

При обмене с 1С через CommerceML 2 остатки передаются в секции <Склады> файла обмена. XML_ID складов в Битрикс должны совпадать с идентификаторами складов в 1С. Мэппинг складов настраивается в /bitrix/admin/1c_exchange.php.

Сроки выполнения

Настройка мультискладовости с двумя-тремя складами, правилами отгрузки и отображением на сайте — 4–8 часов. Если нужна кастомная логика выбора склада и интеграция с 1С — 1–2 рабочих дня.