Разработка конфигуратора товаров на 1С-Битрикс под ключ

При каталоге с более чем 10 000 комбинаций опций стандартные торговые предложения [SKU](https://ru.wikipedia.org/wiki/SKU) перестают справляться. Сайт тормозит, добавить новую опцию становится проблемой, а цены считаются с ошибками. Типичный кейс — сборка ПК или конфигуратор кухонь, где параметры пе
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка конфигуратора товаров на 1С-Битрикс под ключ
Средний
~1-2 недели

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

Часто задаваемые вопросы

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

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

При каталоге с более чем 10 000 комбинаций опций стандартные торговые предложения SKU перестают справляться. Сайт тормозит, добавить новую опцию становится проблемой, а цены считаются с ошибками. Типичный кейс — сборка ПК или конфигуратор кухонь, где параметры пересекаются по совместимости. В таких ситуациях кастомный конфигуратор на 1С-Битрикс — единственное адекватное решение. Мы реализовали более 30 подобных проектов и знаем все подводные камни. Официальная документация 1С-Битрикс рекомендует использовать торговые предложения только для простых комбинаций. Стоимость разработки варьируется от $1.5k–5k в зависимости от сложности. Оцените ваш проект — получите консультацию для предварительного анализа.

Когда стандартных торговых предложений недостаточно?

Стандартные торговые предложения работают до 4–5 параметров. При 6+ взаимозависимых опциях или сложных правилах совместимости таблица b_catalog_product_offer становится неэффективной. Конфигуратор с собственной матрицей правил решает эту задачу. В наших проектах матрицы достигают 500 000 комбинаций — мы знаем, как это поддерживать. Экономия на эксплуатации за счёт оптимизации кэширования составляет до 30%, что при среднем обороте $45k–65k даёт экономию до $14k–20k в год.

Хранение данных: инфоблок или собственная таблица?

Выбор способа хранения критичен для производительности. Сравним оба варианта:

Способ хранения Число комбинаций Производительность Гибкость правил
Инфоблок + торговые предложения до ~10 000 Средняя Низкая
Собственная таблица совместимости от 10 000 до 1 000 000+ Высокая Высокая

На практике комбинируем: основные данные — в инфоблоке, правила совместимости — в отдельной таблице. Это даёт и скорость, и управляемость. На матрице из 100 000 комбинаций собственная таблица с индексами работает в 10 раз быстрее вложенных свойств инфоблоков. Это позволяет снизить затраты на серверное оборудование на $2k–4k в год.

Пример расчёта производительности При матрице из 500 000 комбинаций собственные таблицы обрабатывают запрос за 2–3 мс, а вложенные свойства — за 50–70 мс. Разница в 20–25 раз.

Техническая реализация

Таблица совместимости в действии

Каждый шаг конфигуратора — набор опций. Выбор на шаге N динамически ограничивает опции на шаге N+1. Используем простую SQL-структуру:

CREATE TABLE custom_configurator_rules ( id SERIAL PRIMARY KEY, product_id INT NOT NULL, param_key VARCHAR(100) NOT NULL, param_value VARCHAR(255) NOT NULL, depends_key VARCHAR(100) NOT NULL, depends_val VARCHAR(255) NOT NULL, available TINYINT DEFAULT 1 ); CREATE INDEX idx_rules_product ON custom_configurator_rules (product_id, param_key, param_value); 

При выборе пользователем параметра AJAX-запрос уходит на /bitrix/services/main/ajax.php с действием custom:configurator. Обработчик читает таблицу правил и возвращает доступные опции для следующего шага и текущую цену.

Расчёт цены на лету

Цена конфигурации = базовая цена товара + наценки за выбранные опции. Наценки хранятся в отдельной таблице:

CREATE TABLE custom_configurator_price_mod ( id SERIAL PRIMARY KEY, product_id INT NOT NULL, param_key VARCHAR(100) NOT NULL, param_value VARCHAR(255) NOT NULL, price_mod DECIMAL(12,2) NOT NULL, price_pct DECIMAL(5,2) DEFAULT 0 ); 

Обработчик суммирует наценки, применяет скидки через \Bitrix\Catalog\Discount\DiscountManager и возвращает итог. Клиент видит, как меняется цена при каждом выборе.

Интеграция с корзиной и заказами

После завершения сборки пользователем в корзину добавляется товар, а JSON конфигурации прикрепляется как пользовательское свойство корзины:

\Bitrix\Sale\Basket::create(SITE_ID); $basketItem = $basket->createItem('catalog', $productId); $basketItem->setFields([ 'QUANTITY' => 1, 'PROPS' => [ ['NAME' => 'Конфигурация', 'CODE' => 'CONFIGURATION', 'VALUE' => json_encode($config)], ], ]); 

Конфигурация отображается в карточке заказа администратора и в письме подтверждения через шаблон order_new. Интеграция с 1С через CommerceML для синхронизации остатков и цен доступна по запросу.

Управление правилами через админку

Для контент-менеджеров разрабатываем интерфейс в /bitrix/admin/ на стандартных классах CAdminList и CAdminForm. Это позволяет добавлять новые опции, правила совместимости и наценки без написания кода. Все изменения логируются, доступен откат.

Процесс добавления новой опции:

  1. В административной панели выберите товар и раздел «Параметры конфигуратора».
  2. Нажмите «Добавить шаг» и укажите название (например, «Цвет корпуса»).
  3. Перечислите значения опции и наценки для каждого.
  4. В разделе «Правила совместимости» свяжите новую опцию с существующими шагами.
  5. Сохраните — изменения вступают в силу сразу без перезагрузки кэша благодаря агентам.

Процесс и сроки разработки

Этапы и сроки

Этап Что делаем Срок
Проектирование Анализ параметров, схема БД, прототип UI 3–4 дня
Бэкенд Таблицы, обработчики, расчёт цены, остатки 4–6 дней
Фронтенд UI конфигуратора, AJAX, обновление цены 3–5 дней
Корзина и заказы Передача конфигурации, отображение в заказе 2–3 дня
Административный интерфейс CRUD правил и наценок 2–3 дня
Тестирование Все комбинации, граничные случаи 2–3 дня

Итого: от 2.5 до 4 недель в зависимости от числа параметров и сложности матрицы совместимости. Точную оценку даём после анализа вашего каталога. Многошаговый процесс конфигурации с проверкой совместимости реализуется на каждом этапе.

Что входит в deliverables

  • Проектная документация: схема БД, описание API, сценарии использования.
  • Настроенные доступы для контент-менеджеров (роли в Битрикс).
  • Инструкция по управлению правилами и наценками.
  • Поддержка после релиза: 2 недели бесплатных консультаций.
  • Гарантия на код: 6 месяцев с момента подписания акта.

Типичные ошибки и как их избежать

  • Отсутствие кэширования. Без кэша AJAX-запросы на каждый шаг грузят базу — сайт тормозит даже при 50 одновременных пользователях.
  • Хранение правил в свойствах инфоблока. При 50 000 комбинаций запросы к b_iblock_element_property становятся невыносимо медленными.
  • Игнорирование остатков. Если не проверять наличие каждого компонента, конфигуратор будет продавать сборку, которую нельзя собрать.
  • Плоский JSON в корзине без верификации. При изменении цены злоумышленник может подменить параметры, поэтому на сервере пересчитываем стоимость заново.

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