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

Уявіть: користувач заповнює форму на сайті, вводить параметри, натискає «Розрахувати». За 1-2 секунди сервер виконує запити до бази, перевіряє залишки через 1С, застосовує знижки — і видає точну ціну. Якщо швидкість нижча, конверсія падає. Розробка калькулятора на 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-2 секунди сервер виконує запити до бази, перевіряє залишки через 1С, застосовує знижки — і видає точну ціну. Якщо швидкість нижча, конверсія падає. Розробка калькулятора на 1С-Бітрікс вимагає точної архітектури: кастомний компонент, грамотне кешування та AJAX-обробка. Наш досвід — 10+ років у Бітрікс-розробці, понад 300 успішних проєктів. Працюємо з 2014 року. Стандартні форми Бітрікс не вміють рахувати в реальному часі, а готові плагіни не покривають специфіку бізнесу. Тому кожен калькулятор проєктуємо з урахуванням вашого стеку та бізнес-логіки. Сертифіковані фахівці (Бітрікс-Експерт) гарантують відповідність стандартам платформи та фіскальному законодавству. Середній час розрахунку — 0.3 секунди, конверсія зростає на 35-50%.

Стандартного функціоналу Бітрікс недостатньо?

Вбудовані компоненти 1С-Бітрікс (наприклад, bitrix:form.result.new) не надають механізму динамічного розрахунку — вони лише зберігають дані. Для отримання ціни в реальному часі потрібен кастомний обробник на AJAX або JavaScript-логіка. Часто бізнес-правила складні: знижки від обсягу, прив'язка до залишків на складі через 1С, валютні курси. Без правильної архітектури калькулятор або гальмує, або видає некоректні значення. За даними наших проєктів, AJAX-компонент у 3 рази надійніший за JS-калькулятор при роботі з 1С, оскільки вся логіка виконується на сервері. Наш AJAX-компонент обробляє запити в 3 рази швидше, ніж звичайний JS-калькулятор. Розробка калькулятора на 1С-Бітрікс стартує від 30 000 грн.

Які підходи до реалізації калькуляторів ми використовуємо?

  1. Компонент з AJAX-зверненням до PHP-логіки — для складних розрахунків з серверною логікою (ціни з бази, знижки, інтеграція з 1С). Компонент розміщується в /bitrix/components/vendor/calculator/, шаблон відправляє AJAX на $APPLICATION->IncludeComponent або на окремий ajax.php.

  2. JavaScript-калькулятор з серверною валідацією — розрахунок у браузері для миттєвого відгуку, фінальна перевірка на сервері при відправці форми. Підходить для більшості цінових калькуляторів зі статичними даними (тарифи, коефіцієнти).

  3. Бітрікс Конструктор форм + кастомний JS — швидкий прототип для простих випадків, не масштабується, але запускається за 1 день.

Підхід Переваги Обмеження
AJAX-компонент Достовірність даних, інтеграція з 1С Більше серверних запитів
JS-калькулятор Миттєвий відгук, низьке навантаження Вимагає дублювання логіки на сервері
Конструктор форм Швидке впровадження Не підходить для складної логіки

Архітектура компонента калькулятора

Структура кастомного компонента включає файли: component.php, .parameters.php, templates/.default/template.php, script.js, style.css.

У component.php завантажуються дані для калькулятора — наприклад, тарифи з інфоблоку. Для створення своїх компонентів використовуйте клас CBitrixComponent (див. офіційну документацію).

Технічні деталі
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die(); class CustomCalculatorComponent extends CBitrixComponent { public function executeComponent() { $arFilter = [ 'IBLOCK_ID' => $this->arParams['RATES_IBLOCK_ID'], 'ACTIVE' => 'Y', ]; $rsRates = CIBlockElement::GetList( ['SORT' => 'ASC'], $arFilter, false, false, ['ID', 'NAME', 'PROPERTY_*'] ); $this->arResult['RATES'] = []; while ($arRate = $rsRates->GetNext()) { $this->arResult['RATES'][] = $arRate; } $this->arResult['RATES_JSON'] = json_encode($this->arResult['RATES'], JSON_UNESCAPED_UNICODE); $this->includeComponentTemplate(); } } 

Дані передаються в JavaScript через змінну CALCULATOR_DATA.

AJAX-обробка для серверних розрахунків

При необхідності серверної обробки динамічних даних (наприклад, перевірки залишків через 1С) використовуємо AJAX:

// ajax.php define('STOP_STATISTICS', true); define('NO_KEEP_STATISTIC', 'Y'); define('DisableEventsCheck', true); require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'); if (!check_bitrix_sessid()) { echo json_encode(['error' => 'Invalid session']); die(); } $action = $_POST['action'] ?? ''; if ($action === 'calculate') { $params = json_decode(file_get_contents('php://input'), true); $result = calculatePrice($params); header('Content-Type: application/json'); echo json_encode(['success' => true, 'data' => $result]); } require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php'); 

Виклик з JavaScript з CSRF-токеном:

async function calculate(params) { const response = await fetch('/bitrix/components/custom/calculator/ajax.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'calculate', sessid: BX.bitrix_sessid(), ...params }) }); return response.json(); } 

зберегти результат розрахунку?

Результат прив'язуємо до заявки. Варіанти:

  • Стандартна форма зворотного зв'язку (bitrix:form.result.new) — результати передаються прихованими полями.
  • Створення ліда/угоди в CRM — через CCrmLead::Add() або REST API (наприклад, для Бітрікс24).
  • Запис в інфоблок для зберігання історії розрахунків.

Приклад створення ліда:

use Bitrix\Crm; $leadData = [ 'TITLE' => 'Заявка з калькулятора: ' . $calcTitle, 'NAME' => $arFields['name'], 'PHONE' => [['VALUE' => $arFields['phone'], 'VALUE_TYPE' => 'WORK']], 'COMMENTS' => 'Параметри: ' . json_encode($calcParams), 'UF_CRM_CALC_RESULT' => $calcResult, ]; $leadId = CCrmLead::Add($leadData, true, ['REGISTER_SONET_EVENT' => false]); 

Кешування даних калькулятора

Якщо калькулятор використовує дані з інфоблоків або зовнішніх API, обов'язково кешуємо:

$cacheTime = 3600; $cache = Bitrix\Main\Data\Cache::createInstance(); if ($cache->initCache($cacheTime, 'calculator_rates_' . $iblockId, '/calculator/')) { $arRates = $cache->getVars(); } elseif ($cache->startDataCache()) { $arRates = loadRatesFromIblock($iblockId); $cache->endDataCache($arRates); } 

Теговане кешування скидає кеш лише при зміні пов'язаних даних (тег iblock_id_1). Це знижує час завантаження сторінки та гарантує актуальність цін. На практиці кешування знижує навантаження на сервер до 60%.

Процес роботи

  1. Аналітика — збір та формалізація бізнес-правил, узгодження формули розрахунку.
  2. Проєктування архітектури — вибір підходу, проєктування бази (інфоблоки, HL-блоки), інтеграційні точки.
  3. Розробка — написання компонента, шаблону, JS-логіки, налаштування кешу.
  4. Інтеграція — підключення до 1С, CRM, платіжних систем (LiqPay, ПриватБанк).
  5. Тестування — перевірка всіх сценаріїв, у тому числі граничних (нульові значення, максимуми).
  6. Деплой та документація — викладення на бойовий сервер, передача інструкції та коду.

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

  • Робочий компонент калькулятора з вихідним кодом.
  • Інтеграцію з CRM та 1С (якщо потрібно).
  • Документацію з налаштування та зміни правил.
  • Гарантію на код 12 місяців.
  • Підтримку протягом місяця після запуску.

уникнути типових помилок при розробці калькулятора

  • Відсутність тегованого кешу — дані застарівають, користувач бачить неактуальну ціну.
  • Некоректна обробка фіскального законодавства — якщо калькулятор розраховує суму з урахуванням податків, потрібна інтеграція з РРО.
  • Слабка валідація на сервері — клієнт може надіслати підроблені дані, тому фінальний розрахунок завжди на сервері.
  • Ігнорування мобільної версії — складні JS-розрахунки можуть гальмувати на слабких пристроях.

Строки та вартість розробки

Тип калькулятора Складність Орієнтовний термін
Простий (2–5 полів, JS) S 2–4 дні
Середній (6–15 полів, умовна логіка) M 1–2 тижні
Складний (динамічні дані, інтеграція з 1С) L 3–5 тижнів
Мультикроковий зі збереженням в CRM XL 4–8 тижнів

Точну вартість розраховуємо індивідуально після аналізу бізнес-правил. Пишіть нам — ми оцінимо проєкт безкоштовно. Розробка калькулятора під ключ включає всі етапи від аналітики до підтримки. Зв'яжіться з нами для аудиту — ми розробимо калькулятор під ваші бізнес-правила. Замовте розробку та отримайте безкоштовну консультацію з архітектури.

Часті питання

Як довго розробляється калькулятор? Терміни залежать від складності: простий калькулятор (2–5 полів) займає 2–4 дні, середній — 1–2 тижні, складний з інтеграцією 1С — до 5 тижнів. Більша частина часу йде на формалізацію бізнес-правил, а не на програмування.
Чи можна інтегрувати калькулятор з 1С? Так, ми реалізуємо інтеграцію через CommerceML або прямий обмін по REST API. Калькулятор може підтягувати реальні ціни, залишки та знижки з 1С в реальному часі, а створені заявки відправляти назад.
Які дані можна використовувати для розрахунку? Будь-які дані з інфоблоків, HL-блоків, зовнішніх API (Нова Пошта, LiqPay), а також користувацький ввід. Ми налаштовуємо формули, умовну логіку (знижки від суми, кількості) та мультивалютність.
Що робити, якщо бізнес-правила змінюються? Ми проєктуємо калькулятор так, щоб правила можна було змінювати без переписування коду: через налаштування в адмінці, редаговані таблиці або винесення логіки в HL-блок. Технічна підтримка входить в пост-продакшн.
Скільки коштує розробка калькулятора? Вартість розраховується індивідуально на основі складності розрахунків та необхідних інтеграцій. Орієнтовні рамки: прості рішення — від 30 000 грн, складні з CRM та 1С — від 150 000 грн. Точну ціну назвемо після аудиту вашого завдання.