Розроблення модуля цінових правил для 1С-Bitrix
Ціни в інтернет-магазині не статичні. Знижки за оптові замовлення, сезонні наценки, ставки для B2B-партнерів, ціни на розпродаж — все потребує різних правил. Стандартне ціноутворення Bitrix не обробляє складні правила. Модуль цінових правил дозволяє гнучке керування цінами через правила.
Типи цінових правил
- Оптова знижка — кількість ≥ 10 → 5% знижка
- Знижка для групи користувачів — VIP-клієнти → 10%
- Наценка категорії — Електроніка → +15%
- На основі часу — Black Friday → -30%
- Регіональне ціноутворення — Київ → 1500₽, СПБ → 1600₽
- Поріг суми замовлення — замовлення > 5000₽ → безплатна доставка
Механізм обробки правил
Оцінка правил чутлива до порядку:
class PricingEngine
{
public function calculate(Product $product, User $user, Order $cart): float
{
$basePrice = $product->getPrice();
$rules = RuleTable::getActive();
$discount = 0;
foreach ($rules as $rule) {
if ($rule->matches($product, $user, $cart)) {
$discount = max($discount, $rule->getDiscount());
}
}
return max(0, $basePrice * (1 - $discount));
}
}
Налаштування
Адміністративний інтерфейс для створення правил:
- Конструктор умов (товар, група користувачів, сума замовлення, дата)
- Дія (фіксована знижка, відсоток, фіксована ціна)
- Пріоритет (порядок виконання правила)
- Діапазон дат (коли активно)
Інтеграція фронтенду
На сторінці товару та в корзині відображати:
- Базова ціна
- Застосовані знижки
- Остаточна ціна
- Причина («Оптова знижка за 10+ товарів»)
Терміни розроблення
| Етап | Тривалість |
|---|---|
| Базовий механізм правил (5-6 типів) | 6–8 днів |
| Admin UI, розширені умови | 12–16 днів |
| Вивід фронтенду, сповіщення | 16–20 днів |







