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

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

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

Этапы разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • 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 Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Конфигуратор товаров: как избавиться от тысяч 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) — отдельный проект.

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