Как мы превратили сложную систему расчётов
в автоматический калькулятор стоимости забора
О проекте
Задача
У клиента уже был сайт на 1С-Битрикс и готовый дизайн калькулятора. Однако за интерфейсом, который выглядит относительно просто, скрывалась достаточно сложная система расчётов.
Стоимость забора зависит сразу от большого количества параметров: длины и высоты забора, ширины ворот и калитки, типа ворот, характеристик профнастила, параметров столбов и лаг, фурнитуры, дополнительных опций и стоимости доставки.
При этом цены и характеристики хранились в прайсовых данных 1С-Битрикс, а итоговая стоимость должна была пересчитываться динамически при каждом изменении параметров.
Перед командой стояла задача не просто сверстать интерфейс, а перенести существующую методику расчёта из таблиц и документов в работающий веб-инструмент.

Что требовалось сделать
Мы разработали калькулятор с нуля по готовому UX/UI-дизайну и встроили его непосредственно в существующий сайт на 1С-Битрикс.
Пользователь может указать параметры будущего забора, выбрать готовую конфигурацию или самостоятельно изменить отдельные характеристики.
В зависимости от выбора система автоматически пересчитывает:
- количество необходимых материалов;
- стоимость столбов;
- стоимость лаг;
- стоимость профнастила;
- стоимость ворот и калитки;
- стоимость фурнитуры;
- стоимость монтажа;
- стоимость доставки;
- скидку;
- итоговую стоимость проекта.
Всего пользователь работает примерно с 15 параметрами, которые влияют на итоговый расчёт.
Самая сложная часть
Основная сложность проекта была не в интерфейсе.
Исходная методика расчёта находилась в документах и таблицах и содержала множество взаимозависимых формул.
Например, количество столбов рассчитывается исходя из длины забора за вычетом ширины ворот и калитки с учётом заданного расстояния между столбами.
Количество листов профнастила зависит от общей длины забора и рабочей ширины конкретного профиля.
Стоимость материалов, в свою очередь, складывается из нескольких рассчитанных ранее значений.
Отдельно рассчитываются работы, монтаж ворот и калитки, доставка и скидка.
Нам необходимо было перенести эту логику в JavaScript/PHP таким образом, чтобы изменение одного параметра автоматически пересчитывало всю связанную цепочку стоимости.
При этом расчёт должен был использовать реальные данные из прайса, а не набор заранее заданных цен.
Динамическая работа с прайсом
Цены и характеристики материалов хранились в 1С-Битрикс.
Калькулятор обращается к этим данным и подбирает соответствующие значения в зависимости от выбранных пользователем параметров.
Например, стоимость профнастила зависит от сочетания:
- марки;
- толщины металла;
- типа покрытия;
- цвета;
- рабочей ширины.
А стоимость элементов каркаса зависит от выбранных параметров столбов и лаг.
Таким образом, цена не была просто «зашита» в калькулятор.
Изменение параметров → подбор актуальных данных из прайса → перерасчёт → обновление итоговой стоимости.
Готовые конфигурации
Чтобы пользователю не приходилось самостоятельно разбираться во всех характеристиках материалов, мы реализовали готовые конфигурации:
Базовый / Стандарт / Премиум.
При выборе конфигурации автоматически меняются параметры комплектующих и соответствующие цены.
При этом пользователь не ограничен готовым вариантом.
Он может выбрать, например, конфигурацию «Стандарт», а затем самостоятельно изменить отдельный параметр. Калькулятор после этого пересчитает стоимость.
Получился двухуровневый сценарий:
готовая конфигурация для быстрого расчёта → возможность детальной настройки для точного расчёта.

Расчёт доставки
Отдельной задачей стала доставка.
Стоимость зависит от расстояния между складом и адресом установки. Поэтому мы интегрировали расчёт с API Яндекс.Карт.
Пользователь указывает адрес, система определяет расстояние, после чего стоимость доставки автоматически включается в общий расчёт.
На этапе разработки именно эта часть потребовала дополнительной отладки: при попытке одновременно получать необходимые данные из API возникали проблемы с обработкой значения стоимости маршрута.
В итоге удалось реализовать полный сценарий:
адрес → расстояние → стоимость доставки → итоговая сумма.
Автоматическая скидка
Система также учитывает скидку в зависимости от стоимости материалов.
При достижении определённой суммы калькулятор автоматически применяет соответствующий процент скидки и показывает пользователю итоговую стоимость с её учётом.
То есть менеджеру уже не требуется отдельно проверять условия скидки и пересчитывать заказ вручную.
Генерация PDF-расчета
Мы добавили ещё один важный сценарий, которого не было просто в исходной задаче по расчётам.
Пользователь может получить готовый PDF с результатами расчёта.
Документ автоматически формируется на основе выбранных параметров и содержит:
- рассчитанные материалы;
- стоимость работ;
- доставку;
- скидку;
- итоговую стоимость;
- параметры будущего забора.
При этом PDF доступен после отправки заявки.
Пользователь заполняет контактную форму, после чего:
заявка → автоматически передаётся в CRM → сохраняется расчёт → пользователю становится доступен PDF.
Таким образом, калькулятор одновременно выполняет две функции:
инструмент расчёта + инструмент генерации лида.
Менеджер получает не просто телефон потенциального клиента, а его сохранённый расчёт, с которым уже можно продолжать работу.
Результат
Вместо сложной системы формул из документов и таблиц появился полноценный интерактивный инструмент непосредственно на сайте.
Пользователь самостоятельно может:
- выбрать параметры забора;
- выбрать готовую конфигурацию;
- изменить отдельные характеристики;
- увидеть актуальную стоимость материалов;
- рассчитать стоимость работ;
- указать адрес и получить стоимость доставки;
- увидеть применённую скидку;
- отправить заявку;
- получить подробный PDF с результатами расчёта.
При этом вся логика работает непосредственно внутри существующего сайта на 1С-Битрикс.
Этот проект хорошо показывает, что калькулятор — это не просто набор полей и формула сложения.
Мы взяли реальную коммерческую методику расчёта, большое количество зависимых параметров и прайс-листов и превратили их в автоматизированный цифровой инструмент.
Причём результатом расчёта становится не просто цифра на экране.
Пользователь получает готовый расчёт и PDF, а компания — квалифицированный лид с сохранёнными параметрами заказа.
Именно поэтому калькулятор стал частью процесса продаж, а не просто дополнительной функцией сайта.