Розробка системи шаблонів договорів Бітрікс24 під ключ

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка системи шаблонів договорів Бітрікс24 під ключ
Простий
~2-3 дні
Часті запитання

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

Етапи розробки

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

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

Кожного дня менеджери витрачають до години на підготовку одного договору: копіюють реквізити з CRM у Word, звіряють ІПН, вставляють суми. При активних продажах черга з 10–15 документів — години чистої рутини. Помилки неминучі: невірний ІПН, прострочена дата, пропущена сума. Втрата від однієї такої помилки може сягати 50 000 гривень за зрив угоди.

Розробка кастомної системи шаблонів договорів Бітрікс24 вирішує цю проблему: генерація займає 1–2 хвилини, а дані підставляються з угоди автоматично. Наше рішення, засноване на 10+ роках досвіду впровадження, підтримує умовну логіку, цикли по товарних позиціях та інтеграцію з електронним підписом — все в єдиному інтерфейсі CRM. При штаті 50 договорів на місяць це вивільняє цілу ставку співробітника та виключає помилки ручного копіювання. Типова економія на операційних витратах — понад 240 000 гривень на рік на одного менеджера.

На відміну від вбудованого генератора Бітрікс24, який вміє лише замінювати змінні, кастомне рішення дозволяє налаштовувати складні умови та автоматично розраховувати податки, знижки та підсумкові суми. Це особливо важливо для B2B-компаній з різними типами клієнтів (юрособи, фізособи, з ПДВ і без).

Як автоматизувати генерацію договорів з умовною логікою?

Глибока кастомізація шаблонів будується на зв'язці REST API Бітрікс24 та бібліотеки PhpWord. Ми створюємо DOCX-шаблони з мітками-змінними, а потім PHP-скрипт обробляє дані угоди та формує кінцевий документ. Типовий код генератора:

use PhpOffice\PhpWord\TemplateProcessor;

function generateContract($dealId, $templatePath) {
    $deal = CRest::call('crm.deal.get', ['id' => $dealId])['result'];
    $contact = CRest::call('crm.contact.get', ['id' => $deal['CONTACT_ID']])['result'];
    $company = CRest::call('crm.company.get', ['id' => $deal['COMPANY_ID']])['result'];

    $template = new TemplateProcessor($templatePath);
    $template->setValue('CONTRACT_NUMBER', generateContractNumber($dealId));
    $template->setValue('CONTRACT_DATE', date('d.m.Y'));
    $template->setValue('CLIENT_NAME', $company['TITLE']);
    $template->setValue('AMOUNT', number_format($deal['OPPORTUNITY'], 2, '.', ' '));

    if ($deal['UF_CRM_VAT'] === 'Y') {
        $template->setValue('VAT_BLOCK', 'в тому числі ПДВ 20%: ' . number_format($deal['OPPORTUNITY'] * 0.2, 2));
    } else {
        $template->setValue('VAT_BLOCK', 'ПДВ не оподатковується');
    }

    $outputPath = '/tmp/contract_' . $dealId . '.docx';
    $template->saveAs($outputPath);
    return $outputPath;
}

Додатково реалізуємо кнопку «Сформувати договір» прямо в картці угоди через placement-додаток. Після генерації файл автоматично прикріплюється до угоди, а в таймлайн пишеться активність. Весь процес займає секунди.

Які переваги дає інтеграція з електронним підписом?

Після погодження внутрішніми бізнес-процесами договір відправляється на підпис клієнту. Ми підключаємо сервіси на кшталт Контур.Підпис або СБІС. Статус підписання синхронізується з CRM: якщо клієнт відхилив — угода повертається на доопрацювання; якщо підписав — договір архівується. Це скорочує цикл укладення угоди з тижнів до 1–2 днів. За даними Bitrix24 Helpdesk, автоматизація документообігу скорочує час обробки договорів на 60%.

Коли впровадження кастомних шаблонів окупається?

Окупність настає менше ніж за 3 місяці за рахунок виключення ручної праці та помилок. Для компаній з обсягом від 30 договорів на місяць вартість впровадження компенсується вже в перший квартал. Додаткова вигода — прискорення циклу угоди та підвищення точності документів.

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

За результатами проєкту ви отримуєте:

  • Повністю робочий генератор договорів на базі ваших шаблонів DOCX.
  • Документацію з налаштування та підтримки (опис змінних, логіки, REST API).
  • Доступ до вихідного коду в Git-репозиторії.
  • Навчання менеджерів (2–3 сесії по 1 годині).
  • Гарантію на код — 3 місяці безкоштовної підтримки після деплою.

Процес роботи та терміни

Наша робота включає повний цикл:

Етап Тривалість
Аналітика: вивчаємо поточні шаблони, виявляємо всі типи договорів 2–3 дні
Проектування: складаємо карту змінних та логіку розгалужень 2–3 дні
Розробка: створюємо шаблони DOCX з умовними блоками та код генератора 5–10 днів
Інтеграція: налаштовуємо placement-кнопки, бізнес-процеси погодження та ЕП 3–5 днів
Тестування: перевіряємо на 10–20 сценаріях (різні типи угод, граничні суми) 2–3 дні
Деплой та навчання: завантажуємо на бойовий сервер, навчаємо менеджерів 1–2 дні

Терміни: базовий проєкт з одним шаблоном — від 5 робочих днів. Комплексна система (5+ шаблонів, розгалуження, ЕП) — 3–4 тижні. Вартість розраховується індивідуально після аудиту ваших процесів.

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

Характеристика Вбудований модуль CRM Кастомне рішення
Прості шаблони із заміною змінних Так Так
Умовні блоки (if/else) Ні Так
Цикли по товарах Ні Так
Складні обчислення Ні Так
Електронний підпис Потребує доробок Вбудовано
Бізнес-процеси погодження Вручну Автоматично

Кастомне рішення в 5–10 разів функціональніше за штатне та повністю позбавляє рутини.

Типові помилки при впровадженні
  • Занадто складні шаблони: спроба втиснути всі умови в один файл — краще розбити на 2–3 спеціалізованих.
  • Ігнорування тестування: не перевірені граничні значення (нульова сума, довгі назви) ламають генерацію.
  • Відсутність резервного копіювання шаблонів: зберігайте вихідні DOCX та код у Git.

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

Чому верстка сайтів на 1С-Бітрікс вимагає професіоналізму?

Відкриваєте template.php у попереднього підрядника — а там SQL-запити, бізнес-логіка та inline-стилі в одному файлі. На кожному другому проєкті, який ми беремо на підтримку, код шаблонів виглядає як звалище: кеш не працює, додати нову фічу — переписуй все. Виправлення такої верстки може коштувати чимало, а втрачений виторг через зламаний кошик у пік сезону може сягати десятків тисяч гривень.

Ми — команда сертифікованих розробників 1С-Бітрікс із десятирічним досвідом. За нашими плечима понад 50 успішних проектів верстки та підтримки. Наш підхід строго розділяє: логіка — в result_modifier.php або component_epilog.php, представлення — в template.php. Жодного CIBlockElement::GetList в шаблоні. Це скорочує час правок на 30–40% та виключає типові помилки, які ламають кеш. Подібну проблему виправляли клієнту з інтернет-магазину — він місяць не міг оновити блок «Акції». Після налаштування тегованого кеша правки вставали за хвилину, а не за день.

Отримайте безкоштовний аудит вашого проекту — зв'яжіться з нами.

Як правильно організувати шаблони компонентів?

Кастомний шаблон — це не один файл, а структура з п’яти-шести файлів:

  • template.php — тільки HTML та виведення $arResult
  • result_modifier.php — підготовка даних, додаткові вибірки
  • component_epilog.php — код після кешування (лічильники, динаміка)
  • style.css та script.js — підключаються через Asset::getInstance()->addCss() та addJs() (не через <link> — інакше ламається об'єднання)
  • .parameters.php — параметри візуального редактора

Приклад структури для каталогу:

local/templates/your_template/components/bitrix/catalog.section/.default/
├── template.php
├── result_modifier.php
├── component_epilog.php
├── style.css
├── script.js
└── .parameters.php

Типові шаблони, які верстаємо під ключ:

Компонент Що робимо
catalog.section та catalog.element Перемикання вигляду (плитка/список/таблиця), lazy load для зображень, srcset для ретини
sale.basket.basket AJAX-оновлення без перезавантаження, міні-кошик через sale.basket.basket.line
menu Мегаменю з кешуванням за розділами, відкладене завантаження підменю
search.title Автопідказки з дебаунсом 300 мс, прев'ю товарів у дропдауні
breadcrumb Мікророзмітка BreadcrumbList за Schema.org

Кешування: чому воно ламається і як лагодимо?

Компонентне кешування в Бітрікс ламається однією помилкою: вивели ім'я користувача всередині кешованого каталогу — всі бачать одне ім'я. Рішення — component_epilog.php для динамічних вставок.

Tagged cache ($this->setResultCacheKeys, CIBlock::clearIblockTagCache) налаштовуємо обов'язково. Змінили товар — очищується кеш лише цього товару, а не всього розділу. На проєкті з 50 000 товарів це дає приріст швидкості на 40% — в 1.4 раза швидше порівняно з повним скиданням.

Реальний кейс. Наш клієнт скаржився — на сторінці каталогу у всіх один кошик. Виявилося, попередній розробник вивів $_SESSION['BASKET'] всередині template.php компонента catalog.section. Компонент кешувався на годину — кошик застиг. Перенесли виведення в component_epilog.php, налаштували тегований кеш на sale.basket.basket.line. Сторінка не втратила у швидкості, кошик став актуальним. Збитки від несправного кошика в пік сезону могли бути значними, а вартість виправлення — помірною.

CSS-підходи: BEM, Tailwind або гібрид?

Для великих проєктів (30+ шаблонів) використовуємо BEM.product-card__price, .product-card--featured. Стилі ізольовані, конфліктів немає. У Бітрікс обгортки з класами bx-component не чіпаємо — обгортаємо свій BEM-блок всередині.

Для типових завдань (лендінги, адмінки) беремо Tailwind 3+ з PurgeCSS — підсумковий CSS 10–30 КБ замість сотень. Дизайн-токени в tailwind.config.js фіксують кольори, шрифти, відступи в одному місці.

На більшості проєктів застосовуємо гібрид: BEM для структурних компонентів (каталог, картка, чекаут), Tailwind для утилітарних речей (відступи, flex-розкладки). Межу обговорюємо з командою заздалегідь.

Як досягти Core Web Vitals при верстці сайтів на Бітрікс?

Critical CSS — виділяємо стилі першого екрану через пакет critical, інлайнимо в <head>. Решта завантажується асинхронно через media="print" onload="this.media='all'". LCP на мобільних скорочується на 1–1.5 секунди.

Зображення — головне гальмо. Використовуємо <picture> з WebP та JPEG-фолбеком. loading="lazy" для всього нижче першого екрану. width та height явно прописані — CLS = 0. Обробник в urlrewrite.php генерує WebP на льоту.

Мініфікація та стиснення. CSS та JS через Vite або вбудоване об'єднання Бітрікс. Brotli на nginx (brotli_comp_level 6) — на 15–20% ефективніше за gzip. Кешування статики: expires 1y + версіонування через query string.

Ми готові зробити аудит вашого проєкту та запропонувати конкретні кроки. Закажіть консультацію.

Що входить в послугу верстки сайтів на 1С-Бітрікс?

Після замовлення верстки шаблону або адаптації готового рішення передаємо:

  • Вихідні коди шаблонів компонентів з розділенням на template.php, result_modifier.php, epilog
  • CSS та JS, підключені через Asset — без інлайн-стилів
  • Налаштоване кешування з тегами
  • Документацію за структурою та параметрами
  • Доступ до Git-репозиторію з історією змін
  • Навчання вашого розробника: як правити шаблон без втрати оновлюваності

Гарантуємо відповідність Core Web Vitals та кросбраузерність. Закріплюємо інженера з досвідом 10+ років.

Типові помилки при верстці, які ми виправляємо - Inline-стилі в шаблонах — ламають кешування та об'єднання CSS. - Відсутність `component_epilog.php` — динамічний контент застигає. - Неправильне підключення скриптів через `