Налаштування сезонного ціноутворення на 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

Сезонне ціноутворення — це зміна цін за календарним розписанням: зимові куртки дорожають в жовтні, дешевіють в березні; новорічні набори йдуть з наценкою в грудні; літні товари уцінюються в серпні. У Bitrix це вирішується через знижки з умовою за датою або через планові агенти, які змінюють ціни за розписанням.

Знижки каталогу з обмеженням за датою

Стандартний механізм — правила каталогу в b_catalog_discount. У кожного правила є поля ACTIVE_FROM та ACTIVE_TO (тип DateTime). Створіть правило з потрібним періодом та дією «Зменшити ціну на X%»:

  • Правило «Зимова наценка»: ACTIVE_FROM = 2024-10-01, ACTIVE_TO = 2025-02-28, знижка -15% (негативна = наценка не підтримується напрямо — див. нижче)
  • Правило «Літня розпродаж»: ACTIVE_FROM = 2024-07-01, ACTIVE_TO = 2024-08-31, знижка 20%

Обмеження: знижки каталогу вміють тільки зменшувати ціну. Для наценок потрібен інший підхід.

Наценка через типи цін

Для сезонного підвищення цін створіть окремий тип ціни bl_season_price в b_catalog_group. Агент у потрібну дату заповнює b_catalog_price для цього типу, а в кінці сезону очищує. Групи користувачів переключаються на сезонний тип через CGroup::Update() або залишаються на базовому (сезонний тип як додатковий).

Інший варіант — агент напрямо оновлює базову ціну в b_catalog_price:

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

Зберігайте вихідні ціни перед зміною — у таблицю bl_price_backup з полями product_id, original_price, backup_date. Агент повернення в кінці сезону відновлює ціни з бекапу.

Розписання сезонів

Зберігайте сезонні періоди у таблиці bl_seasonal_pricing:

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

Агент SeasonalPricingAgent запускається раз в день, перевіряє записи де active_from = TODAY та applied = 0, застосовує коефіцієнт та ставить applied = 1. Аналогічно — агент повернення при active_to < TODAY.

Інтеграція з кешем

Після масового оновлення цін потрібно скинути кеш каталогу. Використовуйте \Bitrix\Main\Data\Cache::clearByTag('b_catalog') або викликайте \Bitrix\Main\Data\TaggedCache::clearByTag('catalog_element_'.$productId) у циклі. На великих каталогах (10 000+ товарів) робіть це пакетами по 500 товарів з паузами.

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

  • Таблицю розписання bl_seasonal_pricing та bl_price_backup
  • Агент застосування сезонних цін з бекапом вихідних значень
  • Агент повернення цін по закінченні сезону
  • Правила каталогу в b_catalog_discount для скидочних сезонів
  • Інвалідацію кешу після масового оновлення цін