Моделювання бізнес-процесу для завантаження даних з 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) фіксується у розділі
Мої послуги→Надані послуги.