Налаштування обміну складськими залишками 1С і 1С-Бітрікс
Актуальність залишків — один із головних факторів конверсії: покупець обирає товар, додає в кошик, а в момент оформлення дізнається, що його немає. Розрив між реальним залишком на складі та даними на сайті у кілька годин — норма для магазинів без налаштованого обміну. Правильна синхронізація залишків цей розрив усуває.
Як залишки передаються через CommerceML
Залишки входять у файл offers*.xml у блоці <КількістьНаСкладах>:
<Пропозиція>
<Ід>OFFER_GUID</Ід>
<КількістьНаСкладах>
<КількістьНаСкладі>
<ІдСкладу>WAREHOUSE_GUID</ІдСкладу>
<НайменуванняСкладу>Основний склад</НайменуванняСкладу>
<Кількість>15</Кількість>
</КількістьНаСкладі>
</КількістьНаСкладах>
<Кількість>15</Кількість>
</Пропозиція>
Бітрікс оновлює залишки в таблиці b_catalog_store_product за складами та сумарний залишок у b_catalog_product. Сумарний залишок — агрегат по всіх складах, використовується у фільтрах каталогу.
Налаштування складів у Бітрікс
Каталог → Склади → Налаштування складів:
- Створити склади, що відповідають складам у 1С
- Кожному складу присвоїти XML-ідентифікатор (поле «Зовнішній код») — він повинен точно збігатися з
ІдСкладуз вивантаження
Без збігу XML-ідентифікаторів залишки за складами не розподіляться — потраплять на дефолтний або «невідомий» склад. Помилка непомітна до моменту, коли менеджер виявляє розбіжність облікових даних.
Управління доступністю товарів за залишками
Каталог → Налаштування каталогу → Нульовий залишок:
- Деактивувати товар — товар зникає з каталогу при обнуленні залишку
- Показувати з кнопкою «Під замовлення» — залишок 0, але картка доступна для замовлення
- Зберігати активним — нічого не змінювати автоматично
Для магазинів із передзамовленням логіку «показувати при нульовому залишку» реалізують через властивість елемента PREORDER_AVAILABLE = Y. Обробник події приховує кнопку «Купити» і показує форму передзамовлення.
Резервування при створенні замовлення
Щоб залишок не йшов у мінус при паралельних замовленнях:
Магазин → Налаштування → Налаштування магазину → Резервування:
- Резервувати при: створенні замовлення / підтвердженні оплати (обрати залежно від бізнес-логіки)
- Знімати резерв при: скасуванні замовлення / через N днів без оплати
Резерв зберігається в b_sale_reserve_quantity і враховується при показі доступного залишку: доступно = залишок - зарезервовано. При передачі замовлення в 1С — переконатися, що 1С розуміє «зарезервовану кількість» і не вважає її вільним залишком.
Частота обміну залишками
Залишки та ціни — найбільш волатильні дані. Рекомендовані налаштування:
| Тип бізнесу | Періодичність | Обґрунтування |
|---|---|---|
| Продукти харчування, аптека | Кожні 5–15 хвилин | Швидкий обіг, критична свіжість |
| Одяг, електроніка | Кожні 30–60 хвилин | Помірний обіг |
| Будматеріали, меблі | Кожні 2–4 години | Рідкісні надходження |
Для частого обміну — використовувати окремий потік лише для offers*.xml, без повного вивантаження каталогу.
Терміни налаштування
Налаштування обміну залишками з розподілом по складах — 4–8 годин. З налаштуванням резервування, автоактивації та окремого розкладу для залишків — 1–2 дні.







