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

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

KM1 — производитель металлоконструкций, кабеленесущих систем и решений для промышленной инфраструктуры. Часть продукции компания продаёт через собственный интернет-магазин, которым пользуются инженеры, проектировщики и подрядчики. Для многих клиентов сайт — это не просто каталог, а рабочий инструмент для подбора инженерных решений и расчета материалов под конкретный объект.

Рассказываем, как мы разработали для KM1 инженерный калькулятор промышленного фальшпола, автоматизировали подбор комплектующих и интегрировали сервис с Битрикс и внутренним каталогом компании за 40 дней.

Задача

KM1 работает на рынке с 90-х годов и производит металлоконструкции, кабеленесущие системы и решения для промышленной инфраструктуры. Компания развивает онлайн-направление и инструменты для самостоятельного подбора продукции через сайт.

Через интернет-магазин KM1 продаёт в том числе промышленный фальшпол. Это система пола на регулируемых опорах, под которой размещаются кабели и инженерные коммуникации.
Такую конструкцию нельзя подобрать как обычный товар из каталога. Для расчета нужно учитывать нагрузку на пол, площадь помещения, тип панелей, высоту опор и совместимость комплектующих.

Раньше инженеры и проектировщики собирали эти данные вручную: работали с документацией, Excel-таблицами и внутренними расчетными материалами, а затем формировали смету.
Поэтому компании понадобился отдельный сервис расчёта внутри интернет-магазина, интегрированный с сайтом и внутренним каталогом KM1.

Расчёты должны были соответствовать инженерной документации KM1

Для KM1 было важно, чтобы калькулятор считал так же, как считают инженеры внутри компании. Ошибка в таких расчётах может привести не только к неправильному подбору комплектующих, но и к проблемам уже на реальном объекте.

В этот период на рынке как раз обсуждался случай с обрушением конструкции на одном из объектов. Прямой связи с подобными калькуляторами подтверждено не было, но сама ситуация стала дополнительным напоминанием о том, насколько критичной может быть ошибка в расчётах.

Подготовка данных для расчета и подбора комплектующих

У KM1 уже была инженерная документация, Excel-файлы с формулами расчетов и параметрами комплектующих. Товарные данные хранились в Битрикс: артикулы, характеристики, параметры комплектующих и цены.

На основе этих материалов мы разобрали логику расчётов и подготовили структуру данных для сервиса: какие параметры нужны для подбора, какие позиции участвуют в расчёте и как результат должен переходить в смету.

Логику расчета перенесли в понятный пользовательский сценарий

В основе нового сервиса использовали внутренний калькулятор KM1, которым уже пользовалась команда компании. Важно было сохранить привычный сценарий расчёта, но сделать его понятным для пользователей интернет-магазина.

Мы подготовили прототип интерфейса в Figma и заложили в него основной путь пользователя: ввод параметров объекта, выбор характеристик фальшпола, получение расчета и переход к смете.
Так сервис сохранил подход KM1 к расчёту фальшпола, но стал доступен внешним пользователям: инженерам, проектировщикам и подрядчикам, которые подбирают решение через сайт.

1402.png

Расчёт комплектующих по каталогам и выгрузка сметы

После ввода ключевых параметров сервис сопоставляет выбранные характеристики фальшпола с каталогами панелей, стоек и аксессуаров и определяет, какие комплектующие нужны для конкретного объекта.

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

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

В результате пользователь получает не просто расчет, а готовый документ с перечнем материалов, который можно использовать дальше в работе с проектом.

1403.png

Интеграция с Битрикс и обновление каталогов через cron

Калькулятор должен был работать с актуальными данными из каталога KM1. При этом обновлять эти данные вручную было бы неудобно и небезопасно: при изменении каталога, цен или состава комплектующих расчёты могли быстро устаревать.

Для этого мы реализовали связку с Битрикс на PHP. Сервис получает данные по товарам стандартными методами Битрикс и формирует общий CSV-файл с каталогом продукции. Дальше отдельный обработчик разбирает этот файл на несколько каталогов: стойки, панели и аксессуары. Эти данные используются в расчетах и подборе комплектующих.

Автоматическое обновление настроили через cron: скрипты по расписанию обновляют выгрузки и синхронизируют данные между Битрикс и расчётным сервисом.

Во время проекта внутри KM1 параллельно обновлялись инженерные и IT-системы, поэтому схема интеграции уточнялась по ходу работы. Изначально сервис строился вокруг выгрузки файлов, но после подключения к инфраструктуре клиента мы получили доступ к серверу KM1, развернули решение на стороне компании и подключили калькулятор напрямую к внутренней системе.

Перед запуском протестировали расчёты и пользовательские сценарии

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

Финальную проверку проводили совместно с инженерной командой KM1, которая сверяла результаты сервиса с внутренними расчетами компании.

Основные доработки на этапе тестирования были связаны с отображением данных, округлениями и отдельными элементами интерфейса.

От старта проекта до запуска — около 40 дней

Проект от старта до запуска занял около 40 календарных дней. За это время мы реализовали расчетную логику, пользовательский сценарий, интеграцию с Битрикс, автоматическое обновление каталогов и выгрузку смет в Excel.

Результат проекта

Изначально проект внутри KM1 рассматривался как проверка гипотезы: насколько инженерные калькуляторы будут востребованы внутри интернет-магазина и стоит ли развивать это направление дальше.

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

Стек технологий

Figma

JS

PHP

Сотрудники

Антон Воловод

Менеджер проектов

Дмитрий Кущ

PHP-разработчик

Никита Холод

Frontend-разработчик / Верстальщик