💡 Akcje
Akcja stanowi odpowiedź systemu na wykonanie konkretnego kroku w procesie.
To ona określa, co dzieje się na danym etapie, np. uzupełnienie formularz, akceptacja danych, odrzucenie dokumentu. 
➕Dodanie akcji
Aby dodać nową akcję w procesie, wchodzimy w zakładkę Akcje, następnie klikamy na Dodaj.
Aby dodać nową akcję, proces musi znajdować się w wersji roboczej.
Podczas dodawania akcji należy zdefiniować podstawowe właściwości akcji, które są takie same dla wszystkich typów formularzy:
- Tytuł formularza - nazwa, która identyfikuje formularz, na którym akcja będzie wykonywana.
- Nazwa przycisku - tekst widoczny na przycisku w formularzu.
- Nazwa przycisku na formularzu - wyświetlana na szczegółach dokumentu.
- Typ formularza - określa, do jakiego rodzaju formularza dana akcja jest przypisana.
- Styl przycisku - definiuje wygląd przycisku.
- Priorytet - definiuje kolejność przycisków na szczegółach dokumentu.
Dodatkowo można zaznaczyć, że akcja:
- pozwala na grupowe wykonanie - po zaznaczeniu kilku dokumentów system umożliwia wykonanie akcji zbiorczej, np. jednoczesną akceptację wielu dokumentów bez potrzeby ich obsługi pojedynczo.
- Pozwalaj na równoległe wykonanie grupowej akcji - umożliwia jednoczesne (równoległe) przetwarzanie wielu dokumentów w ramach jednej akcji. System nie czeka na zakończenie poprzedniego formularza, tylko uruchamia wszystkie akcje jednocześnie w tle.
- Wyświetlaj osobny formularz dla każdego dokumentu - pozwala otworzyć osobny formularz dla każdego z wybranych dokumentów.
Uwaga: Opcja dostępna tylko dla formularzy dynamicznych.
- jest akcją systemową - akcja automatycznie wykonywana przez system.
W przypadku formularzy zawierające dodatkowe walidatory, skrypt wykonuje dla każdego dokumentu osobą walidację. Jednak dla pierwszego formularza należy wykluczyć kontekst dokumentu, w przeciwnym wypadku skrypt nie przejdzie prawidłowo.
// Przykładowo
if(!Model.Data.TryGetValue("document", out var docI)) return true;
✏️Edycja akcji
Każdą akcję można w dowolnym momencie edytować lub dostosować do aktualnych potrzeb procesu. Aby to zrobić, należy otworzyć proces, w którym dana akcja występuje, następnie przejść do zakładki Akcje i z listy dostępnych pozycji wybrać tę, którą chcemy zmodyfikować.
Edytować można wszystkie dane, które były ustalane przy tworzeniu akcji.
Aby edytować istniejącą akcję, proces może znajdować się zarówno w wersji roboczej, jak i w wersji aktywnej.
Należy jednak pamiętać, że zmiana konfiguracji akcji wpływa na wszystkie wcześniejsze wersje procesu.
W praktyce oznacza to, że modyfikacja akcji w nowszej wersji spowoduje zmianę także na starszej wersji. Może to skutkować nieobsługiwaniem starszych dokumentów.
Więcej informacji dotyczących wersji znajduję się w sekcji Wersje.
⚙️Akcja systemowa
Służy do automatycznego wykonywania akcji przez system, np. zmiany statusu, dodania komentarza, załącznika lub uruchomienia kolejnej akcji poprzez wywołanie endpointu API.
W body requesta można przekazać obiekt formularza, zawierający dane potrzebne do wykonania akcji.
🔗 Struktura URL akcji systemowej
{domena}/api/{licencja_modułu}/{guid_dokumentu}/{id_akcji}
- {domena} - adres serwera, na którym działa system,
- {licencja_modułu} - identyfikator (nazwa techniczna) modułu,
- {guid_dokumentu} - unikalny identyfikator dokumentu,
- {id_akcji} - identyfikator akcji, która ma zostać wykonana.
Uwaga: Id akcji może ulec zmianie podczas edycji procesu.
🔑 Autoryzacja
Wywołanie akcji systemowej wymaga autoryzacji. W nagłówku żądania należy przekazać klucz autoryzacyjny, np.:
Authorization: Bearer {klucz}
Taki klucz znajduje się w plikach konfiguracyjnych systemu i może być udostępniony jedynie przez administratora serwera. Dzięki temu tylko autoryzowane systemy zewnętrzne mogą wykonywać akcje automatyczne.
⚠️ Uwaga dotycząca wersji
Po zmianie wersji procesu ID akcji zostanie zmienione.
📄Typy formularza
Podczas definiowania akcji należy wybrać typ formularza, który określa sposób działania oraz dostępne pola konfiguracyjne. W zależności od wybranego typu formularza, mogą pojawić się dodatkowe pola do uzupełnienia.
Dostępne typy formularzy to:
🔄Dynamiczny
W przypadku wyboru typu Dynamiczny, pojawiają się dodatkowe pola konfiguracyjne umożliwiające precyzyjne określenie sposobu wyświetlania i działania formularza dynamicznego.
Dostępne pola to:
- Formularz - określa na jakim formularzu wykona się akcja.
- Tryb wyświetlania formularza - sposób prezentacji formularza użytkownikowi:
- Formularz - przejście do osobnej strony, na której użytkownik wypełnia formularz.
- Modal - wyświetla formularz w okienku dialogowym, które pojawia się bez opuszczania bieżącej strony. Po wybraniu trybu Modal pojawi się dodatkowe pole Rozmiar okna modalnego. Wybieramy wielkość Modalu.
- Wypełnij formularz ostatnio zapisaną wersją - po zaznaczeniu tej opcji, formularz zostanie automatycznie uzupełniony danymi z ostatnio zapisanej wersji. Funkcja ta jest szczególnie przydatna, gdy:
- chcemy edytować wcześniej wprowadzone dane,
- chcemy przekazać formularz innej osobie, aby mogła uzupełnić tylko część potrzebnych danych

✍️Podpis dokumentu
Pozwala na dodanie etapu podpisywania dokumentu przez użytkownika.
Po wybraniu tego typu pojawia się dodatkowe pole Dostawca podpisu, które pozwala określić kto będzie dostawcą podpisu.

Więcej informacji dotyczących podpisów elektronicznych znajduję się w sekcji Podpisy elektroniczne.
W przypadku wyboru dostawcy Szafir WebModule dostępna jest możliwość grupowego wykonywania akcji:
- Pozwalaj na grupowe wykonanie akcji - umożliwia jednoczesne podpisanie wielu dokumentów,
- Pozwalaj na równoległe wykonanie grupowej akcji - pozwala wykonywać podpisy w tym samym czasie dla kilku użytkowników.
➡️Podproces
Podproces pozwala uruchomić inny proces z danego obiegu, otwierając formularz dodawania z innego procesu - inaczej mówiąc, startuje proces w innym module.
Aby poprawnie skonfigurować podproces, należy:
- W polu Proces wybrać proces, który ma zostać uruchomiony.
- W polu Pole powiązania dokumentu określić pole, które posłuży do powiązania dokumentu uruchamianego (podprocesu) z dokumentem głównym, na którym aktualnie pracujemy.
- System automatycznie połączy oba dokumenty, tworząc między nimi relację i zachowując spójność danych.
💬Uwagi - niewymagane
Prosty formularz, który umożliwia dodanie
załączników oraz wpisanie uwag dotyczących danego dokumentu lub etapu procesu.
Najczęściej wykorzystywany jest w sytuacjach, gdy użytkownik ma jedynie zaakceptować dokument, przekazać opinię lub uzupełnić drobne informacje, bez konieczności wypełniania pełnego formularza.
Dzięki swojej prostocie formularz przyspiesza obieg akceptacyjny i pozwala łatwo dodać komentarz, notatkę lub plik (np. skan, potwierdzenie, dodatkowy dokument).
❗Uwagi - wymagane
Prosty formularz, który umożliwia dodanie obowiązkowych uwag oraz opcjonalnych załączników dotyczących danego dokumentu lub etapu procesu.
W przeciwieństwie do wersji niewymaganej, wpisanie komentarza jest tutaj konieczne, natomiast dodanie pliku pozostaje dobrowolne.
Najczęściej wykorzystywany jest w sytuacjach, gdy użytkownik musi anulować, odrzucić lub cofnąć dokument, podając powód swojej decyzji.
Dzięki temu formularz zapewnia większą przejrzystość i kontrolę nad przebiegiem procesu, a także umożliwia zachowanie uzasadnienia dla wykonanych działań.
👥Wybór użytkownika
Umożliwia wskazanie konkretnego użytkownika, a następnie wybranie tej osoby na strzałce procesu (Wyślij do), w celu przekazania dokumentu do tej osoby. 
Konfiguracja strzałki procesu:
(Proces.Krok.{Nazwa akcji}.Proces.Pola formularza.{Nazwa pola})
Aby przejść dalej należy Wybrać użytkownika, opcjonalnie możemy Dodać załączniki lub Uwagi.
❓FAQ - Akcje
🔹Czy różni się podproces od formularza dynamicznego?
Podproces służy do uruchamiania innego procesu w ramach głównego obiegu, natomiast formularz dynamiczny otwiera formularz z bieżącego modułu.
🔹Jak wykorzystać akcję systemową?
Akcję systemową stosuje się wtedy, gdy określone działanie ma zostać wykonane automatycznie przez system, bez udziału użytkownika. Przykładowo może to być zmiana statusu, wysłanie powiadomienia, zapis danych lub uruchomienie innego zadania. Takie akcje pozwalają zautomatyzować proces i ograniczyć konieczność ręcznej interakcji.
🔹Co się stanie, jeśli dwa razy ustawię ten sam priorytet?
Jeśli kilka statusów ma taki sam priorytet, w pasku postępu i szczegółach dokumentu wyświetli się tylko jeden z nich.
🔹Czy po zapisaniu nowej wersji procesu zmieni się ID akcji?
Tak. Utworzenie nowej wersji procesu może spowodować zmianę identyfikatora akcji.
W takim przypadku należy zaktualizować adres endpointu, aby wskazywał nowy id_akcji.
🔹Co można przekazać w body akcji systemowej?
W body można przekazać obiekt formularza, np. z danymi, komentarzami lub załącznikami powiązanymi z dokumentem.
🔹Czy każda akcja systemowa wymaga autoryzacji?
Tak. Każde wywołanie endpointu musi zawierać klucz autoryzacyjny w nagłówku. Klucz ten dostępny jest tylko dla administratora serwera i przechowywany w plikach konfiguracyjnych systemu.