Operacje i dostęp do danych procesu
Operacje i dostęp do danych procesu
API
interface ProcessApi {
correlateMessage(messageName: string, processVariables?: { [key: string]: string })
// Wysyła wiadomości do procesu, opcjonalnie można przekazać zmienne procesowe
setAccessGroups(groupNames: string[])
// Ustawia listę grup, które mają dostęp do instancji procesu na liście spraw
}Kontekst działania
API jest dostępne z obiektu api.process.v1 i działa w kontekście aktualnego procesu.
Identyfikator procesu:
W przypadku formularzy uruchamianych platformowo w ramach procesu — uzupełniany automatycznie.
W przypadku wznawianych procesów (np. przez endpoint
#/process) — należy przekazać zmiennąrouter_process_id(musi być zmapowana przez injectable fields).W przypadku zadań skryptowych — bezwarunkowo wymagany.
Odwołanie do innego procesu
Istnieje możliwość odwołania się do innego procesu, jednak należy zachować ostrożność — ta operacja jest błędogenna.
Każdorazowo należy upewnić się, że identyfikator procesu pochodzi z zaufanego źródła.
API dla takiego przypadku dostępne jest pod:
api.process.v1.byInstanceId(processInstanceId: string)gdzie processInstanceId to identyfikator instancji procesu, do którego chcemy się odwołać.
Uwaga: Funkcja setAccessGroups() nie wspiera wywołania z api.process.v1.byInstanceId.
Przykłady użycia
1. correlateMessage()
correlateMessage()Wysyłka wiadomości o nazwie MESSAGE_NAME
function callService(context) {
api.process.v1.correlateMessage("MESSAGE_NAME");
}Wysyłka wiadomości z ustawieniem zmiennej procesowej
function callService(context) {
api.process.v1.correlateMessage("MESSAGE_NAME", { "zmienna": "wartość" });
}Wysyłka wiadomości do określonego procesu
function callService(context) {
const processInstanceId = "...";
api.process.v1.byInstanceId(processInstanceId).correlateMessage("MESSAGE_NAME");
}Wysyłka wiadomości do określonego procesu z wieloma zmiennymi
function callService(context) {
const processInstanceId = "...";
api.process.v1.byInstanceId(processInstanceId).correlateMessage("MESSAGE_NAME", {
"zmiennaA": "wartość1",
"zmiennaB": "wartość2",
"zmiennaC": "wartość3"
});
}2. setAccessGroups()
setAccessGroups()Opis działania
Metoda nadaje dodatkowy dostęp do wyświetlania sprawy (instancji procesu) na liście spraw.
Grupa musi mieć wcześniej nadane uprawnienie
feature_process_list.Metoda nadpisuje wszystkie wcześniej przypisane grupy.
Jeśli wcześniej dostęp miała grupa GROUP_TEST, a wykonamy poniższy kod, dostęp będą miały tylko grupy wskazane w metodzie (GROUP_1 i GROUP_2).
Przykład użycia
function callService(context) {
api.process.v1.permissions.setAccessGroups(["GROUP_1", "GROUP_2"]);
}Aby zresetować grupy dostępu, należy nadpisać dotychczasowe wartości pustą listą.
function callService(context) {
// ...
api.process.v1.permissions.setAccessGroups([])
// ...
}Dodatkowe informacje
Więcej szczegółów znajdziesz w sekcji Konfiguracja listy spraw w dokumentacji platformy.
Last updated
Was this helpful?
