Инженерный калькулятор для интернет-магазина KM1

KM1 — производитель металлоконструкций, кабеленесущих систем и решений для промышленной инфраструктуры. Часть продукции компания продаёт через собственный интернет-магазин, которым пользуются инженеры, проектировщики и подрядчики. Для многих клиентов сайт — это не просто каталог, а рабочий инструмент для подбора инженерных решений и расчета материалов под конкретный объект.
Рассказываем, как мы разработали для KM1 инженерный калькулятор промышленного фальшпола, автоматизировали подбор комплектующих и интегрировали сервис с Битрикс и внутренним каталогом компании за 40 дней.
Задача
KM1 работает на рынке с 90-х годов и производит металлоконструкции, кабеленесущие системы и решения для промышленной инфраструктуры. Компания развивает онлайн-направление и инструменты для самостоятельного подбора продукции через сайт.
Через интернет-магазин KM1 продаёт в том числе промышленный фальшпол. Это система пола на регулируемых опорах, под которой размещаются кабели и инженерные коммуникации.
Такую конструкцию нельзя подобрать как обычный товар из каталога. Для расчета нужно учитывать нагрузку на пол, площадь помещения, тип панелей, высоту опор и совместимость комплектующих.
Раньше инженеры и проектировщики собирали эти данные вручную: работали с документацией, Excel-таблицами и внутренними расчетными материалами, а затем формировали смету.
Поэтому компании понадобился отдельный сервис расчёта внутри интернет-магазина, интегрированный с сайтом и внутренним каталогом KM1.
Расчёты должны были соответствовать инженерной документации KM1
Для KM1 было важно, чтобы калькулятор считал так же, как считают инженеры внутри компании. Ошибка в таких расчётах может привести не только к неправильному подбору комплектующих, но и к проблемам уже на реальном объекте.
В этот период на рынке как раз обсуждался случай с обрушением конструкции на одном из объектов. Прямой связи с подобными калькуляторами подтверждено не было, но сама ситуация стала дополнительным напоминанием о том, насколько критичной может быть ошибка в расчётах.
Подготовка данных для расчета и подбора комплектующих
У KM1 уже была инженерная документация, Excel-файлы с формулами расчетов и параметрами комплектующих. Товарные данные хранились в Битрикс: артикулы, характеристики, параметры комплектующих и цены.
На основе этих материалов мы разобрали логику расчётов и подготовили структуру данных для сервиса: какие параметры нужны для подбора, какие позиции участвуют в расчёте и как результат должен переходить в смету.
Логику расчета перенесли в понятный пользовательский сценарий
В основе нового сервиса использовали внутренний калькулятор KM1, которым уже пользовалась команда компании. Важно было сохранить привычный сценарий расчёта, но сделать его понятным для пользователей интернет-магазина.
Мы подготовили прототип интерфейса в Figma и заложили в него основной путь пользователя: ввод параметров объекта, выбор характеристик фальшпола, получение расчета и переход к смете.
Так сервис сохранил подход KM1 к расчёту фальшпола, но стал доступен внешним пользователям: инженерам, проектировщикам и подрядчикам, которые подбирают решение через сайт.

Расчёт комплектующих по каталогам и выгрузка сметы
После ввода ключевых параметров сервис сопоставляет выбранные характеристики фальшпола с каталогами панелей, стоек и аксессуаров и определяет, какие комплектующие нужны для конкретного объекта.
Данные по комплектующим загружаются из CSV-каталогов и используются в расчётной логике калькулятора. На их основе сервис формирует итоговый набор материалов: позиции, количество и артикулы.
Эти данные сохраняются и передаются на страницу сметы. Для выгрузки реализовали работу с Excel-шаблонами через ExcelJS: калькулятор подставляет рассчитанные позиции и значения в готовые формы спецификации и сметы, а затем формирует файл для скачивания.
В результате пользователь получает не просто расчет, а готовый документ с перечнем материалов, который можно использовать дальше в работе с проектом.

Интеграция с Битрикс и обновление каталогов через cron
Калькулятор должен был работать с актуальными данными из каталога KM1. При этом обновлять эти данные вручную было бы неудобно и небезопасно: при изменении каталога, цен или состава комплектующих расчёты могли быстро устаревать.
Для этого мы реализовали связку с Битрикс на PHP. Сервис получает данные по товарам стандартными методами Битрикс и формирует общий CSV-файл с каталогом продукции. Дальше отдельный обработчик разбирает этот файл на несколько каталогов: стойки, панели и аксессуары. Эти данные используются в расчетах и подборе комплектующих.
Автоматическое обновление настроили через cron: скрипты по расписанию обновляют выгрузки и синхронизируют данные между Битрикс и расчётным сервисом.
Во время проекта внутри KM1 параллельно обновлялись инженерные и IT-системы, поэтому схема интеграции уточнялась по ходу работы. Изначально сервис строился вокруг выгрузки файлов, но после подключения к инфраструктуре клиента мы получили доступ к серверу KM1, развернули решение на стороне компании и подключили калькулятор напрямую к внутренней системе.
Перед запуском протестировали расчёты и пользовательские сценарии
Калькулятор проверяли на реальных сценариях расчёта фальшпола: ввод параметров, подбор комплектующих, расчет нагрузки и формирование сметы. Отдельно тестировали формулы, работу с данными из Битрикс и соответствие результатов инженерной документации KM1.
Финальную проверку проводили совместно с инженерной командой KM1, которая сверяла результаты сервиса с внутренними расчетами компании.
Основные доработки на этапе тестирования были связаны с отображением данных, округлениями и отдельными элементами интерфейса.
От старта проекта до запуска — около 40 дней
Проект от старта до запуска занял около 40 календарных дней. За это время мы реализовали расчетную логику, пользовательский сценарий, интеграцию с Битрикс, автоматическое обновление каталогов и выгрузку смет в Excel.
Результат проекта
Изначально проект внутри KM1 рассматривался как проверка гипотезы: насколько инженерные калькуляторы будут востребованы внутри интернет-магазина и стоит ли развивать это направление дальше.
После запуска сервис выложили в публичный доступ на сайте компании. Калькулятор автоматизировал подбор комплектующих и расчёт промышленного фальшпола прямо внутри интернет-магазина KM1.
Стек технологий
Figma
JS
PHP
Сотрудники
Антон Воловод
Менеджер проектовДмитрий Кущ
PHP-разработчикНикита Холод
Frontend-разработчик / Верстальщик