Личный Кабинет АО «МБ Банк»
Вернуться к списку-
Тип проекта:В2В
-
Тематика сайта:Финансы, бухгалтерия, банк
-
Редакция продукта:Стандарт
-
Сайт:
-
Партнер:
Разработка личного кабинета на 1С-Битрикс
Цель проекта
Создание функционального личного кабинета пользователя с системой анкетирования, модулем обработки заявок и интерфейсом для менеджеров. Реализовать возможность формирования заявок на основе динамически создаваемых анкет и автоматической генерации документов по шаблонам Word.
Создать интерактивный личный кабинет для клиентов компании, в котором пользователь может:
- заполнять комплексные анкеты, состоящие из множества логически связанных полей и подразделов;
- формировать и отправлять заявки в один клик;
- получать обратную связь от менеджеров по каждому пункту анкеты;
- отслеживать статусы.
Менеджер может скачивать автоматически сформированные документы. Для менеджеров предусмотреть отдельный интерфейс модерации анкет с комментариями, уведомлениями и контролем статусов.
Основные работы
1. Создание инфоблока «Конструктор анкет»
- Разработан инфоблок с 14 свойствами, часть которых представляет собой привязки к разделам и элементам этого же инфоблока для построения многоуровневых анкет.
- Настроены связи между свойствами для динамического взаимодействия в публичной части.
- Реализовано взаимодействие с внешним API DaData (адреса, ЕГРЮЛ, ИНН и др.) с обработкой в режиме AJAX.
- Подключены сторонние библиотеки:
- intlTelInput – для масок телефонов с кодами стран;
- datepicker – для выбора дат.
2. Шаблоны анкет
Разработаны два шаблона для инфоблока:
- «Большая анкета» – основной шаблон с многоуровневой вложенностью разделов и возможностью добавления элементов-подразделов.
- «Поданкета» – вспомогательный шаблон, вызываемый при выборе определённых свойств в «Большой анкете».
Оба шаблона выводят интерактивные формы с элементами:
- чекбоксы, выпадающие списки, вложенные поля, поля даты, адреса и загрузки файлов;
- формы отправляются через AJAX и обрабатываются сервером, создавая соответствующие разделы и элементы в инфоблоке «Заявки».
3. Инфоблок «Заявки»
- Хранит результаты заполненных анкет в виде разделов и элементов.
- Добавлены свойства:
- привязка к пользователю;
- статусы заявок с обработчиком изменения статуса (автоматическая отправка уведомлений по email);
- JSON-поля для хранения ответов анкеты, комментариев менеджеров и истории изменений.
- Подключена библиотека PHPWord: при сохранении анкеты в обработчике AJAX автоматически формируются документы Word по шаблонам, утверждённым заказчиком.
4. Менеджерская часть
- Создана отдельная группа пользователей «Менеджеры» с ограниченным доступом к административной панели.
- Реализован интерфейс для просмотра заполненных анкет в пользовательском виде.
- Добавлена возможность комментирования каждого поля анкеты:
- комментарии сохраняются в инфоблоке «Заявки»;
- при добавлении комментария пользователю присваивается статус «Требуются корректировки»;
- пользователю отправляется уведомление о необходимости исправления.
- Визуальная часть интерфейса содержит индикаторы наличия комментариев (в форме и в списке анкет).
- Предусмотрена привязка менеджеров к заявкам.
5. Дополнительный функционал
- Реализована версия сайта для слабовидящих.
- Создан кастомный компонент регистрации с подтверждением входа по SMS (планируется проверка стабильности).
- Разработан пользовательский компонент меню, отображающий список заявок и анкет текущего пользователя с указанием статусов и связей между анкетами и поданкетами.
Бизнес-логика анкетирования
Основная идея
Анкета не является статичной формой. Это динамический конструктор, который:
- подстраивается под выбор пользователя (например, выбор одного пункта открывает дополнительные подразделы – «поданкеты»);
- хранит всю структуру в виде элементов и разделов инфоблока «Конструктор анкет»;
- использует привязки и свойства для вызова зависимых шаблонов.
Пример логики работы
- Пользователь начинает заполнять «Большую анкету».
- При выборе определённого значения (например, «Тип деятельности») автоматически подключается шаблон «Поданкета», где уточняются параметры.
- После заполнения анкета отправляется через AJAX:
- данные сохраняются в инфоблок «Заявки»;
- формируется новая запись, связанная с пользователем;
- система присваивает статус «Отправлена».
- Менеджер получает уведомление, открывает заявку, видит анкету в том же виде, что и пользователь, и может:
- оставить комментарий к каждому полю;
- изменить статус («требует корректировки», «на проверке», «одобрена»);
- при необходимости внести свои правки.
- Пользователь получает уведомление по email о комментариях или смене статуса и может внести исправления прямо в личном кабинете.
- После утверждения анкеты система формирует Word-документы по шаблону (через PHPWord) и сохраняет их в заявке.
Архитектура решения
|
Компонент |
Назначение |
Особенности реализации |
|
Инфоблок «Конструктор анкет» |
Хранение структуры анкет, свойств и связей |
Множество (с возможностью добавления) свойств, часть – привязки к элементам и разделам; взаимодействие с DaData API |
|
Шаблон «Большая анкета» |
Основной интерфейс ввода данных |
Многоуровневая вложенность, динамическое подключение «Поданкет» |
|
Шаблон «Поданкета» |
Зависимые формы |
Вызов при определённых значениях свойств, AJAX-обновление |
|
Инфоблок «Заявки» |
Хранение результатов анкетирования |
JSON-структура ответов, комментариев и истории изменений |
|
Менеджерский интерфейс |
Проверка и комментирование анкет |
Привязка менеджеров к заявкам, статусы, почтовые уведомления |
|
Пользовательский кабинет |
Просмотр и редактирование анкет |
AJAX-отправка, визуальные индикаторы комментариев, статусы |
|
Документообразование (PHPWord) |
Формирование файлов Word |
Два шаблона документов по формам заказчика |
|
Доп. модули |
Повышение UX и доступности |
Маски телефонов (intlTelInput), Datepicker, версия для слабовидящих |
Пользовательские роли
Пользователь
- Заполняет анкету и поданкеты.
- Получает уведомления о комментариях.
- Вносит правки и повторно отправляет анкету.
Менеджер
- Проверяет анкету в административном интерфейсе.
- Добавляет комментарии к полям.
- Меняет статусы и генерирует итоговый документ.
- Контролирует поток заявок в своей зоне ответственности.
Администратор
- Настраивает шаблоны анкет и поданкет.
- Управляет справочниками и структурами инфоблоков.
- Создает шаблоны Word-документов.
Технологический стек
- CMS: 1С-Битрикс (редакция «Бизнес»)
- Frontend: JavaScript (AJAX), intlTelInput, datepicker
- Backend: PHP, Bitrix API, PHPWord
- Интеграции: DaData API (адреса, ИНН, ЕГРЮЛ)
- Хранение данных: инфоблоки с JSON-свойствами
- Безопасность: разграничение прав (группы «Пользователи», «Менеджеры»), валидация данных, уведомления о статусах
Результат
Создана полностью кастомная система личного кабинета с адаптивной структурой анкет, двусторонней обратной связью между пользователем и менеджером, автоматическим документооборотом и расширяемой архитектурой. Система поддерживает масштабирование – добавление новых анкет, типов заявок и логики обработки без изменения базового кода. Решение полностью интегрировано в инфраструктуру Bitrix, поддерживает AJAX-обновления и автоматическую генерацию документов.