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

В оптовому інтернет-магазині кожна позиція продається тільки партіями — від 6, 10 або 100 штук. Якщо покупець додає в кошик 5 замість 6, кошик або округлює кількість до мінімуму, або видає помилку. На перший погляд — просте налаштування через адмінку. Але на практиці, коли в каталозі 10 000 товарів,
Послуги, які ми пропонуємо
Показано 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
    763
  • 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

В оптовому інтернет-магазині кожна позиція продається тільки партіями — від 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: покрокова інструкція

  1. Отримайте ID товару або торгової пропозиції (наприклад, через CIBlockElement::GetList).
  2. Викличте \Bitrix\Catalog\Model\Product::update($elementId, ['MIN_QUANTITY' => 10]).
  3. Переконайтеся, що кеш каталогу скинуто (використовуйте метод ClearByTag).
  4. Перевірте в кошику, що нове значення застосовується.
  5. Для масового встановлення виконайте цикл в агенті або скрипті.
\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 робочий день і запропонуємо оптимальне рішення. Зв'яжіться з нами для аудиту вашого каталогу. Звертайтеся за детальним розбором — отримайте консультацію.