Разработка калькулятора стройматериалов на 1С-Битрикс

Разработка калькулятора стройматериалов на 1С-Битрикс Клиент заходит в интернет-магазин стройматериалов, ему нужно 15 позиций для ремонта. Он открывает 15 страниц, вбивает размеры в Excel, что-то забывает, заказывает лишнее, а потом возвращает. Теряется время и деньги. Наш калькулятор делает это
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка калькулятора стройматериалов на 1С-Битрикс
Средний
~1-2 недели

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1455
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1018
  • 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

Разработка калькулятора стройматериалов на 1С-Битрикс

Клиент заходит в интернет-магазин стройматериалов, ему нужно 15 позиций для ремонта. Он открывает 15 страниц, вбивает размеры в Excel, что-то забывает, заказывает лишнее, а потом возвращает. Теряется время и деньги. Наш калькулятор делает это за 1 минуту — переводит параметры объекта (площадь, тип конструкции, количество комнат) в конкретный список материалов с количеством и ценой. Клиент получает ответ на вопрос «сколько мне нужно и сколько это стоит», а магазин — готовую корзину для оформления. В отличие от типовых решений, мы закладываем точные нормы расхода, геометрию объектов и коэффициенты отходов, чтобы расчёт был максимально приближен к реальности. Результат — меньше отказов от заказа из-за недоверия и больше конверсий. Один из наших клиентов после внедрения калькулятора увеличил конверсию на 30% и сократил время обработки заявок. Экономия на материалах для конечного покупателя составляет от 15 до 25%, что при среднем чеке $900–1.3k. даёт экономию $150–250.

Как мы решаем проблемы расчёта стройматериалов?

Главная проблема — ошибки в единицах измерения и геометрии. Например, норма расхода в литрах на м², а фасовка в вёдрах по 5 литров — без пересчёта клиент купит либо лишнее, либо недостаточно. Или кровля с углом 45°: её реальная площадь в 1,41 раза больше проекции, и если это не учесть, ошибка составит 41%. Мы решаем это двумя способами:

Нормы расхода в HL-блоке

Храним справочные данные в HL-блоке MaterialNorms — это позволяет менять нормы без изменения кода. Структура:

Поле Тип Описание
UF_MATERIAL_ID Int ID товара в каталоге
UF_MATERIAL_NAME String Название (для отображения)
UF_UNIT Enum Единица расчёта (м², м³, пог.м.)
UF_CONSUMPTION_RATE Float Норма расхода на единицу
UF_WASTE_FACTOR Float Коэффициент отходов (1.05–1.15)
UF_PACKAGE_SIZE Float Единица продажи (шт., рулон, мешок)
UF_PACKAGE_UNIT String Единица упаковки

Логика расчёта кирпичной кладки

namespace MyProject\Services\Calculators; class BrickCalculator { // Расход кирпича в штуках на м² в зависимости от толщины кладки private const CONSUMPTION_BY_THICKNESS = [ 120 => ['full' => 51, 'half' => 26], // кладка в полкирпича и в кирпич 250 => ['full' => 102, 'half' => 51], 380 => ['full' => 153, 'half' => 77], 510 => ['full' => 204, 'half' => 102], ]; public static function calculate( float $wallLength, float $wallHeight, array $openings, // [{width, height}, ...] — проёмы int $thicknessMm, // толщина стены в мм float $wasteFactor = 1.05 // запас 5% ): array { $wallArea = $wallLength * $wallHeight; $openingsArea = array_sum(array_map(fn($o) => $o['width'] * $o['height'], $openings)); $netArea = $wallArea - $openingsArea; $consumption = self::CONSUMPTION_BY_THICKNESS[$thicknessMm]['full'] ?? 102; $brickCount = ceil($netArea * $consumption * $wasteFactor); // Перевод в паллеты (обычно 480 штук на паллете) $palletsNeeded = ceil($brickCount / 480); return [ 'wall_area' => round($netArea, 2), 'openings_area' => round($openingsArea, 2), 'brick_count' => $brickCount, 'pallets' => $palletsNeeded, 'waste_count' => ceil($netArea * $consumption * ($wasteFactor - 1)), ]; } } 

Универсальная база для разных материалов

class MaterialCalculator { public static function calculate(string $materialType, array $params): array { $norm = self::getNorm($materialType); if (!$norm) { throw new \InvalidArgumentException("Неизвестный тип материала: {$materialType}"); } $area = $params['area'] ?? 0; // Количество в единицах расхода $rawQuantity = $area * $norm['UF_CONSUMPTION_RATE'] * $norm['UF_WASTE_FACTOR']; // Перевод в упаковки (округляем вверх) $packages = ceil($rawQuantity / $norm['UF_PACKAGE_SIZE']); $quantity = $packages * $norm['UF_PACKAGE_SIZE']; // Получаем актуальную цену из каталога Битрикс $price = self::getPrice($norm['UF_MATERIAL_ID']); return [ 'material_id' => $norm['UF_MATERIAL_ID'], 'name' => $norm['UF_MATERIAL_NAME'], 'quantity' => $quantity, 'packages' => $packages, 'package_unit' => $norm['UF_PACKAGE_UNIT'], 'price' => $price, 'total' => round($packages * $price, 2), ]; } private static function getPrice(int $productId): float { $price = \CPrice::GetBasePrice($productId); return (float)($price['PRICE'] ?? 0); } } 

Почему важно добавить результат в корзину?

Ключевое конкурентное преимущество — прямой переход «добавить всё в корзину». Клиент видит итоговый список и может заказать всё одним кликом. Вот как это реализуется:

// После расчёта — добавляем все материалы в корзину Битрикс public function addToCart(array $calculationResult): \Bitrix\Main\Result { $basket = \Bitrix\Sale\Basket::loadItemsForFUser( \Bitrix\Sale\Fuser::getId(), \Bitrix\Main\Context::getCurrent()->getSite() ); foreach ($calculationResult['materials'] as $material) { $item = $basket->createItem('catalog', $material['material_id']); $item->setField('QUANTITY', $material['packages']); } return $basket->save(); } 

Что даёт точный учёт геометрии?

Например, при расчёте кровли с углом 45° наш калькулятор даёт точность на 41% выше, чем решения, игнорирующие уклон. Для плитки мы учитываем запас на подрезку 10–15%, что сокращает повторные заказы. В среднем экономия на материалах составляет 15–25%. При среднем заказе $900–1.3k. это экономия $150–250. Без автоматического добавления в корзину клиент вынужден вручную искать каждый товар, что приводит к потере до 70% потенциальных заказов. Наш модуль решает эту проблему. Параметры, которые мы учитываем: геометрия стен (длина, высота), проёмы (окна, двери), толщина кладки, тип материала, запас на подрезку (5–15%), угол наклона кровли, единицы фасовки. Игнорирование хотя бы одного параметра ведёт к переплате 20–40%.

Распространённые ошибки при самостоятельном расчёте

  • Не учтены единицы измерения (л/м² vs вёдра) — автоматический пересчёт
  • Игнорируется геометрия (угол кровли) — учёт в формулах
  • Нет запаса на подрезку (плитка, ламинат) — коэффициент отходов
  • Нормы хранятся в коде, а не в БД — HL-блок
  • Отсутствует связь с корзиной — кнопка “добавить всё”

Что входит в работу

При заказе разработки калькулятора вы получаете:

  • Анализ ассортимента и подбор формул для каждого типа материала
  • Проектирование HL-блока норм и конфигурацию инфоблоков
  • Реализацию PHP-классов расчёта с покрытием всех геометрических случаев
  • Интеграцию с каталогом и корзиной Битрикс
  • Тестирование на реальных данных (не менее 50 сценариев)
  • Документацию по добавлению новых материалов и изменению норм
  • Обучение менеджеров работе с калькулятором
  • Гарантийную поддержку 1 месяц после запуска

Сроки разработки

Тип калькулятора Срок
Один тип материала с формой заявки 4–7 дней
Мультиматериальный с HL-блоком норм и корзиной 2–3 недели
Полный (несколько категорий, смета PDF, история) 4–7 недель

Стоимость рассчитывается индивидуально в зависимости от сложности и количества материалов. Свяжитесь с нами для получения точной оценки.

Почему стоит выбрать нас?

За плечами — более 50 реализованных проектов для интернет-магазинов строительных материалов. Мы гарантируем точность расчётов и стабильную работу. Наши калькуляторы сокращают время оформления заказа в 5 раз и увеличивают конверсию на 30%. Получите бесплатную консультацию и предварительный расчёт вашего проекта — оставьте заявку на сайте.

Wikipedia: Калькулятор — основные принципы, на которые мы опираемся. Подробнее о корзине Битрикс — официальная документация.