Розробка адміністративної панелі на Vue.js для 1С-Бітрікс

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

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

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

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

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

Розробка адміністративної панелі на Vue.js для 1С-Бітрікс

Стандартна адміністративна панель Бітрікса — функціональна, але негнучка. Кастомні адміністративні інтерфейси через CAdminList, CAdminEditObject, CAdminForm — це PHP із синхронними запитами та застарілим UI. Коли бізнес-процеси стають складнішими — кілька кроків створення сутності, вбудовані таблиці з фільтрацією, drag-and-drop сортування — стандартні інструменти адміністрування Бітрікса перетворюються на вузьке місце.

Коли потрібна кастомна Vue-панель

Стандартні інструменти Бітрікса добре справляються з управлінням інфоблоками, замовленнями, користувачами. Vue-панель виправдана, коли:

  • Потрібен спеціалізований інтерфейс для конкретного бізнес-процесу: управління виробничими замовленнями, операторський інтерфейс колл-центру, модерація контенту зі швидкими діями
  • Потрібне відображення даних із кількох джерел в одному інтерфейсі
  • Важлива швидкість роботи — CRUD без перезавантаження сторінки, bulk-операції
  • Стандартний /bitrix/admin/ інтерфейс не підходить — панель вбудовується в користувацьку частину або на окремий піддомен

Архітектура: як вбудувати Vue в адміністративну частину Бітрікс

Варіант 1: сторінка в /bitrix/admin/. PHP-файл реєструється як адміністративна сторінка, ініціалізує права через $APPLICATION->AuthForm(), підключає Vue-бандл:

// /bitrix/admin/project_manager.php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");

if (!$USER->IsAdmin() && !$USER->IsInGroup(MANAGER_GROUP_ID)) {
    $APPLICATION->AuthForm("Немає доступу");
}

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

echo '<div id="vue-admin-app" data-csrf="' . bitrix_sessid() . '"></div>';
$APPLICATION->AddHeadScript('/local/dist/admin-panel.js');

Vue-застосунок монтується на #vue-admin-app. CSRF-токен передається через data-csrf для захисту AJAX-запитів.

Варіант 2: окремий SPA на піддомені. Повністю незалежний Vue-застосунок із Vue Router, авторизація через REST API Бітрікса (user.current, сесійний токен у cookie). Підходить для операторських інтерфейсів, які працюють на окремому пристрої (планшет на складі).

Варіант 3: Vue-компоненти всередині стандартного /area51 / кастомного admin розділу. Сторінки розділу — PHP, окремі блоки (таблиці, форми) — Vue-компоненти. Гібридний підхід, коли повна заміна недоцільна.

Ключові компоненти адміністративного інтерфейсу

DataTable із серверною пагінацією. Таблиця сутностей із сортуванням, фільтрами, пошуком. Запит на сервер при кожній зміні фільтрів або сторінки. Bulk-операції: виділити кілька рядків → масова зміна статусу, видалення, експорт. Inline-редагування комірок для швидких правок.

ResourceForm — форма створення/редагування. React Hook Form або VeeValidate, динамічні поля (показати/приховати залежно від значення іншого поля), вкладені сутності (замовлення + позиції + додаткові послуги — один сабміт). Автозбереження чернетки в localStorage кожні 30 секунд.

Дерево категорій із drag-and-drop. Розділи інфоблоку як вкладене дерево, перетягування для зміни порядку та батьківського розділу. Після drop — PATCH-запит на зміну SORT і IBLOCK_SECTION_ID через CIBlockSection::Update.

Менеджер медіафайлів. Інтеграція з бітриксовим /bitrix/admin/fileman_index.php через BX.Fileman або власний файловий браузер поверх CFile API.

Кейс: панель управління контентом новинного порталу

Медійний проєкт на Бітрікс, редакція з 15 осіб. Стандартний адміністративний інтерфейс для інфоблоку статей не задовольняв: не можна швидко перемикатися між матеріалами, немає черги публікації, немає інструменту планування.

Розробили редакційну панель — окрема сторінка /bitrix/admin/editorial.php. Vue-застосунок із трьома видами:

  • Редакційна черга — Kanban-дошка (чернетка → перевірка → відкладено → опубліковано). Картка статті — назва, автор, дата публікації, кількість переглядів із Метрики. Drag-and-drop зміни статусу через SortableJS.
  • Список матеріалів — таблиця з фільтрами за автором, тегом, датою. Inline-редагування заголовка та дати публікації.
  • Редактор статті — TinyMCE всередині Vue-компонента, збереження через CIBlockElement::Update, історія змін.

Права доступу: головний редактор бачить усі матеріали, автор — лише свої. Перевірка в PHP-контролері через групи користувачів Бітрікса, у Vue — приховування/відображення UI-елементів на основі window.BX_STATE.permissions.

Розробка зайняла 6 тижнів: 2 тижні — проєктування інтерфейсу та API, 4 тижні — реалізація.

API-шар: контролери для Vue

Всі операції Vue-панелі йдуть через REST-контролери. Базовий клас Bitrix\Main\Engine\Controller дає:

  • Автоматичний CSRF-захист через bitrix_sessid()
  • Логування дій через Bitrix\Main\Diag\Debug
  • Обробку виключень із поверненням JSON-помилок

Структура відповіді стандартна: {status: 'success', data: {...}} або {status: 'error', message: '...'}. Vue використовує єдиний api.js сервіс із axios-інтерцептором для обробки 401/403.

Етапи та терміни

Масштаб панелі Орієнтовний термін
Одна CRUD-таблиця + форма 1-2 тижні
Спеціалізований інтерфейс (3-5 екранів) 3-6 тижнів
Повноцінна кастомна адміністративна система 8-16 тижнів

Терміни визначаються кількістю сутностей, складністю бізнес-логіки та вимогами до прав доступу.