Интеграция платформы Битрикс24 (коробочная версия) и скриптов по обработке файлов:
- Рассмотрим пример, менеджер создает сделку.
- В рамках проекта по регламенту компании менеджер готовит для клиента пакет документов. В электронном виде документы - это семистраничный PDF файл.
- Менеджер создает, сохраняет файл и связывает его с множественным полем сделки.
- При сохранении карточки сделки, после закачки исходного файла, автоматически запускается процесс, который условно говоря, проверяет, читает исходный файл, делит его на 7-мь отдельных файлов, присваивает им имена, собирает, архивирует и перемещает для хранения обратно в поле сделки.
- Имена «новых» файлов присваиваются роботом по утвержденной «маске» содержат имя клиента, название и номер листа документа.
- Посмотрим результат пробного тестирования. Скачаем из карточки обработанные и разложенные файлы. Видим 7-мь документов: Доверенность 1, Доверенность 2, Заявление…, Заявление…, Заявление…, Согласие и Ходатайство.
- Зачем нужно разбивать документ на составные части? Это нужно чтобы на разных этапах дальнейшей работы с документами оптимизировать, исключить человеческую ошибку и ускорить обработку дальнейших процессов, так как на разных этапах процесса работы будут использоваться отдельные документы из общего пакета.
Как работают бизнес-процессы:
- Они отслеживают загрузку исходного 7-ми страничного файла
- Запускают обработчик (технический бизнес-процесс «Разделение файла») на сервере. При запуске БП проверяет соблюдение ряда условий и в зависимости от результатов определяется последовательность дальнейших действий:
- №1 три условия «И» :
‣ Это первая загрузка исходного файла? Да или нет?
‣ Пакет подписан? Да или нет?
‣ Папка разделенный документ – пустая? Да или нет?
- №2 Два условия по техническим полям «ИЛИ»:
‣ Запускался ли БП - БП разделения статус = пусто.
‣ разделения статус = 0
- Этими условиями:
‣ Проверяем был ли осуществлен запуск глобального бизнес-процесса?
‣ Исключаем запуск бизнес-процесса повторно.
- Следующее действие – старт активити Битрикс24 WebHook и запуск с его помощью php файла, содержащего скрипт расположенного на внешнем сервере. Хендлер активити содержит полный адрес, параметры запуска и ключи. Цель работы скрипта передача ID сделки, чтобы система понимала откуда нужно взять исходный файл и куда вернуть разделенные файлы поле обработки.
- Серверный скрипт перемещает файлы для обработки в папку local/file где хранятся скаченные файлы, предназначенные для обработки.
- В папке local/logs хранятся логи обработки.
- Для осуществления обработки файлов на сервере обязательно должны быть установлены интерпретатор PDF (для разделения исходного файла) и поддержка ZIP архива.
- Обработка с помощью модуля HPH, разделение, сохранение и сжатие файлов это процедуры, которые требуют определенного времени.
- Настройка модулей сервера, которые работают с PDF файлами требует индивидуальной настройки. По этой причине была разделена обработка файлов на сервере и обработка общей оболочки на PHP.
- Отдельно поговорим о том, как система использует дополнительные проверки при добавлении исходного файла в поле сделки:
‣ При закачке в поле файла не PDF, а другого типа обработчик остановит работу и даст уведомление о том, что закаченный файл другого типа и не может быть обработан.
‣ В случае, если закачан файл PDF, но количество страниц меньше, чем предусмотрено регламентом обработчик остановит работу и даст уведомление о несоответствии.
‣ В случае, если разделенные файлы будут содержать ошибки, то робот и об этом проинформирует менеджера.
На данном примере мы рассмотрели уникальные возможности результатов интеграции штатных бизнес-процессов Битрикс24, возможностей REST-API, возможностей сервисных скриптов, которые позволяют:
- Отправлять информацию на внешний веб сервер, обработать ее и вернуть результаты обработки в сделку Битрикс24.