Завантаження цифрових документів за зовнішнім посиланням
1. Загальний опис
Платформа дозволяє завантажувати цифрові документи за віддаленою адресою у зовнішній системі та зберігати їх до реєстру для подальшого використання у бізнес-процесах. Це може бути необхідно, наприклад, для перегляду актів, зображень, або інших цифрових документів тощо.
| Наразі система дозволяє отримувати цифрові документи за зовнішнім посиланням із типом автентифікації NO_AUTH, коли запит виконується до публічних API (детальніше — див. розділ Налаштування інтеграції із зовнішньою системою). | 
Для отримання цифрових файлів за віддаленою адресою розроблена JUEL-функція save_digital_document_from_url(), яку можна використовувати для спрощення моделювання процесів у скриптах (детальніше — див. розділ Використання у бізнес-процесі).
За обробку цифрових документів на Платформі відповідає Сервіс цифрових документів (digital-document-service).
2. Налаштування інтеграції із зовнішньою системою
Для того, щоб запит на отримання зовнішніх ресурсів міг вийти за межі кластера Платформи, необхідно на рівні реєстру створити Service Entry — точку виходу трафіку за межі системи.
| Service Entry створюється автоматично, після того, як адміністратор реєстру налаштує інтеграцію в адміністративній панелі Control Plane. Після застосування змін до конфігурації реєстру та проходження Jenkins-пайплайн MASTER-Build-<registry-name>, підключення до зовнішньої системи буде налаштовано. | 
| За деталями налаштувань у консолі Control Plane зверніться до сторінки Налаштування взаємодії з іншими системами у Control Plane. | 
- 
Увійдіть до консолі Control Plane як адміністратор реєстру. 
- 
Перейдіть до розділу Реєстри та відкрийте необхідний. 
- 
Знайдіть секцію Налаштування взаємодії з іншими системами та натисніть + ДОДАТИ ЗОВНІШНЮ СИСТЕМУ. 
- 
У новому вікні налаштуйте інтеграцію із зовнішньою системою для подальшої взаємодії згідно з регламентом реєстру. Налаштуйте взаємодію через метод автентифікації NO_AUTH. Інші методи автентифікації для цього сценарію недоступні. 
3. Використання у бізнес-процесі
3.1. Загальні відомості та обмеження
Після налаштування взаємодії із зовнішньою системою у Control Plane, ви можете моделювати сценарії отримання цифрових документів за віддаленою адресою та їх подальшого використання у бізнес-процесах.
Для отримання цифрових файлів за віддаленою адресою використовуйте JUEL-функцію save_digital_document_from_url (). Її можна використовувати при розробці Groovy-скриптів у бізнес-процесах.
- Функція може приймати 2 вхідні параметри:
- 
- 
URL цифрового документа 
- 
Назва файлу Можливо отримати лише один документ за один запит до зовнішнього джерела. Обидва параметри є рядком ( String), тому моделювальник може передати функції фактично будь-який аргумент:Приклад 1. Шаблон функціїsave_digital_document_from_url(String remoteFileUrl, String targetFileName) 
 
- 
| Алгоритм роботи функції наступний: 
 Надалі  Повний перелік параметрів, які можна використати у бізнес-процесі, дивіться у таблиці нижче. 
 Приклад відповіді  | 
| 
 | 
| Скористайтеся готовою схемою бізнес-процесу для безпосереднього поглиблення у деталі: Скопіюйте вміст .bpmn-файлу та вставте на вкладці Код у розділі Моделі процесів Кабінету адміністратора регламентів. | 
3.2. Моделювання бізнес-процесу
3.2.1. Скрипт для отримання цифрового документа за зовнішнім посиланням
- 
Створіть скрипт-задачу (Script Task). 
- 
У полі Nameвведіть назву задачі. Наприклад,Отримання файлу з іншої системи.
- 
У полі Scriptвідкрийте Редактор скриптів та напишіть Groovy-скрипт для обробки даних. 
- 
Використовуйте функцію save_digital_document_from_url (), щоб отримати цифровий документ зі сторонньої системи.- 
Передайте як вхідні параметри функції посилання та назву файлу. Це можна зробити, наприклад, визначивши параметри urlтаfileNameяк змінні, присвоївши їм відповідні значення, та використавши у функції. 
- 
Або можна відразу сформувати об’єкт та призначити йому як значення функцію з відповідними вхідними параметрами.  Після обробки отриманих даних на стороні Сервісу цифрових документів, до бізнес-процесу повертаються метадані документа, збереженого у тимчасовому сховищі проміжних даних — idтаchecksum.Після того, як цифровий документ збережено до тимчасового сховища, розробник має визначити логіку подальшого збереження документа до постійного сховища CEPH у рамках цього ж процесу, адже після завершення БП файл буде видалено із тимчасового сховища. 
 Результат виконання скрипту зберігаємо до змінної documentMetadata, яку надалі використовуємо в іншому скрипті для формування об’єкта, що зберігатиме метадані отриманого документа до постійного сховища CEPH.
  
- 
3.2.2. Користувацька задача для виводу файлу з БД на UI-форму
Після збереження об’єкта із метаданими цифрового документа до основної БД, знаходимо запис за його ID та передаємо об’єкт як змінну на UI-форму Кабінету користувача.
- 
Створіть користувацьку задачу (User Task). 
- 
Введіть назву задачі. Наприклад, Переглянути файл з БД на формі.
- 
Застосуйте шаблон делегата зі списку доступних — User form. 
- 
У полі Form keyвведіть службову назву форми, до якої необхідно передати дані. Наприклад,file-saved-from-ext-system-view.
- 
У полі Assigneeвкажіть токен ініціатора процесу —${initiator}.
- 
У полі Form data pre-populationвкажіть дані об’єкта із цифровим документом (у нашому прикладі — це зображення), який виведеться на форму. Наприклад,${response.value.responseBody}. 
3.3. Моделювання UI-форм
Отриманий цифровий документ за зовнішнім посиланням можна відобразити на UI-формі бізнес-процесу та завантажити на локальну машину для подальшого використання.
| Скористайтеся готовою формою для безпосереднього ознайомлення із деталями: Скопіюйте вміст .json-файлу та вставте на вкладці Код у розділі UI-форми Кабінету адміністратора регламентів. | 
- 
Створіть UI-форму для бізнес-процесу. 
- 
У Конструкторі налаштуйте компонент Text Fieldдля виводу назви файлу.
- 
Далі налаштуйте компонент Fileдля отримання даних (цифрового документа) зі сховища CEPH. Перейдіть на вкладку APIта у поліProperty Nameвкажіть ключ для пошуку запису в об’єктному сховищі. Наприклад,image.Параметр не є жорстко закодованим. Ви можете використовувати будь-які ключі, передбачені логікою вашого бізнес-процесу.  Результат, що повертається на UI-форму, може виглядати так: Приклад 2. Цифровий документ, отриманий із CEPH по ключуimage 
3.4. Використання у Кабінеті посадової особи
Розглянемо приклад, як виглядатиме користувацька UI-форма із виведеним цифровим документом, отриманим з об’єктного сховища.
- 
Увійдіть до Кабінету посадової особи. 
- 
Запустіть змодельований бізнес-процес.  
- 
Завантажте отриманий файл на локальну машину для подальшого використання. 