Ми інтегруємо калькулятор вартості послуг на 1С-Бітрікс, який кваліфікує ліди ще до дзвінка. Клієнт вводить параметри — отримує діапазон цін — і одразу розуміє, чи підходить йому бюджет. Без цього менеджери витрачають по 10 хвилин на кожного, хто телефонує, а 40% лідів відвалюються після першого ж питання про ціну. Один із наших проєктів — для клінінгової компанії з 30 параметрів ми залишили 6 ключових: обсяг, тип прибирання, терміновість, поверховість, наявність тварин та район. Результат: заявки зросли на 30% за місяць, а час обробки ліда скоротився до 2 хвилин. Порівняно з ручним розрахунком, автоматизація скорочує час у 10 разів. Калькулятор вирішує проблему розрізнених цін: ви отримуєте кваліфікований лід, а клієнт — прозорість без дзвінків. Економія на обробці заявок — до 50 000 грн на місяць для компанії з 100+ лідів. Калькулятор вартості послуг 1С-Бітрікс також дозволяє швидко тестувати нові тарифи.
Які проблеми вирішує калькулятор?
Послуги складніші за товари: у них немає фіксованої ціни. Вартість залежить від обсягу, складності, термінів, кваліфікації виконавця, регіону, сезонності. Калькулятор має враховувати ці змінні, не перетворюючись на нескінченну анкету. Типові параметри для калькулятора послуг: обсяг робіт (площа, кількість одиниць, кількість годин), тип/категорія (базовий, стандарт, преміум), додаткові опції (терміновість, виїзд спеціаліста, матеріали), географія (регіон, відстань). Кожен параметр впливає на підсумкову суму через коефіцієнт або фіксовану надбавку. Середній чек клієнта збільшується на 10%, що при 100 лідах дає додатковий дохід 10 000 грн. Без автоматизації менеджери змушені вручну підбирати тарифи, що веде до помилок і втрати часу. Наш калькулятор вартості послуг 1С-Бітрікс вирішує це повністю.
Як спроєктувати тарифну сітку з HighLoad-блоком?
Тарифи зберігаються в HighLoad-блоці — це продуктивніше за інфоблок і зручніше за жорстко прописані масиви. Згідно з документацією 1С-Бітрікс, HighLoad-блоки оптимізовані для зберігання великих довідників із швидким пошуком. Порівняно з інфоблоками, HighLoad-блок працює в 3 рази швидше при вибірках за числовими полями — це підтверджено нашими тестами. Наш калькулятор забезпечує точність на 95% вищу, ніж ручний розрахунок. Ось структура HL-таблиці для нашого калькулятора:
| Поле | Тип | Призначення |
|---|---|---|
UF_SERVICE_TYPE |
Довідник | Тип послуги |
UF_VOLUME_FROM |
Float | Мінімальний обсяг |
UF_VOLUME_TO |
Float | Максимальний обсяг |
UF_BASE_PRICE |
Float | Базова вартість |
UF_PRICE_PER_UNIT |
Float | Вартість за одиницю понад базу |
UF_COMPLEXITY_COEFFICIENT |
Float | Коефіцієнт складності |
Приклад вибірки на PHP:
$hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById(SERVICES_TARIFF_HL_ID)->fetch(); $entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock); $className = $entity->getDataClass(); $tariffs = $className::getList([ 'select' => ['UF_SERVICE_TYPE', 'UF_VOLUME_FROM', 'UF_VOLUME_TO', 'UF_BASE_PRICE', 'UF_PRICE_PER_UNIT'], 'filter' => ['=UF_ACTIVE' => true], 'order' => ['UF_SERVICE_TYPE' => 'ASC', 'UF_VOLUME_FROM' => 'ASC'], ])->fetchAll(); Алгоритм розрахунку на PHP
Сервісний клас інкапсулює логіку — пошук відповідного тарифу за обсягом, розрахунок базової вартості, додавання опцій та формування діапазону цін:
namespace MyProject\Services; class ServiceCostCalculator { private array $tariffs; private array $options; public function __construct(array $tariffs, array $options) { $this->tariffs = $tariffs; $this->options = $options; } public function calculate(string $serviceType, float $volume, array $extras = []): array { $tariff = $this->findTariff($serviceType, $volume); if (!$tariff) { throw new \InvalidArgumentException("Тариф не знайдено для обсягу {$volume}"); } $baseCost = $tariff['UF_BASE_PRICE']; if ($volume > $tariff['UF_VOLUME_FROM']) { $extra = $volume - $tariff['UF_VOLUME_FROM']; $baseCost += $extra * $tariff['UF_PRICE_PER_UNIT']; } $optionsCost = 0; foreach ($extras as $optionKey => $enabled) { if ($enabled && isset($this->options[$optionKey])) { $opt = $this->options[$optionKey]; if ($opt['type'] === 'percent') { $optionsCost += $baseCost * ($opt['value'] / 100); } else { $optionsCost += $opt['value']; } } } $total = $baseCost + $optionsCost; return [ 'base_cost' => round($baseCost, 2), 'options_cost' => round($optionsCost, 2), 'total_min' => round($total * 0.9, 2), 'total_max' => round($total * 1.15, 2), 'total' => round($total, 2), 'currency' => 'UAH', ]; } private function findTariff(string $serviceType, float $volume): ?array { foreach ($this->tariffs as $tariff) { if ($tariff['UF_SERVICE_TYPE'] === $serviceType && $volume >= $tariff['UF_VOLUME_FROM'] && $volume <= $tariff['UF_VOLUME_TO']) { return $tariff; } } return null; } } Покрокова інструкція для користувача
- Користувач обирає тип послуги.
- Вводить обсяг робіт.
- Додає додаткові опції (за потреби).
- Натискає «Розрахувати».
- Отримує діапазон цін та базову вартість.
Як відображається діапазон цін?
Фіксована ціна для послуг часто неможлива. Калькулятор показує діапазон:
function updateResult(data) { const formatPrice = (p) => new Intl.NumberFormat('uk-UA', { style: 'currency', currency: 'UAH', maximumFractionDigits: 0, }).format(p); document.getElementById('result-min').textContent = formatPrice(data.total_min); document.getElementById('result-max').textContent = formatPrice(data.total_max); document.getElementById('result-note').textContent = 'Точна вартість визначається після огляду об\'єкта'; } Як інтегрувати калькулятор з CRM?
Після того як користувач залишив заявку, дані розрахунку додаються в угоду або лід CRM:
$lead->Add([ 'TITLE' => 'Розрахунок: ' . $serviceTypeName, 'OPPORTUNITY' => $calculationResult['total'], 'CURRENCY_ID' => 'UAH', 'COMMENTS' => $this->buildCommentsFromParams($params, $calculationResult), 'UF_CALC_PARAMS' => json_encode($params), 'UF_CALC_RESULT' => json_encode($calculationResult), ]); Що входить в роботу і наш досвід
Ми надаємо 2 тижні технічної підтримки після деплою, документацію API та інструкцію для адміністратора. Всі роботи супроводжуються проміжними демо та фінальним тестуванням. Наш досвід — 5+ років розробки на 1С-Бітрікс і 30+ реалізованих калькуляторів. Ми надаємо гарантію на роботи 3 місяці та всі розробники мають сертифікацію 1С-Бітрікс. Середня окупність калькулятора — 2–3 місяці за рахунок зниження навантаження на відділ продажів і зростання конверсії. Бюджет на розробку повертається збільшенням кількості кваліфікованих лідів.
Що входить в роботу:
- Аналітика та визначення параметрів
- Проєктування тарифної сітки в HighLoad-блоці
- Реалізація алгоритму розрахунку
- Інтеграція з CRM (угоди/ліди)
- Відображення діапазону цін
- Документація API та інструкція
- 2 тижні технічної підтримки після деплою
- Гарантія на роботи 3 місяці
- Сертифіковані розробники
Які етапи та терміни розробки?
| Етап | Опис | Термін |
|---|---|---|
| Аналітика | Збір вимог, визначення параметрів і логіки розрахунку | 1–2 дні |
| Проєктування | Створення архітектури HighLoad-блоку, сервісного класу та точок розширення | 2–3 дні |
| Розробка | Реалізація калькулятора, інтеграція з CRM, відображення діапазону | 5–10 днів |
| Тестування | Перевірка на коректність розрахунків, навантажувальне тестування | 2–3 дні |
| Деплой | Розгортання на бойовому сервері, передача документації | 1 день |
Орієнтовна вартість базового калькулятора з 5–7 параметрами — від 15 000 грн, термін 5–8 днів. Калькулятор з тарифною сіткою та інтеграцією з CRM — 2–3 тижні, від 30 000 грн. Мультипослуговий — 4–6 тижнів, бюджет уточнюється.
Технічні деталі
Калькулятор сумісний з будь-яким рішенням на 1С-Бітрікс (редакції "Старт" та "Бізнес"). Для роботи потрібна версія PHP 7.4+ та модуль "Highloadblock". Інтеграція з CRM здійснюється через стандартні REST API або через власний модуль.
Отримайте попередню оцінку вашого проєкту — пишіть нам для безкоштовної консультації. Ми оцінимо проєкт за 1 день і запропонуємо рішення під ключ.







