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

Розробка модуля калькулятора послуг 1С-Бітрікс Клієнт вводить площу, обирає оздоблення — і йде. Без ціни. Без заявки. Знайомо? Калькулятор послуг на Бітріксі вирішує цю проблему: користувач отримує миттєву вартість і відправляє заявку. Ми розробляємо кастомні модулі, які вбудовуються у ваш сайт і
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка модуля калькулятора послуг 1С-Бітрікс
Середній
~1-2 тижні

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

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

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

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

Клієнт вводить площу, обирає оздоблення — і йде. Без ціни. Без заявки. Знайомо? Калькулятор послуг на Бітріксі вирішує цю проблему: користувач отримує миттєву вартість і відправляє заявку. Ми розробляємо кастомні модулі, які вбудовуються у ваш сайт і працюють з CRM. Жодних готових рішень — тільки під вашу бізнес-логіку та формули.

Готових калькуляторів у маркетплейсі Бітрікс практично немає, або вони надто примітивні. Для серйозного бізнесу — страхової компанії, будівельного підрядника, друкарні — потрібен модуль з гнучкою формулою та інтеграцією з CRM. Наш досвід показує, що правильно зроблений калькулятор збільшує конверсію в 2–3 рази: клієнт розуміє ціноутворення та довіряє компанії.

Коли потрібен кастомний калькулятор?

Якщо ваш бізнес використовує нестандартні тарифи, регіональні коефіцієнти або залежить від даних з 1С, готовий плагін не підійде. Кастомний модуль дає повний контроль над формулами та інтеграціями. Порівняйте: готові рішення обробляють лише лінійні залежності, а кастомний справляється з розгалуженнями та зовнішніми довідниками. Конверсія лідів з таким калькулятором вища в 2 рази — перевірено на проєктах.

Як влаштований рушій формул?

Формула зберігається в JSON-структурі, яка інтерпретується на сервері (PHP) і на клієнті (JavaScript). Синхронність критична: підсумкова сума в інтерфейсі має збігатися з сумою в CRM. PHP-інтерпретатор FormulaEvaluator::evaluate($formula, $fieldValues) рекурсивно обходить дерево та обчислює підсумок. На фронтенді — такий самий інтерпретатор на JS.

{ "type": "add", "operands": [ { "type": "multiply", "operands": [ {"type": "field", "name": "area"}, {"type": "field", "name": "work_type_price"} ] }, { "type": "if", "condition": {"type": "gt", "left": {"type": "field", "name": "area"}, "right": 100}, "then": {"type": "multiply", "operands": [{"type": "ref", "name": "subtotal"}, -0.1]}, "else": 0 } ] } 

Порівняння: готові рішення vs кастомний модуль

Параметр Готові рішення Кастомний модуль
Гнучкість формул Тільки лінійні Будь-які з умовами та посиланнями
Інтеграція з CRM Обмежена Повна, зі створенням лідів і угод
Прив'язка до цін каталогу Ні Так, через b_catalog_price
Залежні поля Ні Так, з динамічною фільтрацією
Адміністративний інтерфейс Стандартний Під ваш бренд і логіку

Архітектура модуля: таблиці та типи полів

Модуль vendor.calculator включає чотири основні таблиці:

  • b_vendor_calc_calculator — калькулятори: id, name, slug, config (JSON полів і кроків), formula (JSON дерево обчислень), crm_target (lead/deal), is_active
  • b_vendor_calc_field — поля калькулятора: id, calculator_id, type, name, label, options (JSON), depends_on, validation_rules, sort
  • b_vendor_calc_result — збережені розрахунки: id, calculator_id, session_id, user_id, params (JSON), result (JSON суми), created_at
  • b_vendor_calc_lead — зв'язок розрахунку з лідом/угодою CRM: result_id, crm_type, crm_id

Типи полів:

  • number — числове поле з min/max/step
  • slider — повзунок з діапазоном
  • select — випадний список з прив'язкою коефіцієнтів
  • checkbox — прапорець з додатковою вартістю
  • radio — вибір одного варіанта
  • area — двовимірне введення (ширина × висота)
  • catalog_product — вибір товару з інфоблоку з автопідстановкою ціни

Чому важливий реактивний перерахунок?

На фронтенді — реактивний перерахунок без перезавантаження. При зміні будь-якого поля:

  1. Збираються поточні значення всіх полів
  2. Локальна копія формули обчислюється в JS (та сама логіка, що на PHP)
  3. Результат миттєво оновлюється в інтерфейсі
  4. Додатково: AJAX-запит на сервер для точного розрахунку з урахуванням актуальних цін з БД
// Перерахунок при зміні поля document.querySelectorAll('.calc-field').forEach(field => { field.addEventListener('change', () => { const values = collectFieldValues(); const localResult = evaluateFormula(calculatorConfig.formula, values); updateResultDisplay(localResult); debounce(() => fetchServerResult(values), 500)(); }); }); 

Залежні поля

Залежність описується в конфігурації поля:

{ "name": "material_type", "type": "select", "depends_on": { "field": "work_type", "map": { "painting": ["latex", "acrylic", "oil"], "wallpaper": ["paper", "vinyl", "non-woven"], "tile": ["ceramic", "porcelain", "mosaic"] } } } 

При виборі work_type = 'painting' список матеріалів фільтрується до ["latex", "acrylic", "oil"]. Логіка працює і на клієнті, і перевіряється на сервері при відправці форми.

Відправка в CRM

Після завершення розрахунку користувач заповнює контактні дані та відправляє заявку. Модуль створює лід або угоду:

$leadFields = [ 'TITLE' => 'Розрахунок з калькулятора: ' . $calculator['NAME'], 'NAME' => $formData['name'], 'PHONE' => [['VALUE' => $formData['phone'], 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $formData['email'], 'VALUE_TYPE' => 'WORK']], 'COMMENTS' => $this->buildCalculatorComment($result), 'UF_CALC_SUM' => $result['total'], 'SOURCE_ID' => 'CALCULATOR', ]; $leadId = \Bitrix\Crm\LeadTable::add($leadFields)->getId(); 

Параметри розрахунку записуються в коментар ліда та в користувацьке поле UF_CALC_PARAMS (JSON).

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

  • Архітектура бази даних та інсталятор модуля
  • Конструктор полів і конфігуратор з адмін-інтерфейсом
  • Рушій формул PHP + JavaScript
  • Реактивний перерахунок і залежні поля
  • Інтеграція з цінами торгового каталогу
  • Відправка заявок в CRM (ліди/угоди)
  • Компонент для розміщення на сторінці
  • Документація та навчання вашого співробітника
  • Гарантія працездатності протягом 30 днів після здачі

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

Етап Термін
Архітектура, таблиці, інсталятор 1 день
Конструктор полів і конфігуратор 2 дні
Рушій формул PHP + JS 3 дні
Залежні поля, реактивний перерахунок 2 дні
Інтеграція з цінами каталогу 1 день
Відправка в CRM 1 день
Адміністративний інтерфейс 2 дні
Компонент для розміщення на сторінці 1 день

Разом: 13 робочих днів. Нестандартні формули із зовнішніми довідниками (тарифні сітки, регіональні коефіцієнти) — +2–3 дні.

Зв'яжіться з нами для оцінки вашого проєкту. Досвід розробки під Бітрікс — понад 10 років, гарантуємо якість і прозорість. Отримайте консультацію — обговоримо вашу задачу та підготуємо комерційну пропозицію. Детальніше про CRM-системи та REST API Бітрікс24.