Налаштування цін за обсягом замовлення 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування цін за обсягом замовлення 1С-Бітрікс
Проста
~1 робочий день
Часті питання

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

Етапи розробки

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

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

Налаштування цін за обсягом замовлення 1С-Bitrix

Оптові знижки за обсягом — стандартне завдання для B2B-магазинів: купи 10 штук — одна ціна, 50 штук — дешевше, від 100 — мінімальна ціна. У Bitrix це реалізується через систему типів цін або через знижки каталогу з умовами за кількістю. Обидва підходи робочі, але з різною механікою.

Підхід 1: Типи цін за кількістю

У каталозі Bitrix можна створити кілька типів цін (b_catalog_group): «Роздріб», «Оптова 10+», «Оптова 50+». Для кожного товара заводяться кілька записів у b_catalog_price з різними CATALOG_GROUP_ID. Користувачам призначаються групи, кожна група бачить свій тип ціни.

Проблема: групи користувачів призначаються заздалегідь, а не динамічно при досягненні порога в кошику. Метод підходить для постійних оптових клієнтів, але не для разових накопичувальних знижок «у цьому замовленні».

Підхід 2: Знижки каталогу з умовою за кількістю

Більш гнучкий варіант — знижки через b_catalog_discount. В адміністративному розділі: «Магазин → Правила каталогу» → створюємо правило з умовою «Кількість товара >=» та дією «Зменшити ціну товара на X%».

Структура знижки:

  • Умова: catalog_PRODUCT_QUANTITY >= 10 (кількість конкретного товара в кошику)
  • Дія: DISCOUNT_PERCENT = 10 (знижка 10%)
  • Пріоритет: кілька правил для різних порогів

Bitrix застосовує знижки при перерахунку кошика через \Bitrix\Sale\Discount. Важливо: умова за кількістю перевіряється на рівні позиції в кошику, а не всього кошика. Для суміжного обсягу замовлення (усі товари разом) потрібні правила кошика з b_sale_discount.

Підхід 3: Об'ємні знижки через правила кошика

Правила кошика (b_sale_discount) дозволяють задати умову «Сума замовлення >=» або написати власну умову через PHP. Для порогів за суміжною кількістю — створюємо правило з кастомною умовою:

Тип умови: "Власна умова"
Клас умови: спадкоємець \Bitrix\Sale\Discount\Condition\Base
Логіка: підрахувати суміжну кількість товарів у кошику >= N

Це вимагає написання PHP-класу та реєстрації його через Bitrix\Sale\Discount\Discount::registerConditionsList().

Відображення шкали знижок на сторінці товара

Покажіть покупцеві шкалу: 1–9 шт — 100 руб/шт, 10–49 шт — 90 руб/шт, від 50 шт — 80 руб/шт. Дані для шкали беруться з b_catalog_price (при підході з типами цін) або розраховуються з b_catalog_discount через \Bitrix\Catalog\DiscountTable. Шкала рендеріться в шаблоні компонента catalog.element як HTML-таблиця.

Що налаштовуємо

  • Типи цін у b_catalog_group та заповнення b_catalog_price для оптових порогів (для B2B з фіксованими групами)
  • Правила каталогу в b_catalog_discount з умовами за кількістю (для динамічних порогів)
  • Шаблон відображення шкали знижок на сторінці товара
  • Коректне відображення підсумкової ціни в кошику при зміні кількості (AJAX-перерахунок)