Функція process_caller()

1. Опис

JUEL-функція process_caller(): ProcessCallerDto використовується для отримання даних про викликаючий процес.

2. Параметри

Ця функція не приймає аргументів.

3. Що повертає

Функція повертає об’єкт типу ProcessCallerDto, що містить дані про викликаючий процес.

Таблиця 1. ProcessCallerDto

Поле

Опис

id

Ідентифікатор викликаючого процесу

4. Методи взаємодії

Ця функція не надає додаткових методів взаємодії.

5. Приклади використання

Цей розділ демонструє приклади використання JUEL-функції у Groovy-скриптах бізнес-процесу.

Де можна знайти приклад бізнес-процесу?

Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого.

Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами.

Застосування функції process_caller() представлено у багатьох бізнес-процесах.

Ви можете використати один із прикладів процесів за пошуком по ключовим словам — feature-start-process-by-end-message-event.

У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги.

Нижче наведено приклад використання функції process_caller() який демонструє, як зібрати дані про процес, що викликав поточний процес, і використовувати ці дані разом з повідомленнями для подальшої обробки.

var cephData = [:]

cephData['callerProcess'] = process_caller().id

message_payload('startEvent2').data.keySet().each {
    cephData[it] = message_payload('startEvent2').data.get(it)
}

set_transient_variable('payload', S(cephData, 'application/json'))
Пояснення
  1. cephData['callerProcess'] = process_caller().id — отримує ідентифікатор процесу, що викликав поточний, і зберігає його в об’єкті cephData.

  2. message_payload('startEvent2') — отримує дані повідомлення, пов’язаного з подією або завданням під ідентифікатором 'startEvent2' (див. детальніше — Функція message_payload()).

  3. .data.keySet() — отримує всі ключі з даних повідомлення.

  4. .data.get(it) — отримує значення для кожного ключа і зберігає його в об’єкті cephData.

  5. set_transient_variable() — зберігає зібрані дані у форматі JSON як тимчасову змінну для подальшого використання в процесі (див. детальніше — Функція set_transient_variable()).