В оптовому інтернет-магазині кожна позиція продається тільки партіями — від 6, 10 або 100 штук. Якщо покупець додає в кошик 5 замість 6, кошик або округлює кількість до мінімуму, або видає помилку. На перший погляд — просте налаштування через адмінку. Але на практиці, коли в каталозі 10 000 товарів, а партія залежить від упаковки постачальника, ручне редагування перетворюється на пекло. Один наш клієнт з каталогом із 12 000 позицій витратив тиждень на проставлення значень вручну — і все одно помилився в 15% випадків. Ми автоматизували процес через імпорт CSV та скрипт синхронізації з 1С, скоротивши час до двох годин.
У Бітрікс мінімальна партія задається полем MIN_QUANTITY у таблиці b_catalog_product. Додатково використовується STEP_QUANTITY — крок зміни кількості (кратність). При додаванні товару в кошик модуль catalog зчитує MIN_QUANTITY і автоматично піднімає кількість, якщо покупець вказав менше. Важливо: поле не впливає на ціни зі знижкою і не залежить від залишків — тільки сам товар.
Де зберігається і як працює MIN_QUANTITY
Кожен товар має запис у b_catalog_product з наступними полями:
-
MIN_QUANTITY— мінімальна кількість для замовлення (десяткове, за замовчуванням 1) -
STEP_QUANTITY— крок збільшення кількості (кратність, за замовчуванням 1)
Якщо MIN_QUANTITY = 0 або 1, обмеження не діє. При додаванні в кошик система зчитує MIN_QUANTITY і, якщо введена кількість менша, автоматично піднімає її до мінімуму (залежить від налаштування компонента кошика).
Налаштування через адміністративний інтерфейс
Каталог → [вибрати товар] → Торгові пропозиції/Кількість
Поле «Мінімальна кількість для замовлення» — вводиться число. Значення 0 або 1 означає відсутність обмеження. Для масового завдання використовується імпорт через CSV або XML (Каталог → Імпорт), де в колонці MIN_QUANTITY вказується потрібне значення.
Як налаштувати мінімальну партію для 10 000 товарів?
Якщо товарів багато, ручне редагування кожного — тиждень роботи. Оптимальний шлях: імпорт через CSV з генерацією файлу в Excel або на стороні 1С. Колонка MIN_QUANTITY у вивантаженні каталогу присутня. Для оптових позицій можна встановити значення 6, для роздрібних — 1. Після імпорту обов'язково перевірити узгодженість з STEP_QUANTITY (помилка тут — часта причина збою кошика). Імпорт CSV в 50 разів швидший за ручне редагування для 10 000 товарів.
Налаштування через API: покрокова інструкція
- Отримайте ID товару або торгової пропозиції (наприклад, через
CIBlockElement::GetList). - Викличте
\Bitrix\Catalog\Model\Product::update($elementId, ['MIN_QUANTITY' => 10]). - Переконайтеся, що кеш каталогу скинуто (використовуйте метод
ClearByTag). - Перевірте в кошику, що нове значення застосовується.
- Для масового встановлення виконайте цикл в агенті або скрипті.
\Bitrix\Catalog\Model\Product::update($elementId, [ 'MIN_QUANTITY' => 10, ]); Цей метод кращий за CIBlockElement::SetPropertyValues, тому що працює безпосередньо з таблицею b_catalog_product і тригерить кешування. Ми використовуємо його в користувацьких агентах для синхронізації з ERP.
Чому MIN_QUANTITY не працює в headless-фронтенді?
Стандартний компонент bitrix:sale.basket.basket читає MIN_QUANTITY і автоматично коригує кількість. Але якщо фронтенд headless (React, Vue), то MIN_QUANTITY потрібно отримувати через REST API (метод catalog.product.get) і реалізовувати валідацію на клієнті. Інакше покупець відправить 5, а сервер прийме замовлення без перевірки — помилка кошика.
Як узгодити MIN_QUANTITY та STEP_QUANTITY?
Якщо задано і мінімальну партію, і кратність (STEP_QUANTITY), то мінімальна кількість має бути кратною кроку. Приклад: MIN_QUANTITY = 6, STEP_QUANTITY = 3 — коректно (6/3=2). А MIN_QUANTITY = 5, STEP_QUANTITY = 3 — призводить до того, що кошик піднімає кількість до 6 (наступне кратне), але покупець бачить несподівану зміну. Ми перевіряємо цю узгодженість автоматично скриптом.
Докладніше про перевірку залишків
Для швидкої перевірки всіх товарів виконайте SQL-запит: ```sql SELECT ID, MIN_QUANTITY, STEP_QUANTITY FROM b_catalog_product WHERE MIN_QUANTITY > 0 AND STEP_QUANTITY > 0 AND MIN_QUANTITY % STEP_QUANTITY != 0; ``` Це виявить неузгоджені записи. Такі товари потрібно виправити або примусово вирівняти крок.Способи налаштування: порівняння
| Спосіб | Час на 1 товар | Підходить для масового | Помилки |
|---|---|---|---|
| Адмінка (ручне поле) | 1–2 хв | до 50 товарів | можливі описки |
| Імпорт CSV | 1–2 години на каталог | від 100 товарів | потрібна підготовка даних |
| API (скрипт) | 10–15 хв на розробку | від 1000 товарів | мінімальні при тестуванні |
Типові помилки та їх рішення
| Помилка | Причина | Рішення |
|---|---|---|
| Кошик не піднімає кількість | Компонент не читає MIN_QUANTITY |
Оновити шаблон кошика або реалізувати валідацію |
| Кількість змінюється непередбачувано | MIN_QUANTITY не кратне STEP_QUANTITY |
Вирівняти кратність |
| Після імпорту значення скинулися | Неправильний формат CSV (пропущена колонка) | Перевірити маппінг полів |
| Headless-фронтенд не застосовує мінімум | Відсутня клієнтська валідація | Додати перевірку на основі REST API |
Строки виконання
Базове налаштування мінімальної партії для одного товару або на групу через імпорт — від 2 до 4 годин. Включає: аналіз поточних даних, підготовку файлу, імпорт, перевірку в кошику, виправлення помилок узгодженості. Якщо потрібна розробка скрипта для автоматичної синхронізації з 1С — термін збільшується до 1 дня.
Що входить у налаштування під ключ
- Аудит існуючих значень
MIN_QUANTITYтаSTEP_QUANTITYпо всьому каталогу - Підготовка та проведення масового імпорту (CSV/XML)
- Написання скрипта для API (якщо потрібна автоматизація)
- Перевірка роботи кошика в стандартних та кастомних компонентах
- Коротка документація з підтримки
- Консультація щодо headless-фронтенду (якщо актуально)
Ми — сертифіковані спеціалісти з Бітрікс з досвідом впровадження понад 50 проектів налаштування каталогу для оптової та роздрібної торгівлі. Гарантуємо стабільну роботу кошика після змін. Зниження витрат на обслуговування каталогу та економія часу до 80% — очікувані результати.
Офіційна документація 1С-Бітрікс — MIN_QUANTITY допоможе розібратися в нюансах.
Для масового налаштування або складних сценаріїв (інтеграція з 1С, кастомний крок, перевірка залишків) — пишіть. Оцінимо ваш проект за 1 робочий день і запропонуємо оптимальне рішення. Зв'яжіться з нами для аудиту вашого каталогу. Звертайтеся за детальним розбором — отримайте консультацію.







