ФК «Зенит»

Задача проекта

Доработать мобильное приложение Битрикс24 для оперативного согласования и подписания корпоративных документов.

ФК «Зенит» сегодня — это

  • 99

    лет с момента основания

  • 30

    трофеев в турнирах

  • 1000+

    сотрудников

  • 15 млн+

    болельщиков

О ситуации

На портале заказчика был настроен документооборот в системе 1С. Пользователи Битрикс24 могли формировать служебные записки и запускать согласование по заданным маршрутам.

Однако не хватало функционала для быстрого визирования: в условиях частых перемещений ответственных лиц стандартное решение для ПК не подходило. Требовалось мобильное приложение, куда будут поступать документы, там подписываться и сразу улетать в 1С.

Одно из важных условий – мобильное приложение должно работать на iPhone (версия iOS 10.0 и выше).

Бизнес-требования

  • Разработать расширение конфигурации для 1С:Документооборот 8 КОРП (версии 2.1.13.28 на платформе 1С:Предприятие 8.3.15) для обмена с порталом и подписания документов из мобильного приложения с помощью электронной цифровой подписи, а также установить официальный штамп компании в подписываемые документы.

  • Доработать портал и мобильное приложение 1С-Битрикс24 для осуществления действий над документами и передачи действий в 1С:ДО.

    1. Внедрить идентификацию мобильного устройства с пользователем.

    2. Написать логику идентификации и подписания по отпечатку пальца.

  • Настроить интеграцию между 1С:ДО и корпоративным порталом (мобильным приложением) 1С-Битрикс24.

Сроки выполнения проекта

Заказ поступил в августе 2019 г., а в декабре того же года работы были сданы заказчику.

Мобильное приложение подтянули довольно быстро, а вот с интеграцией 1С:ДО все оказалось не так просто, об этом рассказываем дальше.

Дорожная карта

Проект был реализован по каскадной модели (waterfall) в 6 шагов:

  1. Анализ бизнес-процессов согласования документов, сбор требований и формирование ТЗ (длительность: 32 дня).

  2. Отрисовка интерфейсов в фирменном стиле в Figma (длительность: 7 дней).

  3. Написание двух интеграций между Битрикс24 и 1С:ДО (через Rest API и Push and pull, длительность: 15 дней).

  4. Реализация и внутреннее тестирование (длительность: 40 дней)

  5. Тестирование со стороны клиента (длительность: 16 дней).

  6. Установка и ввод в опытную эксплуатацию (длительность: 11 дней).

User flow для работы с договорами

Прототипы мобильного приложения и user flow

Трудности реализации

1С:ДО клиента была подключена к платформе Windows Server. Для подписания документов использовалась Windows Active Directory (AD) – система управления пользователями, и Удостоверяющий центр Microsoft.

Казалось, клиенту было бы проще использовать штатный мобильный клиент 1С:ДО. Но в 2019 году он только появился, и UX-дизайн стоял в очереди на доработку.

Кроме того, в 2019-м году в компании клиента все подписания проходили на его территории (это сейчас мы все подписываемся через облако). Из плюсов закрытого контура: безопасность лучше, чем в облаке. Из минусов: нельзя подписываться с другими контрагентами, только в пределах своей компании.

Но во время реализации проекта локальное подписание было еще технически невыполнимо через штатное приложение Битрикс24. Локальное подписание, оно же УКЭП, могло бы заработать в мобильном приложении, если на телефон поставить криптопровайдер и сертификат. Согласитесь, целевым пользователям было бы странно услышать такое предложение. Даже обойдя моральные препоны, мы бы уперлись в реальные возможности Битрикс24: приложение и с этими «бубнами» до 2024 года работать не умело.

Здесь мы подходим к тому, что для решения определенных задач бывает проще написать собственное приложение, например, на Flutter или PWA. Об этом еще пару слов в самом конце.

Аудитория проекта

Изначально проект открывался в камерном формате для решения задач небольшой части разъездных сотрудников. В будущем заказчик планирует расширить пользовательский функционал на 1000 человек.

Технологический стек

1С:Документооборот, 1C-Битрикс24, Bitrixmobile, Vue, Push and pull, Nginx, Nodejs, Docker, Windows Server, Active Directory, Удостоверяющий центр Microsoft, Rest API, WebView, ОpenSSL.

Решения

  1. Мы разработали мобильное приложение на базе Битрикс24, совместимое с iOS, для рассмотрения и подписания внутренних документов: договоров, приказов, служебных записок, входящих и исходящих писем.

  2. Развернули портал (коробочную версию) и выполнили доработки для его отказоустойчивости.

  3. Очистили мобильное приложение от функционала, которым клиент не пользуется.

  4. Интегрировали портал с 1С:ДО. Теперь документы определенного типа попадают в Битрикс24 и отображаются у пользователя в мобильном приложении.

  5. Разработали регламент и инструкции для настройки Удостоверяющего центра на выпуск сертификатов пользователям (цифровых подписей).

  6. Для повышения безопасности связали действия пользователя с его мобильным устройством. Идентификатор девайса (IMEI) подтверждается админом на портале с первым запуском приложения.

  7. Разработали идентификацию пользователя и подписание документов по отпечатку пальцев (Touch ID).

Результат позволил компании клиента намного быстрее двигать процессы в 1С, а менеджерам «в полях» – управлять потоками документов буквально на ходу.

Как происходит взаимодействие с документами из мобильного приложения

У мобильного приложения Битрикс24 есть функциональное ограничение: нельзя модифицировать документ (например, добавить подпись и печать организации) и в таком виде передать в 1С:ДО.

В приложении доступно только действие над документом: «Принять» / «Согласовать», «Отклонить» или «Отправить на доработку».

Но мы нашли решение этой ситуации — вот как работает алгоритм подписания:

  1. 1С:ДО подключается через Push and pull к порталу Битрикс24 в определенную очередь и ждет команд из мобильного приложения.

  2. Пользователь осуществляет с документом определенное действие: принимает или отклоняет. Через Push and pull мобильное приложение посылает в 1С:ДО сообщение, какое действие нужно выполнить.

  3. 1С:ДО читает сообщение, проверяет документ – можно ли выполнить это действие, и выполняет. Для подписания 1С:ДО ищет сотрудника, выполнившего действие, его сертификат, проверяет валидность сертификата и подписывает документ.

  4. Таким образом, вся передача данных происходит только через эту очередь, и мы можем гарантировать, что данные не попадут к третьим лицам.

Основные функциональности мобильного приложения:

  • Страница загрузки.
  • Главная страница со списком документов. Здесь размещены пять плиток, каждая из которых соответствует определенной категории документов. Счетчик показывает количество активных заданий.
  • Карточка задания на согласование. Представляет собой тело запроса с файловым вложением. Перед подписанием документ в формате PDF можно просмотреть прямо в мобильном приложении.
  • Связь с администратором для входа в мобильное приложение.

Договоры

В этом разделе представлены договоры, ожидающие ознакомления и согласования.

Интерфейсы мобильного приложения

Приказы

Здесь выводится список доступных для просмотра и согласования приказов.

Интерфейсы мобильного приложения

ЭДО

В этом разделе осуществляется подписание документов.

Интерфейсы мобильного приложения

Выученные уроки и советы

Всех, кто планирует кастомизировать мобильное приложение Битрикс24, мы должны предостеречь: это задача со звездочкой, советуем не смотреть в ее сторону. Объясним почему:

  1. Мобильное приложение пишет вендор (в нашем случае компания «1С-Битрикс»), и внедрить модули, которых он еще не использует, невозможно. Некоторые штатные модули по сути своей не поддаются изменениям.

  2. Если Android-приложение еще можно декомпилировать на несколько файлов (влезть в начинку, переписать под себя) и отдать клиенту APK-файл, то приложение для iOS в принципе не получится декомпилировать. Нужно помнить, что декомпилированное приложение теряет возможность принимать обновления. Интегратор должен будет каждый раз вносить все ранние правки в новую версию.

  3. Если вы пользуетесь УКЭП, выполнить подписание в штатном приложении не получится. Как мы говорили выше, для этого понадобится установить криптопровайдер и сертификат на телефон пользователя. При этом мобильное приложение должно уметь работать с криптопровайдером. В теории подписание возможно через облачный сервис и если у вас есть УНЭП.

Еще мы не рекомендуем использовать локальный удостоверяющий центр. Если вы однажды захотите подписываться с другими компаниями, а не только внутри своего юрлица, вам все равно нужно будет перейти на облачные сервисы или государственные центры сертификации.

В своем опыте мы перепробовали все: дорабатывали штатное приложение как на Webview, так и на Janative (актуальном фреймворке Битрикс24), а также писали свое приложение на Flutter (например, для ХайХаба) и на PWA. Настраивали подписания локально (через КриптоПро) и через облако (HRlink).

Вывод будет такой: если вам не требуется ничего специфического, то доработка мобильного приложения Битрикс24 вам подойдет. Но если вы хотите что-то уникальное, проще делать свое приложение.