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

Розробка калькулятора будматеріалів на 1С-Бітрікс Клієнт заходить в інтернет-магазин будматеріалів, йому потрібно 15 позицій для ремонту. Він відкриває 15 сторінок, вбиває розміри в Excel, щось забуває, замовляє зайве, а потім повертає. Втрачається час і гроші. Наш калькулятор робить це за 1 хвил
Послуги, які ми пропонуємо
Показано 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
    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% та скоротив час обробки заявок.

Як ми вирішуємо проблеми розрахунку будматеріалів?

Головна проблема — помилки в одиницях виміру та геометрії. Наприклад, норма витрати в літрах на м², а фасування у відрах по 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%. Без автоматичного додавання в кошик клієнт змушений вручну шукати кожен товар, що призводить до втрати до 70% потенційних замовлень. Наш модуль вирішує цю проблему. Параметри, які ми враховуємо: геометрія стін (довжина, висота), прорізи (вікна, двері), товщина кладки, тип матеріалу, запас на підрізку (5–15%), кут нахилу покрівлі, одиниці фасування. Ігнорування хоча б одного параметра веде до переплати 20–40%.

Поширені помилки при самостійному розрахунку

  • Не враховано одиниці виміру (л/м² vs відра) — автоматичний перерахунок
  • Ігнорується геометрія (кут покрівлі) — облік у формулах
  • Немає запасу на підрізку (плитка, ламінат) — коефіцієнт відходів
  • Норми зберігаються в коді, а не в БД — HL-блок
  • Відсутній зв'язок з кошиком — кнопка “додати все”

Що входить в роботу

При замовленні розробки калькулятора ви отримуєте:

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

Терміни розробки

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

Вартість розраховується індивідуально залежно від складності та кількості матеріалів. Зв'яжіться з нами для отримання точної оцінки.

Чому варто обрати нас?

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

Wikipedia: Калькулятор — основні принципи, на які ми спираємося. Детальніше про кошик Бітрікс — офіційна документація.