После настройки модуля Archive Packer в дизайнере бизнес-процессов доступен специальный блок Создать архив. С его помощью вы можете в ходе процесса генерировать .zip-архив документов.
В статье рассмотрим пример моделирования бизнес-процесса с блоком Создать архив, в который данные для генерации передаются из предшествующей задачи. Вы также можете использовать скрипт для передачи данных в блок и размещать его в более сложных процессах.
Настройка процесса с блоком «Создать архив»
Для работы блока Создать архив в контексте процесса нужно добавить переменные, соответствующие входным и выходным атрибутам блока.
Вы можете создать отдельные свойства или добавить переменную типа Приложение, ссылающуюся на приложение, в контексте которого есть необходимые атрибуты.
Схема бизнес-процесса архивации может выглядеть следующим образом:
Разместите на схеме блок Задача. Например, это может быть задача подготовить файлы для архивации. На её форму вынесите поля, чтобы ввести название и прикрепить файлы для архива.
Затем на правой панели инструментов перейдите на вкладку Интеграции. Перетащите на схему блок Создать архив.
После блока создания архива вы можете настроить оповещение пользователя о завершении архивации и разместить задачу проверить результат.
На форме финальной задачи вынесите поле, которое по завершении процесса будет заполнено ссылкой для скачивания архива в формате .zip.
Настройка блока «Создать архив»
Для настройки блока Создать архив дважды нажмите на него и заполните данные на вкладках.
Вкладка «Основное»
Укажите общую информацию об архиве:
- Название — введите название блока, которое будет отображаться на схеме процесса;
- Название задачи — создание архива выполняется автоматически без назначения задачи на пользователя. Поэтому настраивать формирование названия задачи не требуется, поле можно оставить пустым;
- Присвоить выходные атрибуты в — выберите, в каком контексте созданы переменные, в которые запишется результат работы блока:
- контекст процесса — отметьте эту опцию, если переменные для сопоставления в настройках блока созданы в контексте процесса;
- приложение — выберите опцию, а затем в поле Переменная* укажите приложение, в которое будет записан результат работы блока.
Вкладка «Входные и выходные атрибуты»
На этой вкладке поля настроек блока сопоставляются с контекстом процесса или приложения. Сопоставляемые переменные должны быть одного типа:
- Входные переменные — укажите данные для архивации:
- Название архива — название, которое будет присвоено архиву (без указания расширения .zip). Тип переменной: Строка;
- Файлы — файлы для автоматической генерации в архив. Тип переменной: Файлы;
- Выходные переменные — выберите переменные, в которые будет записан результат работы блока:
- Архив — сформированный файл архива. Тип переменной: Файлы.
Свойство JSON, а также атрибуты для отслеживания диагностических данных Ответ сервиса (create), Идентификатор запроса и Ответ сервиса (get) заполняются при использовании скрипта для передачи данных в блок. В данном примере это не требуется, так как свойства передаются из предшествующей задачи.
Вкладка «Время выполнения»
Заполнять данные на этой вкладке не нужно. Настройки используются, чтобы обозначить сроки выполнения задач, а также определить, что произойдёт, если в указанное время задача не будет завершена.
Вкладка «Обработка ошибок»
На этой вкладке нужно указать, по какой ветке направится ход бизнес-процесса при возникновении ошибки в работе блока. Также вы можете настроить оповещение пользователей об ошибке.
- Оповещение — включите опцию и укажите пользователей, которым будет отправляться оповещение об ошибке в процессе. Выбрать можно пользователя, группу, элемент оргструктуры или указать контекстную переменную, например инициатора процесса;
- Прервать — отметьте опцию, а затем в поле Переход укажите, по какой ветке направится процесс в случае возникновения ошибки.
После завершения настроек нажмите кнопку Сохранить.
Использование скрипта для передачи данных в блок «Создать архив»
Вы можете настроить передачу пользовательских данных для генерации архива с помощью скрипта.
Например, вам нужно ежемесячно создавать архив отчётов о проведении встреч с клиентами. Вы можете настроить скрипт на языке TypeScript, чтобы в определённую дату получать архив документов, которые хранятся в определённой папке и разделе, содержат информацию об определённых событиях и т. д. Подробнее про принципы написания скриптов читайте в справке ELMA365 TS SDK.
Для этого в дизайнере бизнес-процесса на вкладке Скрипт пропишите скрипт для передачи данных с помощью JSON.
Скрипт может выглядеть следующим образом:
В контексте процесса добавьте переменную типа Строка (Текст), которая будет соответствовать в настройках блока Создать архив входному атрибуту JSON. В ходе выполнения процесса свойство заполняется, например, следующими данными:
{
archive_name : "название файла архива (без расширения)",
directory : "идентификатор (guid) папки в разделе «Файлы» ELMA365, куда будет загружен созданный архив",
files : [
{
download_url : "ссылка на скачивание архива",
file_name : "название файла в архиве",
folder : "папка внутри архива/может быть вложенной/может быть пустым значением для корня"
}
]
}
В нужном месте на схеме процесса разместите блок Создать архив и настройте его.
При использовании JSON вы также можете добавить в контекст процесса переменные для отслеживания случаев некорректной обработки запроса сервером. Это выходные атрибуты блока Создать архив:
- Ответ сервиса (create) — результат получения сервером запроса на архивацию. Тип переменной: Строка (Текст);
- Идентификатор запроса — идентификационный номер запроса. Тип переменной: Строка;
- Ответ сервиса (get) — результат отправки сервером данных по запросу на архивацию. Тип переменной: Строка (Текст).