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

Уявіть: каталог з 10 000 позицій, сезонні націнки на зимові товари стартують 1 жовтня. Ручне оновлення цін — 800 людино-годин на рік. Помилка в одній ціні — втрата маржі або скарги клієнтів. Наш агент вирішує це за 10 хвилин з повним бекапом та скиданням кешу. За 5 років ми реалізували десятки та
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування сезонного ціноутворення на 1С-Бітрікс
Простий
~1 день

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

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

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

  • 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

Уявіть: каталог з 10 000 позицій, сезонні націнки на зимові товари стартують 1 жовтня. Ручне оновлення цін — 800 людино-годин на рік. Помилка в одній ціні — втрата маржі або скарги клієнтів. Наш агент вирішує це за 10 хвилин з повним бекапом та скиданням кешу.

За 5 років ми реалізували десятки таких рішень для каталогів від 1000 до 100 000 товарів. Сезонні зміни цін — це не лише знижки, але й націнки: зимові куртки дорожчають у жовтні, новорічні набори йдуть з націнкою у грудні, літні товари уцінюються у серпні. У Бітрікс це вирішується через правила каталогу з умовою за датою або через планові агенти, які змінюють ціни за розкладом.

Чому варто автоматизувати сезонні ціни?

Ручне оновлення цін на 50 000 товарів займає 2-3 дні та загрожує помилками. Один пропущений товар — втрата прибутку або невдоволення клієнтів. Агент робить це за 10 хвилин з повним бекапом. У разі збою агент відновить ціни з резервної таблиці, виключивши простої.

Як агент сезонного ціноутворення гарантує відмовостійкість?

Перед будь-якою зміною ми зберігаємо вихідні ціни в таблицю bl_price_backup. Агент перевіряє записи в bl_seasonal_pricing, де дата початку збігається з сьогоднішньою, та застосовує коефіцієнт. Якщо агент падає на середині, він просто не виставляє прапорець applied — при наступному запуску він продовжить з того ж місця. Після успішного застосування всіх батчів скидається тегований кеш.

Офіційна документація 1С-Бітрікс підтверджує: «Агенти виконуються системою за розкладом і можуть бути використані для автоматизації будь-яких процесів».

Чому агентний підхід ефективніший за правила каталогу для націнок?

Стандартні знижки каталогу (правила в b_catalog_discount) не підтримують націнки — лише зменшення ціни. Для підвищення цін ми створюємо виділений тип ціни bl_season_price та агент, який за розкладом перемикає товари на цей тип. Агент працює в 10 разів швидше за стандартний cron, тому що використовує батчі по 500 записів та тегований кеш.

Приклад: агент сезонної націнки з бекапом

Зберігаємо розклад у таблиці bl_seasonal_pricing:

Поле Опис
name Назва сезону («Зимова колекція»)
active_from Дата початку
active_to Дата закінчення
modifier Коефіцієнт ціни (1.15 = +15%)
iblock_section_id Розділ каталогу (NULL = весь каталог)
applied Прапорець, чи застосовано зміну

Агент перевіряє записи, де active_from = TODAY та applied = 0, застосовує коефіцієнт і ставить прапорець. Перед зміною зберігаємо вихідні ціни в bl_price_backup:

\Bitrix\Catalog\PriceTable::updateMulti( ['CATALOG_GROUP_ID' => 1, 'PRODUCT_ID' => $productIds], ['PRICE' => new \Bitrix\Main\DB\SqlExpression('PRICE * ?f', 1.15)] ); 

Після оновлення скидаємо кеш: \Bitrix\Main\Data\Cache::clearByTag('b_catalog'). Для великих каталогів (10 000+ товарів) робимо батчами по 500 з паузами в 2 секунди.

Фрагмент коду агента (спрощено)
class SeasonalPricingAgent { public static function apply(): string { $rows = \Bitrix\Seasonal\PricingTable::getList([ 'filter' => ['=ACTIVE_FROM' => date('Y-m-d'), '=APPLIED' => false], ])->fetchAll(); foreach ($rows as $row) { // зберігаємо бекап, оновлюємо ціни, інвалідуємо кеш } return 'SeasonalPricingAgent::apply();'; } } 

Порівняння підходів до сезонного ціноутворення

Метод Знижки Націнки Швидкість застосування на 10 000 товарів
Правила каталогу Так, до -99% Ні Миттєво (зберігаються в БД)
Агент з бекапом Так, будь-який коефіцієнт Так, будь-який модифікатор ~2 хвилини (з батчами і кешем)
Гібрид (правила + агент) Так Так ~3 хвилини (подвійний запис)

Що входить в роботу

  • Створення таблиць bl_seasonal_pricing та bl_price_backup з міграціями
  • Розробка агента застосування та агента відновлення цін
  • Налаштування правил каталогу для знижкових періодів
  • Інтеграція з кешем (теговане скидання)
  • Документація з встановлення та експлуатації
  • Навчання адміністраторів
  • Підтримка 2 тижні після запуску

Процес роботи

  1. Аналітика — вивчаємо каталог, сезонні цикли, поточну логіку ціноутворення
  2. Проєктування — обираємо метод (знижки, націнки, гібрид), визначаємо таблиці та агентів
  3. Реалізація — пишемо код, міграції, тести (unit + інтеграційні)
  4. Тестування — перевіряємо на staging з копією каталогу, заміряємо продуктивність
  5. Деплой — викочуємо на прод, моніторимо першу добу

Наші метрики

  • 5+ років досвіду з Бітрікс та Бітрікс24
  • 100+ проєктів з автоматизації ціноутворення
  • Середня економія бюджету клієнта — до 40 000 грн за сезон за рахунок відмови від ручної праці
  • Зниження трудозатрат на суму понад 30 000 грн
  • 98% аптайм агентів (моніторинг через Bitrix\Main\Diag\ExceptionHandler)

Типові помилки та як їх уникнути

  • Втрата даних при збої агента — завжди робіть бекап вихідних цін перед зміною
  • Зависання кешу — після масового оновлення ціни на вітрині не змінюються. Рішення: clearByTag з поділом на батчі
  • Некоректне округлення — для цін з копійками використовуйте Math::round($price, 2) при збереженні

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