Модуль конфигуратора товаров 1С-Битрикс с зависимостями

Когда каждый товар собирается из десятков опций с зависимостями, стандартные SKU превращают каталог в хаос. Мы разрабатываем модуль конфигуратора для 1С-Битрикс, который хранит опции независимо и динамически рассчитывает цену и состав. Наша команда реализует проект под ключ — от аудита до поддержки, обеспечивая надёжное решение, масштабируемое вместе с вашим бизнесом.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Модуль конфигуратора товаров 1С-Битрикс с зависимостями
Средний
~1-2 недели
Часто задаваемые вопросы

Конфигуратор товаров: как избавиться от тысяч SKU в 1С-Битрикс

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

Зачем нужен модуль конфигуратора, если есть торговые предложения?

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

Чем конфигуратор отличается от SKU

В SKU заранее перечислены все возможные комбинации. Если у ноутбука 3 варианта процессора, 4 варианта RAM и 3 варианта SSD — нужно 36 SKU, и все их надо создавать и поддерживать. В конфигураторе опции задаются независимо, а итоговая цена и состав рассчитываются динамически. Это принципиально другая модель данных, позволяющая экономить до 80% времени на сопровождении каталога.

Как работают зависимости опций?

Самое сложное в конфигураторе — зависимости. При выборе «Мощный блок питания» автоматически становятся доступны более производительные видеокарты. Вот пример реализации на 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 при каждом изменении выбора. Благодаря тегированному кэшированию цена пересчитывается мгновенно, без полной перезагрузки страницы.

Почему конфигуратор экономит время?

Модуль 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. Зависимости настраиваются визуально в конструкторе.

Как происходит динамический расчёт цены?

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

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-тестами.
  • Обучение администраторов работе с конструктором.
  • Гарантийную поддержку 3 месяца.

Свяжитесь с нами для оценки вашего проекта — просто напишите описание товаров и их характеристик. Оценим за 1 день.

Сравнение SKU и конфигуратора
Критерий Торговые предложения (SKU) Кастомный конфигуратор
Количество комбинаций N×M (создаются вручную) Произвольное (динамический расчёт)
Зависимости опций Не поддерживаются Поддерживаются (show/hide/require/disable)
Модификаторы цены Только фиксированная надбавка Фиксированные, проценты, формулы
Время администрирования Высокое (тысячи SKU) Низкое (десятки опций)
Гибкость для клиента Низкая Высокая (кастомизация)

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

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

Итого: 13 рабочих дней. 3D-визуализация конфигурации (WebGL) — отдельный проект. Получите консультацию по конфигуратору — поможем подобрать оптимальное решение для вашего каталога.

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060
  • Разработка виджета онлайн-записи на прием для медицинского центра
    Разработка виджета онлайн-записи на прием для медицинского центра
    835
  • Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    928
  • Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    864
  • Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1222