Генерування витягу: Generate Excerpt
1. Загальна інформація
Інтеграційне розширення Generate Excerpt дозволяє налаштовувати завдання для формування витягу у бізнес-процесі. Це розширення допомагає автоматизувати процеси генерації витягів у форматах PDF, DOCX та CSV, забезпечуючи належне оброблення запитів та передачу даних між процесами. Розширення додає різні властивості до завдання типу Service Task.
Назва | Пояснення |
---|---|
Бізнес-назва інтеграційного розширення |
Generate Excerpt |
Службова назва інтеграційного розширення |
|
Назва файлу у бібліотеці розширень |
excerptConnectorGenerateDelegate.json |
Розширення Generate Excerpt використовується, коли необхідно сформувати витяг з певними даними у визначеному форматі.
Більш детально про особливості використання делегата у бізнес-процесі див. на сторінці Моделювання бізнес-процесу з формування витягів у форматі csv та docx. |
2. Перед початком
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування
Делегат Generate Excerpt призначений для використання у завданнях типу Service Task бізнес-процесу. Він дозволяє налаштувати генерацію витягів з передачею вхідних та вихідних даних.
3.1. Налаштування завдання
-
Створіть завдання типу Service Task у вашому бізнес-процесі.
-
Назвіть завдання, наприклад,
Запит на формування витягу-звіту
. -
Застосуйте шаблон делегата, обравши Generate Excerpt зі списку в налаштуваннях завдання.
3.2. Налаштування делегата
Виконайте наступні налаштування:
- Excerpt Type
-
У полі Excerpt Type введіть назву теки у регламенті, в якій визначено шаблон витягу. Наприклад,
reference-factor-names-excerpt
. - Excerpt Input Data
-
У полі Excerpt Input Data введіть вкажіть дані для формування витягу. Наприклад,
${excerpt}
.Дані для формування витягу можна отримати скриптом та передати у полі Excerpt Input Data у вигляді змінної.
Дані, що передаються для генерації витягу
excerptInputData
повинні мати відповідний формат:{ "requests":[ { "field1":"value1" }, { "field2":"value2" } ... ] }
Приклад скрипту, який формує дані для витягу, і пояснення його роботиdef factorFormData = submission('UserTask_ViewFactors').formData def excerpt = [:] def factors = factorFormData.prop('factorData').elements().collect { item -> [name: item.prop('name').value(), creatorFullName: item.prop('creatorFullName').value(), updaterFullName: item.prop('updaterFullName').value()] } excerpt["factors"] = factors def request = S([:], 'application/json') request.prop('recordId', null as String) request.prop('excerptType', 'reference-factor-names-excerpt') request.prop('excerptInputData', S(excerpt, 'application/json')) request.prop('requiresSystemSignature', false) execution.removeVariable('payload') set_transient_variable('payload', request) set_transient_variable('excerpt', excerpt)
Цей скрипт виконує наступні дії:
-
Отримання даних форми: отримує дані з форми
UserTask_ViewFactors
. -
Формування об’єкта
excerpt
: створює об’єктexcerpt
та додає до нього список факторів, зібраних з форми. -
Створення запита: створює запит на генерацію витягу, задаючи тип витягу, вхідні дані та інші параметри.
-
Очищення змінної
payload
: видаляє зміннуpayload
, якщо вона існує. -
Налаштування транзитних змінних: встановлює транзитні змінні
payload
таexcerpt
для використання у процесі.
-
- Requires System Signature
-
У полі Requires System Signature введіть значення
false
.Можливість підписання даних витягів у форматі .csv і .docx системним ключем відсутня, тому за замовчуванням параметр
Requires System Signature
має містити значенняfalse
. Якщо буде вказано значенняtrue
, бізнес-процес не буде працювати. Підписання системним ключем доступно лише для формату .pdf. - Excerpt Language
-
Вкажіть мову, якою буде згенеровано витяг. Залиште поле порожнім, щоб застосувати значення за замовчуванням.
- X-Access-Token
-
У полі X-Access-Token зазначте токен доступу користувача, під яким виконується операція. Цей токен забезпечує повноваження виконавця задачі щодо доступу до даних.
-
Наприклад, вкажіть токен ініціатора процесу через JUEL-функцію
initiator()
, використавши методaccessToken
:${initiator().accessToken}
-
Альтернативно, ви можете вказати токен виконавця останнього користувацького завдання. Для цього ви можете використати JUEL-функцію
completer()
, передавши ID попередньої задачі та використавши методaccessToken
. Наприклад:${completer('previous user task ID').accessToken}
-
completer()
— назва JUEL-функції. -
'previous user task ID'
— ID попередньої задачі користувача. -
accessToken
— метод, який передає JWT-токен користувача.
-
-
- X-Digital-Signature source
-
У полі X-Digital-Signature source вкажіть джерело цифрового підпису. Це поле вказує на Ceph-документ із цифровим підписом даних КЕП на стороні користувача (див. детальніше про підпис КЕП у делегатах Підписання даних КЕП надавача послуг: Officer Sign Task та Підписання даних КЕП отримувача послуг: Citizen Sign Task). Функція
sign_submission()
та методsignatureDocumentId
дозволяють отримати підписані дані з UI-форми та передати ID Ceph-документа. Наприклад:${sign_submission('Sign data with QES user form').signatureDocumentId}
-
sign_submission
— назва JUEL-функції. -
'Sign data with QES user form'
— ID завдання користувача, із даними, на які накладено КЕП. -
signatureDocumentId
— метод, який дозволяє отримати ID Ceph-документа, в якому зберігаються підписані КЕП дані.
-
- X-Digital-Signature-Derived source
-
У полі X-Digital-Signature-Derived source вкажіть джерело системного цифрового підпису (цифрової печатки). Це поле вказує на Ceph-документ із системним цифровим підписом (цифровою печаткою), накладеним на дані. Наприклад,
${system_signature_ceph_key}
.Значення ключа/ідентифікатора системного підпису можна отримати після підпису даних за допомогою делегата Підписання даних системним ключем: System signature by DSO service. Результат виконання операції підписання даних системним ключем буде збережено до вказаної змінної, наприклад,
system_signature_ceph_key
. Надалі ви зможете використати змінну в іншому місці процесу, зокрема під час збереження даних до БД або для генерування витягу тощо. - Result variable
-
У полі Result variable вкажіть назву змінної, в яку необхідного записати результат. Наприклад,
response
.
4. Приклад
Ось приклад, який показує, як відповідний делегат використовується у бізнес-процесі:

Де можна знайти приклад бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Generate excerpt — делегат, який використовується у деяких бізнес-процесах, що потребують перевірки статусу витягу. Ви можете використати один із прикладів процесів за пошуком по ключовим словам — reference-generate-factor-names-excerpt. У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги. |