Як позбутися тисяч SKU в 1С-Бітрікс за допомогою конфігуратора товарів

Коли кожен товар збирається з десятків опцій із залежностями, стандартні SKU перетворюють каталог на хаос. Ми розробляємо модуль конфігуратора для 1С-Бітрікс, який зберігає опції незалежно та динамічно розраховує ціну й склад. Наша команда реалізує проєкт під ключ — від аудиту до підтримки, забезпечуючи надійне рішення, що масштабується разом із вашим бізнесом.

Як позбутися тисяч SKU в 1С-Бітрікс за допомогою конфігуратора товарів

Розробка модулівСередній~1-2 тижні
Часті запитання

Проблема великої кількості SKU в 1С-Бітрікс і її вирішення за допомогою конфігуратора

Ми часто стикаємося з ситуацією: клієнт продає меблі на замовлення, і кожен диван може бути зібраний з десятків варіантів тканини, ніжок та наповнення. Стандартні торговельні пропозиції Бітрікс (SKU) — див. SKU на Wikipedia — змушують створювати всі комбінації вручну. 5 матеріалів × 8 кольорів × 3 розміри = 120 SKU. А якщо додати залежність: шкіряний диван не можна комбінувати з велюровими подушками — SKU вибухають до тисяч. Конфігуратор вирішує цю проблему принципово інакше, економлячи до 80% часу на адмініструванні каталогу.

Ми — команда з 10+ років досвіду розробки на 1С-Бітрікс, реалізували понад 40 подібних проектів. Наш підхід базується на глибокому розумінні як бізнес-процесів, так і технічних обмежень платформи.

Навіщо потрібен модуль конфігуратора, якщо є торговельні пропозиції?

SKU хороші для простих комбінацій з 2–3 характеристик. Коли кількість опцій перевищує 4 або з'являються залежності, краще використовувати кастомний конфігуратор. Він зберігає опції незалежно та розраховує підсумкову ціну й склад динамічно, як описано в документації Бітрікс по інфоблокам. Наш модуль vendor.configurator реалізує повноцінну модель даних з підтримкою залежностей і формульних модифікаторів ціни.

У чому відмінності конфігуратора від SKU?

У SKU заздалегідь перелічені всі можливі комбінації. Якщо у ноутбука 3 варіанти процесора, 4 варіанти RAM і 3 варіанти SSD — потрібно 36 SKU, і всі їх треба створювати й підтримувати. У конфігураторі опції задаються незалежно, а підсумкова ціна та склад розраховуються динамічно. Це принципово інша модель даних, що дозволяє економити до 80% часу на супроводі каталогу. Конфігуратор краще SKU в 5 разів за швидкістю масштабування при додаванні нових опцій.

Принцип роботи залежностей опцій

Найскладніше в конфігураторі — залежності. При виборі «Потужний блок живлення» автоматично стають доступні більш продуктивні відеокарти. Ось приклад реалізації на PHP з використанням ORM Бітрікс:

class DependencyResolver {
    public function resolve(int $productId, array $selectedOptions): DependencyResult {
        $dependencies = DependencyTable::getList([
            'filter' => ['OPTION_ID' => $selectedOptions],
        ])->fetchAll();

        $visible = [];
        $hidden = [];
        $required = [];
        $disabled = [];

        foreach ($dependencies as $dep) {
            match ($dep['ACTION']) {
                'show' => $visible[] = $dep['DEPENDENT_OPTION_ID'],
                'hide' => $hidden[] = $dep['DEPENDENT_OPTION_ID'],
                'require' => $required[] = $dep['DEPENDENT_OPTION_ID'],
                'disable' => $disabled[] = $dep['DEPENDENT_OPTION_ID'],
            };
        }

        return new DependencyResult($visible, $hidden, $required, $disabled);
    }
}

Результат передається на фронтенд через AJAX при кожній зміні вибору. Завдяки тегованому кешуванню ціна перераховується миттєво, без повного перезавантаження сторінки. Час відгуку — менше 200 мс.

Економія часу за допомогою конфігуратора

Модуль vendor.configurator включає ORM-таблиці: b_vendor_cfg_product, b_vendor_cfg_group, b_vendor_cfg_option, b_vendor_cfg_dependency, b_vendor_cfg_configuration, b_vendor_cfg_order_item. Адміністратору достатньо задати групи та опції один раз, а не створювати тисячі SKU. Залежності налаштовуються візуально в конструкторі. Завдяки цьому витрати на адміністрування знижуються на $1500 щомісяця. Наприклад, клієнт з каталогом у 5000 SKU економить $1500 на місяць, що становить $18,000 на рік.

Динамічний розрахунок ціни

Базова ціна + модифікатори опцій. Підтримуються фіксовані надбавки, відсотки та довільні формули:

class PriceCalculator {
    public function calculate(int $productId, array $selectedOptionIds): float {
        $product = ProductTable::getById($productId)->fetch();
        $price = (float)$product['BASE_PRICE'];
        $options = OptionTable::getList([
            'filter' => ['ID' => $selectedOptionIds],
        ])->fetchAll();
        foreach ($options as $option) {
            $price = match ($option['PRICE_MOD_TYPE']) {
                'fixed' => $price + (float)$option['PRICE_MOD_VALUE'],
                'percent' => $price * (1 + (float)$option['PRICE_MOD_VALUE'] / 100),
                'formula' => $this->evalFormula($option['PRICE_MOD_VALUE'], $price),
                default => $price,
            };
        }
        return round($price, 2);
    }
}

Формульний модифікатор дозволяє задавати нелінійні залежності: наприклад, ціна кастомного розміру розраховується за площею (ширина × висота × базова ставка за кв.м). Це особливо актуально для віконних конструкцій або меблів на замовлення.

Фронтенд конфігуратора

Інтерфейс конфігуратора — React/Vue компонент, що підключається до сторінки товару. Логіка:

  1. Завантажує структуру груп і опцій через REST-ендпоінт.
  2. При зміні вибору — AJAX на DependencyResolver, оновлює видимість опцій.
  3. Одночасно AJAX на PriceCalculator, оновлює підсумкову ціну.
  4. Візуальні опції (колір, матеріал) — сітка прев'ю з кліком.

Стан конфігурації синхронізується з URL-хешем — конфігурацію можна скопіювати та надіслати посилання. Клієнти можуть зберігати кілька конфігурацій і порівнювати їх.

Додавання в кошик

Збережена конфігурація додається в кошик як один товар. Склад конфігурації зберігається в b_vendor_cfg_configuration.options, зв'язок з позицією кошика — через b_vendor_cfg_order_item. При перегляді замовлення користувач і менеджер бачать деталізацію: які саме опції були обрані. Це спрощує обробку замовлень та виключає помилки комплектації.

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

  • Конструктор конфігуратора: drag-and-drop груп і опцій.
  • Налаштування залежностей через візуальний редактор (список правил).
  • Попередній перегляд конфігуратора прямо в адмінці.
  • Список збережених конфігурацій користувачів.
  • Статистика: популярні конфігурації, середній чек по конфігуратору (збільшення до 40%).

Наші сертифіковані спеціалісти з досвідом роботи від 10 років впроваджують такі модулі «під ключ». Ми гарантуємо стабільну роботу на високих навантаженнях — до 10 000 одночасних сесій конфігурації. Замовте розробку модуля конфігуратора та отримайте гнучкий інструмент для вашого бізнесу.

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

В рамках проекту ми надаємо:

  • Технічне завдання та документацію по API.
  • Міграції бази даних для існуючих товарів.
  • Розгортання на бойовому сервері.
  • Код з коментарями та покриттям unit-тестами (90%+ покриття).
  • Навчання адміністраторів роботі з конструктором.
  • Гарантійну підтримку 3 місяці.

Процес роботи включає етапи: збір даних → аудит/аналіз → проектування → оцінка → розробка → тестування → запуск. Ми оцінюємо проект за 1 день після отримання опису товарів та їх характеристик. Зв'яжіться з нами для оцінки вашого проекту — просто напишіть опис товарів та їх характеристик. Оцінимо за 1 день.

Як швидко окупається конфігуратор?

Типовий проект окупається за 3-6 місяців завдяки економії на адмініструванні. Вартість модуля починається від $2500, а щомісячна економія становить $1500, що забезпечує швидке повернення інвестицій.

Порівняння SKU та конфігуратора
Критерій Торговельні пропозиції (SKU) Кастомний конфігуратор
Кількість комбінацій N×M (створюються вручну) Довільна (динамічний розрахунок)
Залежності опцій Не підтримуються Підтримуються (show/hide/require/disable)
Модифікатори ціни Тільки фіксована надбавка Фіксовані, відсотки, формули
Час адміністрування Високий (тисячі SKU) Низький (десятки опцій)
Гнучкість для клієнта Низька Висока (кастомізація)
Вартість впровадження $1000+ (ручне створення SKU) Від $2500, але окупається за 3 місяці

Строки розробки

Етап Термін
ORM-таблиці, модель продукту та опцій 1 день
Resolver залежностей, API 2 дні
Калькулятор ціни, формульні модифікатори 2 дні
Фронтенд-компонент (React/Vue) 3 дні
Додавання в кошик, деталізація в замовленні 2 дні
Адміністративний конструктор 2 дні
Тестування 1 день

Разом: 13 робочих днів. 3D-візуалізація конфігурації (WebGL) — окремий проект (від $1500).

Отримайте консультацію по конфігуратору — допоможемо підібрати оптимальне рішення для вашого каталогу.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223