Розробка модуля управління акціями 1С-Бітрікс

Штатний модуль `sale` містить механізм знижок через `b_sale_discount` — правила, засновані на умовах кошика. Це потужний інструмент, але він заточений під автоматичні знижки на рівні замовлення. Маркетингові акції з банерами, періодами, лічильниками учасників, лімітами використання, механікою «купи
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка модуля управління акціями 1С-Бітрікс
Середній
~1-2 тижні

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1458
  • 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
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1163

Штатний модуль sale містить механізм знижок через b_sale_discount — правила, засновані на умовах кошика. Це потужний інструмент, але він заточений під автоматичні знижки на рівні замовлення. Маркетингові акції з банерами, періодами, лічильниками учасників, лімітами використання, механікою «купи 2 — отримай 3» — все це або не реалізується стандартними засобами, або потребує громіздких обхідних рішень. Клієнти часто приходять із запитом: «зробіть акцію «купи 2 за ціною 1», але в Бітріксі це не знижка на товар, а повноцінний бандл. Стандартні можливості не дають гнучкості для умов на рівні кошика — наприклад, знижка тільки для зареєстрованих користувачів або при досягненні суми з певним артикулом. Все це впирається в необхідність окремого модуля. За 5+ років розробки на Бітрікс ми накопичили десятки кейсів, де стандартні знижки не рятували. Модуль управління акціями закриває цю прогалину — пропонуємо готову ORM-модель, гнучкий конструктор умов та інтеграцію з будь-якими каналами продажів. Використовуйте готовий модуль — і забудьте про головний біль із кастомними подіями. Отримайте консультацію — ми допоможемо підібрати оптимальну конфігурацію.

Чому стандартних знижок недостатньо?

b_sale_discount — це лінійні правила: знижка на суму, на товар, на групу. Все, що виходить за рамки — акції з купонами, бандли, подарунки при виконанні кастомних умов — потребує або костильних подій, або зовнішнього модуля. Наш підхід: окрема таблиця b_vendor_promo_action з JSON-умовами та винагородою. Це дає гнучкість без оверхеду. Економія часу розробки — до 60% у порівнянні з кастомними рішеннями.

Модель даних

Модуль vendor.promo з наступними таблицями:

  • b_vendor_promo_action — акції: id, code, name, type (discount/gift/bundle/coupon/cashback), date_from, date_to, is_active, priority, usage_limit, usage_count, conditions (JSON), reward (JSON), banner_image_id, description
  • b_vendor_promo_coupon — купони: id, action_id, code, discount_type (percent/fixed), discount_value, usage_limit, usage_count, user_id (null = загальний), expires_at, is_active
  • b_vendor_promo_usage — історія застосування: id, action_id, coupon_id, order_id, user_id, discount_amount, applied_at
  • b_vendor_promo_gift — подарункові товари акції: id, action_id, product_id, quantity

Типи акцій

  • Знижка за умовою: "conditions": {"min_sum": 3000, "iblock_section_id": 12} — знижка 10% на замовлення від 3000 гривень у розділі «Електроніка».
  • Комплект (bundle): "type": "bundle" — при додаванні товару A в кошик товар B додається автоматично зі знижкою. Реалізується через подію OnSaleBasketItemAdd.
  • Купон: генерація унікальних кодів у b_vendor_promo_coupon, перевірка при оформленні замовлення.
  • Подарунок: при виконанні умов кошика — автоматично додається товар з b_vendor_promo_gift з ціною 0.
  • Cashback: нарахування балів програми лояльності замість знижки.

Як працює перевірка умов?

class PromoChecker { public function check(PromoAction $action, \Bitrix\Sale\Order $order): CheckResult { $conditions = $action->getConditions(); $basket = $order->getBasket(); if (isset($conditions['min_sum']) && $basket->getPrice() < $conditions['min_sum']) { return CheckResult::fail('Мінімальна сума замовлення не досягнута'); } if ($action->getUsageLimit() && $action->getUsageCount() >= $action->getUsageLimit()) { return CheckResult::fail('Ліміт використання акції вичерпано'); } return CheckResult::success(); } } 

Пріоритет і сумісність акцій

Кілька акцій можуть бути активними одночасно. Параметр priority визначає порядок застосування. Поле exclusive в налаштуваннях акції означає, що інші акції з нею не поєднуються.

Логіка: активні акції сортуються за спаданням пріоритету. Для кожної перевіряється CheckResult. Якщо акція exclusive і пройшла перевірку — застосовується, цикл переривається.

Генератор купонів

Масова генерація унікальних кодів для email-розсилок:

$generator = new CouponGenerator($action); $coupons = $generator->generate(1000, [ 'length' => 8, 'prefix' => 'SALE-', 'charset' => 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789', ]); // batch insert в b_vendor_promo_coupon + CSV-файл для експорту 

Символи, схожі на цифри (O/0, I/1), виключаються з charset, щоб уникнути помилок при ручному введенні.

Статистика акцій

В адміністративному інтерфейсі по кожній акції видно:

  • Кількість застосувань та відсоток від ліміту
  • Сумарна знижка за період
  • Конверсія: скільки користувачів додали купон до незавершеного замовлення vs завершили оплату
  • Топ товарів, що потрапили під акцію
  • Динаміка використання по днях (графік)

Адміністративний інтерфейс

  • Список акцій з фільтром за статусом, типом, датою
  • Конструктор умов та винагород
  • Управління купонами: генерація пачками, деактивація, експорт у CSV
  • Звіт по акції з розбивкою по замовленнях

Що входить у розробку модуля?

Компонент Опис
ORM-таблиці Готові D7-сутності для акцій, купонів, використання
Конструктор умов Інтерфейс для задавання правил кошика (сума, розділ, товар, користувач)
Види винагород Знижка процентна/фіксована, подарунок, бандл, купон, cashback
Генератор купонів Масова генерація з дайджест-перевіркою та експортом у CSV
Сумісність акцій Пріоритети, ексклюзивність, тегування
Статистика Звіти по кожній акції: кількість застосувань, знижка, конверсія
Адміністративний інтерфейс Фільтри, звіти, управління купонами
Тестування Навантажувальне тестування з імітацією 1000+ одночасних перевірок

Терміни розробки

Етап Термін
ORM-таблиці, модель 1 день
Перевірка умов, знижки 2 дні
Подарунки та бандли 2 дні
Генератор купонів 1 день
Пріоритети та сумісність 1 день
Звіти та статистика 1 день
Адміністративний інтерфейс 2 дні
Інтеграційне тестування 1 день

Разом: 11 робочих днів під ключ. Інтеграція з email-платформою — додатково 1–2 дні.

Порівняння стандартного підходу та нашого модуля

Критерій Стандартні знижки Наш модуль
Акція «купи 2 — отримай 3» Потребує подій і костилів Налаштовується за 5 хвилин
Купони для email-розсилок Немає вбудованого генератора Генерація пачками 1000+ кодів
Пріоритети акцій Не підтримуються Вбудовані пріоритети та exclusive
Звіти по акціях Тільки базові Конверсія, динаміка, топ товарів

Зв'яжіться з нами — ми оцінимо ваш проект і запропонуємо оптимальне рішення. Опираючись на 5+ років досвіду з Бітрікс, гарантуємо працездатність модуля та його вбудовуваність в існуючу архітектуру. Замовте розробку модуля управління акціями та отримайте гнучкий інструмент для маркетингових кампаній.

Посилання на офіційну документацію: ORM D7. 1С-Битрикс: D7 ORM