Моделювання бізнес-процесу для завантаження даних з CSV-файлу масивом у БД
Можливість завантаження даних масивом до БД дозволяє створювати бізнес-процеси, завдяки яким користувачі реєстру можуть вносити масив даних одним файлом, наприклад, наповнення довідників реєстру або дозавантаження даних.
Для того, щоб змоделювати бізнес-процес з можливістю імпорту даних з CSV-файлу масивом у БД виконайте наступні дії.
Скористайтеся готовою BPMN-схемою тестового бізнес-процесу та формами Завантаження даних про дипломи (csv file) і Підпис даних про дипломи (csv file), щоб побачити більше контексту для подальшого використання. |
1. Моделювання бізнес-процесу
Змоделюйте бізнес-процес згідно з інструкцією за посиланням.
В іншому випадку скористайтеся інструкцією для завантаження делегата, що доступна за посиланням. |
Використання делегата |
-
Створіть користувацьку задачу з використанням форми, яка містить відповідний компонент для завантаження файлу.
-
у полі
Name
вкажіть назву задачі; -
у полі
Form key
вкажіть службову назву форми; -
у полі
Assignee
вкажіть${initiator}
- користувач, який ініціював виконання цього бізнес-процесу.
-
-
Створіть користувацьку задачу з використанням форми для підписання даних.
-
у полі
Name
вкажіть назву задачі; -
у полі
Form key
вкажіть службову назву форми для підписання даних; -
у полі
Assignee
вкажіть${initiator}
- користувач, який ініціював виконання цього бізнес-процесу; -
у полі
Form data pre-population
вкажіть змінну${submission('addCsvFileActivity').formData}
.
-
-
Створіть задачу скриптування для підготовки даних до запису.
-
у полі
Name
вкажіть назву задачі; -
у полі
Script Format
оберітьgroovy
; -
у полі
Script Type
оберітьInlineScript
; -
у полі
Script
вкажіть сам скрипт, наприклад, у нашому випадку:set_transient_variable('payload', submission('signCsvFileActivity').formData.prop('csvFile').elements().first())
-
-
Створіть сервісну задачу для збереження даних.
-
натисніть
Open Catalog
та оберіть делегатBatch creation of entities in data factory v2
, після чого натиснітьApply
; -
у полі
Name
вкажіть назву задачі; -
У полі
Resource
вкажіть ресурс, назву ендпоінту для таблиці, куди зберігатимуться дані; -
у полі
Upload type
оберітьCSV
; -
у полі
Payload
введіть дані для створення -${payload}
; -
у полі
X-Access-Token
зазначте токен доступу користувача до системи, під яким виконується операція, наприклад:${completer('signCsvFileActivity').accessToken}
; -
у полі
X-Digital-Signature source
вкажіть джерело цифрового підпису, наприклад:${sign_submission('signCsvFileActivity').signatureDocumentId}
; -
у полі
Result variable
вкажіть будь-яке ім’я для вихідного параметра (за замовчуванням —response
).
-
2. Моделювання форм
Змоделюйте форми згідно з інструкцією за посиланням.
2.1. Форма для завантаження даних
-
Вкажіть
Бізнес-назву форми
таСлужбову назву форми
. -
Перейдіть на вкладку
Конструктор
. Оберіть розділОновлені
. Виберіть компонентContent
та перетягніть його до панелі моделювання.Рекомендуємо обов’язково на формі для завантаження файлу змоделювати підказку для заповнення файлу (наприклад, з компонентом Content), на якій вказати описання вимог до файлу, що завантажується.
-
Додайте опис вимог до файлу та натисніть
Save
.На цей час запроваджено наступні обмеження для файлу:
-
можливо завантажити за один раз тільки один файл;
-
формат файлу лише CSV;
-
кодування — UTF-8;
-
максимальна кількість записів — 50.
-
максимальний розмір файлу — 100 MB. Це ліміт на обробку даних для збереження, або зміни (загальний input-ліміт).
Вимоги до даних у файлі:
-
роздільник даних у файлі —
";"
(крапка з комою); -
формат полів у файлі повинен відповідати полям в базі даних;
-
якщо завантажуються дані до довідника, то кожен запис обов’язково повинен містити унікальний ключ відповідного формату.
-
-
В розділі
Оновлені
оберіть компонентFile
та перетягніть його до панелі моделювання. -
У полі
Label
вкажіть назву компонента. -
Перейдіть до вкладки
File
. У поліFile Pattern
вкажіть значення*.csv
. Нижче на формі зазначте мінімальне та максимально допустиме значення розміру файлу у відповідних поляхFile Minimum Size
таFile Maximum Size
(не більше 1 MB). -
Перейдіть на вкладку Validation. Встановіть прапорець
Required
та вкажіть назву таблиці, до якої буде виконуватися запис даних у поліResource for validation
. -
Перейдіть на вкладку
API
. У поліProperty Name
вкажітьcsvFile
. НатиснітьSave
для збереження змін. -
Додайте та налаштуйте компонент
Button
. -
У правій верхній частині сторінки натисніть
Створити форму
.
2.2. Форма для підписання даних
-
Вкажіть
Бізнес-назву форми
таСлужбову назву форми
. -
Перейдіть на вкладку
Конструктор
. Оберіть розділОновлені
. Виберіть компонентFile
та перетягніть його до панелі моделювання. -
Налаштуйте компонент за аналогією попереднього розділу, за винятком того, що форма повинна бути доступна лише для перегляду. Для цього на вкладці
Display
встановіть прапорецьDisabled
та змініть назву компонента. -
Додайте та налаштуйте компонент
Button
. -
У правій верхній частині сторінки натисніть
Створити форму
.
Застосуйте зміни для змодельованих форм, для цього перейдіть до розділу Огляд версії
та натисніть кнопку Застосувати зміни до мастер-версії
.
3. Приклад бізнес-процесу у Кабінеті посадової особи
-
Перейдіть до відповідної послуги, що була змодельована, у Кабінеті посадової особи у меню
Доступні послуги
. -
Додайте файл, що відповідає встановленим вимогам та натисніть
Далі
.Під час завантаження, спрацьовує попередня валідація даних у CSV-файлі одразу на формі.
У випадку помилки, система попереджує користувача про невідповідність формату ще до переходу на UI-форму підписання даних КЕП.
- Наразі є 3 типи перевірок CSV-файлу при завантаженні даних до БД:
-
-
Перевірка формату (розширення) та кодування.
-
Формат —
CSV
, кодування —UTF-8
.
-
-
Перевірка кількості записів у файлі.
-
Максимально допустима кількість записів у файлі — 50.
-
-
Перевірка структури даних, що завантажуються.
-
Роздільник — крапка з комою (
;
). -
Назви колонок у файлі мають збігатися із назвами колонок у БД.
-
Формат значення полів має відповідати формату бази даних.
-
-
-
На етапі підписання даних попередньо завантажений файл доступний лише для перегляду. Внизу сторінки заповніть параметри ключа та натисніть
Зчитати
. -
Щоб накласти цифровий підпис натисніть
Підписати
. -
Виконаний бізнес-процес завантаження даних з форми масивом (csv file) фіксується у розділі
Мої послуги
→Надані послуги
.