Сайт автошколи на 1С-Бітрікс: автоматизація запису та тестів

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

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

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

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

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

Автошкола з трьома філіями та 500 учнями на місяць — це потік дзвінків: «чи є місця?», «який розклад?», «коли тест?». Без автоматизації адміністратор витрачає до трьох годин на день тільки на відповіді, а помилки в записі призводять до втрати клієнтів. Наприклад, при 15 філіях та 40 курсах ручне оновлення розкладу займає 2 години щоденно — каскадний онлайн-запис через Highload-блоки скорочує це до нуля. Інтеграція з 1С через CommerceML автоматично синхронізує договори та рахунки, виключаючи подвійні проводки. Ми будуємо сайти на 1С-Бітрікс, які автоматизують запис, тести та документообіг — окупаються за 2-3 місяці за рахунок скорочення ручної праці та зростання конверсії в запис на 25%. Це комплексна розробка сайту автошколи під ключ: від проєктування інфоблоків до кастомних компонентів тестування. Наші рішення перевірені в десятках автошкіл і масштабуються під будь-яку філію.

Як влаштований каталог курсів на інфоблоках?

Основа каталогу — інфоблок «Курси» з типом «Навчання». Кожен елемент відповідає одній програмі підготовки. Властивості елемента:

  • Категорія (список): A, A1, B, B1, C, CE, D, DE — за класифікацією водійських посвідчень.
  • Тривалість (число): загальна кількість днів програми.
  • Години теорії (число): академічні години теоретичної частини.
  • Години практики (число): години водіння з інструктором.
  • Формат (список): очний, дистанційний, змішаний.
  • Філії (прив'язка до елементів): зв'язок з інфоблоком «Філії».

Розділи інфоблоку повторюють категорії — це дає SEO-сторінки виду /kursy/kategoriya-b/ з автоматичною фільтрацією. Для кожного розділу задається власний SEO-шаблон через властивості розділу: title, description, og:image.

Компонент bitrix:catalog.section.list виводить дерево категорій на головній, а bitrix:news.list — картки курсів всередині розділу. Фільтрація за форматом реалізується через bitrix:catalog.smart.filter з AJAX-перезавантаженням без перемальовування сторінки.

Чому Highload-блоки для онлайн-запису?

Запис учня на курс — це не просто веб-форма. Потрібно показати доступні групи, дати початку, кількість вільних місць та прив'язку до конкретної філії. Highload-блок «Групи» містить поля:

Поле Тип Призначення
UF_COURSE_ID Прив'язка до елемента Зв'язок з курсом з інфоблоку
UF_BRANCH_ID Прив'язка до елемента Філія
UF_DATE_START Дата Дата початку занять
UF_DATE_END Дата Планова дата закінчення
UF_MAX_STUDENTS Число Максимум учнів у групі
UF_CURRENT_COUNT Число Поточна кількість записаних
UF_STATUS Список Набір відкрито / закрито / завершено
UF_SCHEDULE Рядок Дні тижня та час (ПН-СР-ПТ 18:00)

Highload-блок обрано замість звичайного інфоблоку через продуктивність: при 15+ філіях і десятках груп одночасно вибірка через ORM D7 працює в рази швидше.

Форма запису працює каскадно: учень обирає категорію → філію → бачить лише групи зі статусом «Набір відкрито» та UF_CURRENT_COUNT < UF_MAX_STUDENTS. Після відправлення заявки обробник на події OnAfterHLBlockElementAdd інкрементує лічильник і, якщо група заповнена, автоматично перемикає статус.

Розклад занять

Розклад реалізується двома інфоблоками: «Розклад теорії» та «Розклад водіння». Теорія прив'язана до групи: фіксовані дні та час, однакові для всіх учнів групи. Відображається таблицею в особистому кабінеті та на сторінці групи.

Водіння — індивідуальне. Інфоблок «Слоти водіння» містить прив'язку до інструктора, дату, час початку та закінчення, статус (вільний / заброньований / проведений). Учень в особистому кабінеті бачить доступні слоти свого інструктора і бронює через AJAX-запит до кастомного контролера.

Особистий кабінет учня

Особистий кабінет будується на компоненті bitrix:main.profile з кастомним шаблоном та додатковими вкладками:

  • Мій курс — інформація про групу, інструктора, дати.
  • Розклад — теорія (загальна таблиця) + водіння (персональні слоти).
  • Прогрес — кількість пройдених занять теорії, годин водіння, результати внутрішніх тестів.
  • Оцінки — результати пробних екзаменів.
  • Документи — договір, квитанції про оплату (файли з властивостей користувача).

Авторизація — стандартний модуль main з SMS-підтвердженням через sms.ru або підключений SMSC-шлюз.

Дані прогресу та оцінок агрегуються з Highload-блоків результатів тестів через D7 API. Вкладки реалізовані через JavaScript-роутинг та AJAX-підвантаження контенту.

Як захищено тест ПДР?

Тестування ПДР — ключова функція, заради якої учні повертаються на сайт щодня. Стандартні модулі Бітрікс (опитування, веб-форми) для цього не підходять: немає таймера, немає рандомізації, немає розбивки за темами з підрахунком статистики.

Архітектура зберігання питань

Інфоблок «Питання ПДР» з розділами за темами: «Проїзд перехресть», «Дорожні знаки», «Сигнали світлофора», «Перша допомога» тощо (всього 40 тем за структурою екзамену ДАІ).

Властивості елемента:

  • Текст питання — детальний опис елемента (з підтримкою зображень через візуальний редактор).
  • Зображення — картинка дорожньої ситуації (властивість типу «Файл»).
  • Варіант 1–5 — рядкові властивості для відповідей.
  • Правильна відповідь — число (номер варіанту).
  • Пояснення — текстова властивість з розбором правильної відповіді та посиланням на пункт ПДР.
  • Складність — список (легкий / середній / складний).
  • Білет — число (номер офіційного екзаменаційного білета, 1-40).
  • Номер у білеті — число (позиція питання, 1-20).

Кастомний компонент тестування

Компонент atlas:pdd.test працює в трьох режимах:

  1. Режим «Екзамен» — 20 питань з різних тем, 20 хвилин на весь білет. Компонент обирає питання методом CIBlockElement::GetList з фільтром за номером білета або формує випадковий набір через RAND() в SORT. Таймер реалізовано на клієнті (JavaScript, countdown), але контрольний час фіксується на сервері в сесії — при перезавантаженні сторінки таймер продовжує з того ж моменту.

  2. Режим «За темами» — учень обирає тему, отримує всі питання розділу у випадковому порядку. Обмеження за часом немає. Після кожної відповіді показується пояснення.

  3. Режим «Марафон» — всі 800 питань підряд. Прогрес зберігається в Highload-блоці, щоб можна було продовжити з будь-якого пристрою після авторизації.

Збереження та статистика

Результати кожної спроби записуються в Highload-блок «Результати тестів»:

Поле Тип Зміст
UF_USER_ID Число ID користувача
UF_MODE Список Екзамен / тема / марафон
UF_TOPIC_ID Число ID розділу (для режиму «За темами»)
UF_TICKET_NUM Число Номер білета (для режиму «Екзамен»)
UF_CORRECT Число Кількість правильних відповідей
UF_TOTAL Число Загальна кількість питань
UF_TIME_SPENT Число Витрачений час у секундах
UF_ANSWERS Рядок JSON з деталізацією по кожному питанню
UF_CREATED Дата/час Коли пройдено тест

На підставі цих даних в особистому кабінеті будується аналітика: відсоток правильних відповідей за темами, динаміка за останній тиждень, слабкі теми (де відсоток нижче 80%). Для візуалізації використовується Chart.js, дані підтягуються AJAX-запитом до контролера D7.

Механіка відповіді

Фронтенд відправляє AJAX-запит з ID питання та номером обраного варіанту. Контролер перевіряє відповідь на сервері (номер правильного варіанту ніколи не віддається клієнту до відповіді) і повертає результат: правильно/неправильно, текст пояснення, посилання на пункт ПДР. Це виключає підглядання через DevTools — відповіді перевіряються тільки серверно.

Для захисту від накручування статистики введено дебаунс-перевірку: якщо між відповідями минуло менше 2 секунд, результат не зараховується (бот або автоклікер). Гарантуємо, що тестова система пройшла навантажувальне тестування на 500 одночасних користувачів і зберігає коректність даних.

Відгуки випускників

Інфоблок «Відгуки» з обов'язковою премодерацією (WF_STATUS_ID). Властивості: ім'я, фото, категорія (на яку складав), текст, оцінка (1-5), дата закінчення навчання. На сторінці курсу виводяться тільки відгуки з прив'язкою до відповідної категорії через bitrix:news.list з фільтром за властивістю.

Додатково реалізовано віджет збору відгуків: учневі через 7 днів після завершення курсу надходить email з посиланням на форму. Відправка через bitrix:iblock.element.add.form з кастомним шаблоном.

Етапи робіт

Етап Зміст Термін
Аналітика Структура курсів, карта філій, вимоги до тестування 5–7 днів
Проєктування Прототипи, структура інфоблоків, ER-схема Highload-блоків 5–7 днів
Дизайн UI-kit, макети ключових сторінок, адаптив 10–14 днів
Верстка та інтеграція Шаблони компонентів, каталог курсів, онлайн-запис 15–20 днів
Компонент тестування Розробка atlas:pdd.test, наповнення бази питань 10–14 днів
Особистий кабінет Профіль, розклад, прогрес, аналітика 7–10 днів
Тестування та запуск QA, навантажувальне тестування тестів, перенесення на продакшен 5–7 днів

Загальний термін — 8–11 тижнів за умови, що база питань ПДР надана замовником у структурованому вигляді (Excel/CSV). Якщо потрібне ручне введення 800 питань із зображеннями — закладайте додатково 2–3 тижні на контент.

Замовте консультацію — уточніть деталі за вашим проєктом.

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

До результату роботи входить:

  • Повна структура інфоблоків та Highload-блоків з міграціями.
  • Кастомні компоненти (тестування, запис, розклад).
  • Дизайн-макети та адаптивна верстка.
  • Інтеграція з платіжними системами (ЮKassa, Сбер) та ОФД.
  • Навчання адміністраторів та передача інструкції.
  • Підтримка протягом 30 днів після запуску.

Економія на адміністративній роботі суттєво знижує операційні витрати. Автоматизація дозволяє знизити витрати на рекламу за рахунок вбудованих SEO-сторінок курсів.

Отримайте консультацію та оцініть економію для вашого бізнесу. Ми маємо підтверджений досвід: сертифіковані спеціалісти 1С-Бітрікс з 10+ роками в продакшені.

Як правильно проектувати інфоблоки?

Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок catalog, закидає туди 15 властивостей. Через півроку — 40 властивостей, 8 з яких використовуються лише для однієї категорії. Фільтр гальмує, таблиця b_iblock_element_property розрослася до мільйонів рядків, CIBlockElement::GetList виконується 3 секунди. Наслідки — падіння конверсії, втрата клієнтів, додаткові витрати на оптимізацію. В одному проєкті після рефакторингу каталогу час генерації сторінки знизився з 4,2 до 0,8 секунди, а вартість підтримки значно скоротилася — за рахунок усунення надлишкових запитів та агентів.

Наш підхід: проектуємо інфоблоки до першого рядка коду. Окремі інфоблоки під сутності (товари, категорії, бренди), властивості-довідники через HL-блоки, торгові пропозиції для SKU. Це закладає продуктивність на роки вперед. Якщо хочете отримати попередній аудит вашої схеми інфоблоків — зв'яжіться з нами, розберемо типові помилки та надамо рекомендації.

Чому 1С-Бітрікс вигідніший за альтернативи?

Вибір CMS диктується не уподобаннями, а бізнес-завданнями. Ось ключові аргументи:

  • Нативний обмін з 1С — модуль catalog.import.1c забезпечує двосторонній обмін товарами, цінами, залишками та замовленнями через CommerceML. Без сторонніх модулів. Це в 5 разів швидше, ніж розробка власного обміну на OpenCart або WordPress. Економія на інтеграції — до 200 000 грн порівняно з кастомними рішеннями.
  • Проактивний захист — модуль security включає WAF, контроль цілісності файлів, захист від SQL-ін'єкцій, двофакторну автентифікацію. Для проєктів з вимогами ФСТЭК — сертифіковане рішення (згідно з Wikipedia, це стандарт для корпоративних систем).
  • Модульна архітектура — підключаємо лише потрібні модулі: iblock, catalog, sale, search. Менше модулів — менше запитів до БД на кожен хіт.
  • Регулярні патчі — вендор випускає security-патчі, закриваючи вразливості швидше, ніж open-source проєкти (середній час виправлення CVE — 2 тижні). Офіційна документація по модулях доступна на сайті розробника.

Що дають HL-блоки і як ми прискорюємо каталог

Highload-блоки — це альтернатива розширеним властивостям інфоблоків, коли список значень може зростати до тисяч записів. Типовий приклад: виробники, країни, кольори. Якщо зберігати їх як властивості-списки в інфоблоці, кожна фільтрація викликає повне сканування таблиці b_iblock_property_enum. З HL-блоками вибірка йде по індексу — час відповіді фільтра знижується з 1–2 секунд до 50 мс. Продуктивність HL-блоків у 8 разів вища за властивості-списки інфоблоків. Ми використовуємо HLB компонент і кастомні запити через Bitrix\Highloadblock\DataManager. Це особливо критично для каталогів з 100 000+ товарами.

З нашої практики — проєкт інтернет-магазину з 500 000 товарів. Стандартний фільтр по бренду виконувався 4 секунди. Сервер не витримував навантаження в 50 одночасних запитів — сторінки падали. Ми перевели довідник брендів у HL-блок, додали теговане кешування на 15 хвилин і налаштували агент для скидання кешу при зміні. Після доопрацювання час фільтрації склав 120 мс, середній LCP сторінки — 1,8 секунди. Проєкт працює стабільно без збоїв.

Що входить у розробку сайту на 1С-Бітрікс

Кожен проєкт включає повний комплект документації та артефактів, що виключає втрату знань після передачі.

  • Технічне завдання — user stories, діаграми інфоблоків, схеми інтеграцій.
  • Вихідний код у Git — з історією комітів, тегами релізів, правилами гілкування.
  • Адміністративна документація — опис кастомних компонентів, інструкції з розгортання, перелік агентів і подій.
  • Навчання співробітників — до 3 годин вебінару: панель управління, робота з замовленнями, налаштування цін. Записуємо, щоб можна було переглянути.
  • Доступ до staging на час розробки — тестуєте самостійно до деплою на продуктив.
  • Гарантійна підтримка — виправлення помилок коду протягом 30 днів після запуску. Післягарантійні абонентські пакети з SLA (реакція 2 години, рішення 8 годин).

Наш процес і технології

Тип проєкту Терміни Складність Ключові особливості
Корпоративний сайт від 1 місяця Середня Каталог, новини, форми, CRM-інтеграція
Інтернет-магазин від 2 місяців Висока 54-ФЗ, маркетплейси, обмін з 1С, SKU
B2B-портал від 3 місяців Дуже висока Персональні ціни, документообіг, Bizproc
Лендінг від 2 тижнів Низька LCP < 2с, композитний кеш, статика
Багатосайтова структура від 1,5 місяців Висока Роздільний контент, спільний каталог, hreflang

Стек: верстка mobile-first, тестуємо на фізичних пристроях (iPhone, iPad, Android). Використовуємо BrowserStack для Safari на iOS. Продуктивність — LCP < 2,5 с, FID < 100 мс, CLS < 0,1. Включаємо композитний сайт (composite), CDN, теговане кешування, WebP/AVIF, lazy loading. SEO — Schema.org через JSON-LD, автогенерація sitemap.xml модулем seo, canonical і hreflang для мультимовних версій. robots.txt закриваємо /bitrix/ від індексації. CI/CD — Git, автодеплой через GitLab CI, staging. Міграції бази — модуль sprint.migration з версіонуванням.

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

  1. Аналітика — вивчаємо конкурентів, збираємо вимоги, малюємо прототипи в Figma. На виході — ТЗ з user stories.
  2. Дизайн — UI/UX з дизайн-системою. Компоненти перевикористовуються.
  3. Розробка — пишемо компоненти з кастомними шаблонами в local/templates/. Бізнес-логіку виносимо в модулі local/modules/.
  4. Тестування — функціональне, кросбраузерне, навантажувальне (до 1000 запитів). Критичні баги виправляємо до запуску.
  5. Запуск — деплой на прод, моніторинг через UptimeRobot, алерти в Telegram. Усуваємо перші 48 годин.

Інтеграції, мультимовність і редизайн

Напрямок Сервіси
CRM та аналітика Бітрікс24 (нативна), amoCRM, Roistat, Calltouch, Mindbox
Платежі ЮKassa, CloudPayments, Тінькофф, Apple Pay, Google Pay
Фіскалізація 54-ФЗ АТОЛ, OrangeData — налаштування через sale.cashbox
Логістика СДЕК, Boxberry, ПЕК, Укрпошта, Яндекс.Доставка
Комунікації JivoSite, Carrot Quest, SendPulse
  • Повна локалізація через мовні файли lang/ і механізм SITE_ID. hreflang для кожної версії. Регіональні версії з різними цінами та контентом — визначення за IP (main.geo) або ручний вибір. Мультидоменність — єдине управління кількома доменами.

  • Редизайн без втрати позицій: аудит продуктивності (PageSpeed, WebPageTest), SEO (Screaming Frog). Новий шаблон у local/templates/ із збереженням URL-структури. 301-редиректи лише якщо URL змінюється суттєво. Оновлення ядра, перехід на D7 ORM, реструктуризація інфоблоків, міграція через sprint.migration з Git.

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

Гарантія та підтримка

Ми працюємо з 1С-Бітрікс 12+ років, реалізували 500+ проєктів. У штаті сертифіковані розробники. Фіксована вартість у договорі — без сюрпризів. Гарантійний період покриває помилки коду. Після — абонентські пакети з SLA (час реакції — 2 години, рішення — 8 годин). Моніторинг доступності 24/7, алерти в Telegram. За потреби отримайте попередній аудит — зв'яжіться з нами через форму на сайті або напишіть у чат, відповімо протягом години. Замовте розробку під ключ — ми спроєктуємо інфоблоки, інтегруємо 1С і розженимо каталог. Якщо вже є сайт на іншій CMS — замовте аудит продуктивності та міграцію на Бітрікс.