Завдання 4. Моделювання бізнес-процесу зі стартовою формою та залежними компонентами на формах
- 1. Мета завдання
- 2. Передумови
- 3. Процес виконання завдання
- 3.1. Моделювання бізнес-процесу
- 3.1.1. Етапи моделювання бізнес-процесу
- 3.1.2. Створення пулу для бізнес-процесу
- 3.1.3. Створення початкової події
- 3.1.4. Створення скрипт задачі "Підготовка змінних для отримання запису"
- 3.1.5. Створення сервісної задачі "Пошук даних про лабораторію"
- 3.1.6. Створення скрипт задачі "Підготовка даних документа для показу (transient var)"
- 3.1.7. Створення події опрацювання помилки
- 3.1.8. Створення користувацької задачі "Додати дані про кадри"
- 3.1.9. Створення користувацької задачі "Підписати дані КЕП"
- 3.1.10. Створення скрипт задачі для підготовки даних для запису (transient var)
- 3.1.11. Створення сервісної задачі "Зберегти дані в Дата-фабрику".
- 3.1.12. Створення сервісної задачі "Встановити результат БП".
- 3.1.13. Створення кінцевої події
- 3.2. Моделювання форм
- 3.3. Моделювання доступу до бізнес-процесу
- 3.1. Моделювання бізнес-процесу
- 4. Завантаження файлів регламенту до віддаленого репозиторію Gerrit
1. Мета завдання
- Виконання цього завдання має на меті:
-
-
Навчити моделювати бізнес-процес, який має стартову форму.
-
Навчити моделювати форми з залежними компонентами та компонентом Edit-grid.
-
2. Передумови
Перед проходженням завдання необхідно виконати наступні передумови:
3. Процес виконання завдання
3.1. Моделювання бізнес-процесу
|
На етапі моделювання бізнес-процесу необхідно створити та зберегти відповідну BPMN-діаграму. Використовуйте файл add-personnel.bpmn із готовою схемою бізнес-процесу для прикладу. |
3.1.1. Етапи моделювання бізнес-процесу
Під час виконання цього етапу пропонуємо скористатися наведеним нижче чеклістом з переліком кроків моделювання процесу.
| Важливо! Після проходження всіх етапів, не забудьте зберегти змодельовану схему бізнес-процесу до відповідної папки з регламентом реєстру |
3.1.2. Створення пулу для бізнес-процесу
Найперше, змоделюйте пул для бізнес-процесу. Для цього виконайте наступні кроки:
-
Відкрийте додаток Camunda Modeler та створіть нову діаграму BPMN. Для цього у лівому верхньому куті натисніть меню File → New File → BPMN Diagram.
-
На панелі інструментів, зліва, знайдіть елемент Create pool/Participant, перетягніть його до панелі моделювання та заповніть у розділі General наступні поля відповідними значеннями:
-
у полі
NameвведітьВнесення даних в кадровий склад; -
у полі
Process idвведітьadd-personnel; -
у полі
Process nameвкажітьВнесення даних в кадровий склад:
-

3.1.3. Створення початкової події
Створіть початкову подію. Для цього виконайте наступні кроки:
-
На панелі інструментів, зліва, знайдіть елемент (коло) CreateStartEvent та перетягніть його до панелі моделювання.
-
На панелі налаштувань, справа, у розділі General заповніть наступні параметри відповідними значеннями:
-
у поле
Idвведітьstart_event; -
у поле
NameвведітьПочаток процесу; -
у поле
Initiatorвведітьinitiator;
-

-
У розділі Forms у поле
Form keyвведітьshared-search-lab:

3.1.4. Створення скрипт задачі "Підготовка змінних для отримання запису"
Заповніть наступні поля:
-
Id-extractLabIdFromFormActivity; -
Name-Підготовка зміних для отримання запису; -
Script Format-groovy; -
Script Type-InlineScript; -
Result Variable-laboratoryId.
Script
submission('start_event').formData.prop('laboratory').prop('laboratoryId').value()

3.1.5. Створення сервісної задачі "Пошук даних про лабораторію"
Далі необхідно створити сервісну задачу (Service Task) для пошуку даних про лабораторію. Для цього виконайте наступні кроки:
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт Service Task.
-
Натисніть
Open Catalog, оберіть шаблон Read entity from data factory та натиснітьApplyдля підтвердження; -
Заповніть наступні поля:
-
у поле
IdвведітьsearchLabInDataFactoryActivity -
у полі
Nameмає бути вказаноПошук даних про лабораторію; -
у полі
Resource- laboratory; -
у полі
Resource id-${laboratoryId}; -
у полі
X-Access-Token-${initiator().accessToken};Після відпрацювання першої користувацької задачі (User Task), намагайтеся використовувати функцію
completer('<task_id>')для отримання даних користувача, замістьinitiator().Токен доступу береться з АБО ініціатора (наприклад,
$initiator().accessToken}), АБО виконавця останньої користувацької задачі (наприклад,${completer('taskDefinitionId').accessToken}).JWT-токен має свій термін дії, який триває 300 секунд. Якщо вказати токен ініціатора, який запустив бізнес-процес, а користувач довго не виконував задачу, то термін дії токена спливе, й бізнес-процес необхідно буде запускати повторно.
Детальніше про JUEL-функції ви можете переглянути на сторінці registry-develop:bp-modeling/bp/modeling-facilitation/modelling-with-juel-functions.adoc.
-
у полі
Result Variable-labResponse:
-

3.1.6. Створення скрипт задачі "Підготовка даних документа для показу (transient var)"
-
Заповніть наступні поля:
-
у поле
IdвведітьextractAddPersonnelFormPrepopulationActivity; -
у полі
Nameмає бути вказаноПідготовка даних документа для показу (transient var); -
Script Format-groovy; -
Script Type-InlineScript;
-
Script
var name = labResponse.responseBody.prop('name').value()
var edrpou = labResponse.responseBody.prop('edrpou').value()
var cephData = ['edrpou':edrpou,'name':name]
execution.removeVariable('payload')
set_transient_variable('payload', S(cephData, 'application/json'))

3.1.7. Створення події опрацювання помилки
-
Перетягніть Intermediate/Boundary event з панелі інструментів, та додайте його до Сервісної задачі “Пошук даних про лабораторію”.

-
Натисніть на іконку "ключа" та вкажіть тип події
Error Boundary Event.
-
Створіть Gateway, який буде виконувати роль контрольної точки для перенаправлення у разі виникнення помилки.

-
Додайте логіку опрацювання помилки за допомогою з’єднання події Error Boundary Event та XOR-шлюзу Gateway. У результаті, при виникненні помилки на етапі “Пошуку даних про лабораторію”, користувач автоматично повернеться у контрольну точку, з якої заново почнеться виконання процесу.

|
Компоненти моделювання |
3.1.8. Створення користувацької задачі "Додати дані про кадри"
-
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт User Task.
-
натисніть
Open Catalog, оберіть шаблон User Form та натиснітьApplyдля підтвердження; -
заповніть наступні поля:
-
Id-addPersonnelFormActivity; -
Name-Додати дані про кадри; -
Form key-add-personnel-bp-add-personnel; -
Assignee-${initiator}; -
Form data pre-population-${payload}:
-

3.1.9. Створення користувацької задачі "Підписати дані КЕП"
-
Вкажіть тип задачі, натиснувши іконку ключа та обравши з меню пункт User Task.
-
натисніть
Open Catalog, оберіть шаблон Officer Sign Task та натиснітьApplyдля підтвердження; -
заповніть наступні поля:
-
Id-signPersonnelFormActivity; -
Name-Підписати дані КЕП; -
Form key-add-personnel-bp-sign-personnel; -
Assignee-${initiator}; -
Form data pre-population-${submission('addPersonnelFormActivity').formData}:
-

3.1.10. Створення скрипт задачі для підготовки даних для запису (transient var)
Заповніть наступні поля:
-
Id-convertSignFormDataToDataFactoryFormatActivity; -
Name-Підготовка даних для запису (transient var); -
Script Format-groovy; -
Script Type-InlineScript;
Script
def personnelGrid = submission('signPersonnelFormActivity').formData.prop('personnelGrid').elements()
for (var personnel : personnelGrid) {
personnel.prop("laboratoryId", laboratoryId)
personnel.prop("staffStatusId", personnel.prop("staffStatus").prop("staffStatusId").value())
personnel.deleteProp("staffStatus")
if (personnel.hasProp('hygienistCertificateFile') && !personnel.prop('hygienistCertificateFile').elements().isEmpty()) {
def hygienistCertificateFile = personnel.prop('hygienistCertificateFile').elements().first()
} else {
personnel.prop('hygienistCertificateFile', null as String)
}
if (personnel.hasProp('ordersFile') && !personnel.prop('ordersFile').elements().isEmpty()) {
def ordersFile = personnel.prop('ordersFile').elements().first()
personnel.prop('ordersFile', ordersFile)
} else {
personnel.prop('ordersFile', null as String)
}
if (personnel.hasProp('hireStaffFile') && !personnel.prop('hireStaffFile').elements().isEmpty()) {
def hireStaffFile = personnel.prop('hireStaffFile').elements().first()
} else {
personnel.prop('hireStaffFile', null as String)
}
}
execution.removeVariable('dataPayload')
set_transient_variable('dataPayload', S(personnelGrid.toString()))

3.1.11. Створення сервісної задачі "Зберегти дані в Дата-фабрику".
-
Створіть нову сервісну задачу "Зберегти дані в Дата-фабрику", натиснувши іконку ключа та обравши з меню пункт Service Task.
-
Натисніть
Open Catalog, оберіть шаблон Batch creation of entities in data factory та натиснітьApplyдля підтвердження; -
Заповніть поля:
-
Id-createStaffInDataFactoryActivity; -
Name-Зберегти дані в Дата фабрику; -
Resource-staff; -
Payload-${dataPayload}; -
X-Access-Token-${completer('signPersonnelFormActivity').accessToken};Після відпрацювання першої користувацької задачі (User Task), намагайтеся використовувати функцію
completer('<task_id>')для отримання даних користувача, замістьinitiator().Токен доступу береться з АБО ініціатора (наприклад,
$initiator().accessToken}), АБО виконавця останньої користувацької задачі (наприклад,${completer('taskDefinitionId').accessToken}).JWT-токен має свій термін дії, який триває 300 секунд. Якщо вказати токен ініціатора, який запустив бізнес-процес, а користувач довго не виконував задачу, то термін дії токена спливе, й бізнес-процес необхідно буде запускати повторно.
Детальніше про JUEL-функції ви можете переглянути на сторінці registry-develop:bp-modeling/bp/modeling-facilitation/modelling-with-juel-functions.adoc.
-
X-Digital-Signature source-${sign_submission('signPersonnelFormActivity').signatureDocumentId}; -
Result Variable-response:
-

3.1.12. Створення сервісної задачі "Встановити результат БП".
-
Створіть нову сервісну задачу "Встановити результат БП", натиснувши іконку ключа та обравши з меню пункт Service Task.
-
Натисніть
Open Catalog, оберіть шаблон Define business process status та натиснітьApplyдля підтвердження; -
Заповніть поля:
-
Id-defineBusinessProcessStatusActivity; -
Name-Результат виконання "Дані про кадровий склад внесені"; -
Status-Дані про кадровий склад внесені:
-

3.2. Моделювання форм
|
На етапі моделювання форм необхідно створити та прив’язати JSON-форми до попередньо змодельованих задач в рамках бізнес-процесу. Форми прив’язуються до бізнес-процесів за службовою назвою. Використовуйте файли add-personnel-bp-add-personnel.json, add-personnel-bp-sign-personnel.json та shared-search-lab.json зі змодельованими формами для прикладу. |
3.2.1. Створення форми для пошуку даних лабораторії
|
Рекомендуємо виконувати усі налаштування, використовуючи браузер Google Chrome для стабільної роботи усіх сервісів. |
Найперше, необхідно створити форму для внесення даних користувачем. Для цього виконайте наступні кроки:
-
Увійдіть до застосунку Кабінет адміністратора регламентів.
-
За замовчуванням після авторизації відбувається перехід до майстер-версії регламенту, де відображаються форми, які вже розгорнуть у регламенті, наразі він буде пустим. В майстер-версії наявні форми доступні лише для перегляду без можливості їх редагування. Щоб мати можливість створювати та редагувати форми необхідно створити новий запит (версію кандидат на зміни).

-
У полі
Назва версіївкажіть, наприклад, "завдання-4", а в поліОпис зміни“Створення форм для Завдання 4”. Після зазначення назви та опису натиснітьСтворити.
Після створення буде автоматично виконано перехід до версії-кандидата у редакторі, де вже можливо буде створювати та редагувати форми.
-
Перейдіть до розділу
UI-форми. Щоб створити нову форму для бізнес-процесу, натисніть кнопкуСтворити нову форму.
-
У вікні, що відкрилося, заповніть поля:
-
У вікні, що відкрилося, вкажіть назву відповідної користувацької задачі —
Пошук даних про лабораторіюв поліБізнес-назва форми. -
Заповніть поле
Службова назва формизначеннямshared-search-lab.

-
-
Перейдіть на вкладку
Конструктор.Рекомендовано використовувати компоненти із розділу “Оновлені”.
-
З панелі зліва перетягніть компонент Text Field до панелі моделювання та виконайте наступні налаштування.

-
на вкладці
Displayзаповніть полеLabelзначеннямЄДРПОУ:
-
на вкладці
APIзаповніть полеProperty Nameзначеннямedrpou:
Поле
Property Nameв обов’язковому порядку заповнюється лише латиницею. Значення за замовчуванням ідентичне до значенняLabel, в нашому прикладі вказане значенняЄДРПОУкирилицею, тобто його необхідно змінити. -
на вкладці
Validationвстановіть прапорець у поліRequired, щоб поле було обов’язковим до заповнення. Натисніть кнопкуSaveдля збереження змін.
-
-
З панелі зліва перетягніть компонент
Selectдо панелі моделювання та виконайте наступні налаштування:-
на вкладці
Displayзаповніть полеLabelзначеннямНазва лабораторії:
-
на вкладці
Dataв поліData Source Typeоберіть значенняURL.-
поле
Data Source URLзаповніть значенням:/api/data-factory/laboratory-start-with-edrpou-contains-name
Це посилання на ендпоінт попередньо створеного search condition
laboratory_start_with_edrpou_contains_nameу моделі даних. -
встановіть прапорець (checkbox) для поля
Lazy Load Data, щоб допустимі значення для поточного select оновлювалися кожного разу, коли до нього відбувається звернення.
-
поле
Value Propertyзаповніть значеннямlaboratoryId; -
поле
Filter Queryзаповніть значеннямedrpou={{data.edrpou}}; -
поле
Limitзаповніть значенням100. Це дозволяє обмежити пошук лише першими 100 знайденими запитами. При правильному використанні такі обмеження допоможуть знизити навантаження на системи реєстру; -
поле
Item Templateзаповніть значенням<span>{{ item.name }}</span>;Значення
{{ item.name }}містить:-
item– поточний об’єкт зі списку знайдених лабораторій; -
name– поле цього об’єкта.
У цьому полі вказується, що буде показано у самому select-запиті. Тобто ендпоінт
/api/data-factory/laboratory-start-with-edrpou-contains-nameповерне масив знайденихitemоб’єктів такого виду:{ "laboratoryId": "466ad903-7bd0-4078-9f80-972ed66780a8", "edrpou": "12345678", "name": "Lab Name" }Щоб показувати у випадному списку select-запита назви лабораторій, треба звернутися до поля
name→(<span>{{ item.name }}</span>).Якщо треба показувати у випадному списку, наприклад,
edrpouкожної знайденої лабораторії, то за аналогією потрібно вказати{{ item.edrpou }}. -
-
у полі
Refresh Options Onоберіть значенняЄДРПОУ. Цей select-запит автоматично стане залежним від попереднього поляЄДРПОУі буде скидати обране перед цим значення при зміні значення вказаному у поліЄДРПОУ;Детальну інформацію про функцію
Refresh Options Onможна переглянути за посиланням:
-
-
на вкладці
Validationвстановіть прапорець у поліRequired, щоб поле було обов’язковим до заповнення.
-
на вкладці
APIзаповніть полеProperty Nameзначеннямlaboratory. Натисніть кнопкуSaveдля збереження змін.
-
3.2.2. Моделювання однакових сутностей на формах за допомогою Edit Grid
3.2.2.1. Створення форми для внесення даних про нові кадри
-
Перейдіть до розділу
UI-форми. Щоб створити нову форму для бізнес-процесу, натисніть кнопкуСтворити нову форму.
-
У вікні, що відкрилося, заповніть поля:
-
У вікні, що відкрилося, вкажіть назву відповідної користувацької задачі —
Додати дані про кадрив поліБізнес-назва форми. -
Заповніть поле
Службова назва формизначеннямadd-personnel-bp-add-personnel.

-
-
Перейдіть на вкладку
Конструктор.Рекомендовано використовувати компоненти із розділу “Оновлені”.
За допомогою Edit Grid на формі можливо додавати та редагувати однотипні дані.
-
З панелі зліва перетягніть компонент Edit Grid до панелі моделювання та виконайте наступні налаштування:
-
на вкладці Display заповніть поле
LabelзначеннямДодати інформацію про кадри:
-
на вкладці Templates заповніть поля:
-
Add another text-Додати; -
Save Row Text-Внести запис; -
Remove Row Text-Видалити запис:
-
-
на вкладці API заповніть поле
Property NameзначеннямpersonnelGrid; -
натисніть кнопку
Saveдля збереження змін:
-
-
Наповніть Edit Grid компонентами: з панелі зліва перетягніть компонент Textfield в поле компонента Edit Grid та виконайте наступні налаштування:
-
на вкладці Display заповніть поле
LabelзначеннямПрізвище, ім’я, по батькові:
-
на вкладці API заповніть поле
Property NameзначеннямfullName; -
натисніть кнопку
Saveдля збереження змін:
-
-
З панелі зліва перетягніть компонент Checkbox в поле компонента Edit Grid та виконайте наступні налаштування:
-
на вкладці Display заповніть поле
LabelзначеннямЛікар з гігієни праці:
-
на вкладці API заповніть поле
Property NameзначеннямhygienistFlag; -
натисніть кнопку
Saveдля збереження змін:
-
3.2.2.2. Налаштування відображення компонента залежно від значення іншого компонента
-
З панелі зліва перетягніть компонент Date/Time в поле компонента Edit Grid та виконайте наступні налаштування для отримання інформації з довідника:
-
на вкладці Display заповніть поле
LabelзначеннямДата проходження спеціалізаціїта поле Format значеннямyyyy-MM-dd::
-
на вкладці
Timeзніміть прапорецьEnable Time Input, в контексті поточного завдання точний час нам не потрібен:
-
на вкладці API заповніть поле
Property NameзначеннямspecializationDate:
-
на вкладці Conditional заповніть поля:
-
This component should Display:—True; -
When the form component:—Лікар з гігієни праці (personnel.Grid.hygienistFlag); -
Has the value:—true.
-
-
-
Це означає, що компонент буде показано тільки при значенні компонента
Лікар з гігієни праці (personnel.Grid.hygienistFlag)—true:
-
натисніть кнопку
Saveдля збереження змін. -
Аналогічно до попереднього пункту перетягніть та налаштуйте компоненти на формі:
-
Компонент - Radio:
-
на вкладці Display заповніть поле
LabelзначеннямТрудові відносини; -
на вкладці Data - Values заповніть поле
LabelзначеннямОсновне місце роботи, а полеValue-true; -
на вкладці Data - Values заповніть поле
LabelзначеннямСумісництво, а полеValue-false; -
на вкладці API заповніть поле
Property NameзначеннямfullTimeFlag;
-
-
Компонент - Number:
-
на вкладці Display заповніть поле
LabelзначеннямСтавка; -
на вкладці Validation заповніть поле
Minimum valueзначенням1; -
на вкладці API заповніть поле
Property Nameзначеннямsalary;
-
-
Компонент - Day:
-
на вкладці Display заповніть поле
LabelзначеннямДата зміни статусу; -
на вкладці API заповніть поле
Property NameзначеннямdismissalDate.
-
-
-
З панелі зліва перетягніть компонент Select в поле компонента Edit Grid та налаштуйте компонент для отримання інформації з довідника:
-
на вкладці Display заповніть поле
Labelзначенням ` Статус співробітника`; -
на вкладці Data заповніть поля:
-
Data Source Type—URL; -
Data Source URL—/api/data-factory/staff-contains-name, де-
/api/data-factory/— вказує шлях до дата-фабрики -
staff-contains-name— назва search condition для отримання даних з довідника областей, який був змодельований та доданий у репозиторій;
-
-
Value Property-staffStatusId; -
Item Template-<span>{{ item.name }}</span>, деname- назва параметра, що повертає search condition та буде показаний на формі:

-
-
на вкладці API заповніть поле
Property NameзначеннямstaffStatus; -
натисніть кнопку
Saveдля збереження змін.
З панелі зліва перетягніть компонент Checkbox в поле компонента Edit Grid та налаштуте компонент:
-
на вкладці Display заповніть поле
LabelзначеннямСтроковий трудовий договір; -
на вкладці API заповніть поле
Property NameзначеннямfixedTermContractFlag; -
натисніть кнопку
Saveдля збереження змін:

З панелі зліва перетягніть компонент Day в поле компонента Edit Grid та виконайте наступні налаштування:
* на вкладці *Display заповніть поле Label значенням Дата закінчення строкового договору:

-
на вкладці API заповніть поле
Property NameзначеннямcontractEndDate:
-
на вкладці Conditional заповніть поля:
-
This component should Display:-True; -
When the form component:-Строковий трудовий договір (personnelGrid.fixedTermContractFlag); -
Has the value:-true.-
Це означає, що компонент буде показаний лише при значенні компонента
Строковий трудовий договір (personnelGrid.fixedTermContractFlag)-true.
-
-
-
натисніть кнопку
Saveдля збереження змін:
-
З панелі зліва перетягніть компоненти Textfield ПОЗА межами компонента Edit Grid та виконайте наступні налаштування:
-
-
Компонент 1 - Textfield:
-
на вкладці Display заповніть:
-
поле
LabelзначеннямПовна назва лабораторії або ПІБ ФОП; -
чекбокс
Disabled-true
-
-
на вкладці API заповніть поле
Property Nameзначеннямname;
-
-
Компонент 2 - Textfield:
-
на вкладці Display заповніть:
-
поле
LabelзначеннямКод ЄДРПОУ або РНОКПП; -
чекбокс
Disabled-true
-
-
на вкладці API заповніть поле
Property Nameзначеннямedrpou;
-
-
Ці поля будуть заповнені даними з бізнес-процесу.
-
Збережіть форму, натиснувши кнопку
Створити формуу правому верхньому куті:
Щоб обрати поля, які необхідно показувати у вигляді стовпчиків на компоненті
Edit Grid, у кожного поля в налаштуваннях на вкладціDisplayвнизу екрану розміщено прапорець (checkbox)Table View, встановивши його, поле показано в окремому стовпчику, якщо вимкнено — ні.

-
3.2.3. Створення форми для підпису даних
Після завершення попереднього кроку та створення форми для внесення даних, створіть ще одну форму для підпису даних.
Для цього скопіюйте попередньо змодельовану форму, натиснувши іконку копіювання — це дозволить створити форму із готового шаблону.

Налаштуйте параметри форми:
-
введіть назву користувацької задачі
Підписати відомості про кадровий складв поліБізнес-назва форми; -
заповніть поле
Службова назва формизначеннямadd-personnel-bp-sign-personnel; -
В усіх компонентах:
-
на вкладці Display встановіть прапорець для параметра Disabled;
-
Натисніть кнопку
Saveдля збереження змін.
-
3.2.4. Збереження змодельованих форм бізнес-процесу
-
Збережіть форму, натиснувши кнопку
Створити формуу правому верхньому куті. -
Завантажте форми, натиснувши іконку завантаження, та помістіть їх до регламентної папки forms проєкту в локальному Gerrit-репозиторії.

3.3. Моделювання доступу до бізнес-процесу
|
На цьому етапі необхідно надати доступ до бізнес-процесу в Кабінеті посадової особи для стандартної ролі Параметри доступу налаштовуються у конфігураційному файлі, що має назву officer.yml із директорії bp-auth. |
Відредагуйте файл bp-auth/officer.yml додавши наступні параметри:
authorization:
realm: 'officer'
process_definitions:
- process_definition_id: 'add-lab-test'
process_name: 'Створення лабораторії'
process_description: 'Регламент для створення лабораторій'
roles:
- officer
- process_definition_id: 'add-lab'
process_name: 'Створення лабораторії'
process_description: 'Регламент для створення лабораторій'
roles:
- officer
- process_definition_id: 'add-personnel'
process_name: 'Внесення даних в кадровий склад'
process_description: 'Внесення даних в кадровий склад'
roles:
- officer
3.3.1. Збереження файлу з налаштування доступу
Збережіть файл officer.yml до регламентної папки bp-auth проєкту в локальному Gerrit-репозиторії.
4. Завантаження файлів регламенту до віддаленого репозиторію Gerrit
Для успішного розгортання бізнес-процесу, форм, а також застосування правильних налаштувань доступу до бізнес-процесу у цільовому середовищі, адміністратор регламенту має завантажити збережені локально файли регламенту реєстру до віддаленого сховища коду Gerrit.
Для цього виконайте кроки з інструкції Операції з регламентом в Gerrit.