# Pakiet: wf - Workflow

Pakiet związany z Workflow.

## Spis typów predefiniowanych

Lp | Nazwa typu | Typ SQL | Wymagane | Domyślnie | Warunek | Tytuł
--- | --- | --- | --- | --- | --- | ---
1 | wfdproc2_typ | int4 | true |  |  | Typ Na tym polu należy ustalić typ danego obiektu definicji procesu. Typ W tej kolumnie znajduje się ikona symbolizująca typ obiektu w definicji procesu.
Id. | Ikona | Skrót | Tytuł, opis
--- | --- | --- | ---
1 |  | E | Etap Jest to podstawowa część procesu, w trakcie której wykonywane są czynności typu: założenie sprawy, przygotowanie dokumentów, itp.
2 |  | Z | Zdarzenie Jest to część składowa procesu, polegająca na oczekiwaniu na zaistnienie zdarzenia, np. oczekiwanie na wpłynięcie pisma / podania od klienta. Wiele procesów rozpoczyna się od inicjującego proces zdarzenia.
3 |  | Ł | Łącznik procesu Ma na celu połączenie ze sobą kilku ścieżek procesu.
Adnotacje techniczne: W przypadku importu procesu z systemu ARIS wykorzystywana jest następująca transformacja: Etap wg FINN to Funkcja wg ARIS (obiekt 22, symbol 335) Zdarzenie wg FINN to Zdarzenie wg ARIS (obiekt 18, symbol 1) Łącznik procesu wg FINN to Łącznik procesu wg ARIS (obiekt 22, symbol 94)
2 | wfdproc2_war | int4 | true | 1 |  | Warunek logiczny (reguła) Pole może przyjmować następujące wartości:
Id. | Tytuł, opis
--- | ---
1 | Albo (XOR) Alternatywa wykluczająca (exclusive or, suma modulo 2)
2 | I (AND) Koniunkcja (iloczyn logiczny)
3 | Lub (OR) Alternatywa (suma logiczna)
3 | wf_priorytet | int4 | true | 0 |  | Priorytet Pole pozwala określić priorytet wykonania danego etapu. W kolumnie tej znajdują się informacje na temat priorytetu wykonania danego etapu.
Id. | Tytuł
--- | ---
0 | nieustalony
1 | najwyższy
2 | wysoki
3 | zwykły
4 | niski
5 | najniższy
Adnotacje techniczne: W przypadku importu procesu z systemu ARIS dane zostaną pobrane z atrybutu „Obiekt (Funkcja) / Priorytet (631)”.
4 | wf_tryb_dekret | int4 | true | 1 |  | Tryb dekretowania Pole określa w jaki sposób system ma interpretować przypisanie etapu do wieloosobowych struktur organizacyjnych (komórek lub stanowisk). To pole edycyjne jest ściśle związane ze znajdującym się poniżej polem edycyjnym Struktura organizacyjna. Jeżeli na polu edycyjnym Struktura organizacyjna została wybrana komórka organizacyjna (stanowisko) odpowiedzialna za załatwienie danego etapu, to zawartość pola Tryb dekretowania określa, który pracownik wybranej komórki (stanowiska) będzie załatwiał dany etap. Jeżeli pole Struktura organizacyjna nie zostało wypełnione (odpowiedzialny za załatwienie danego etapu jest pracownik ustalony na polu Osoba), wpis do pola edycyjnego Tryb dekretowania jest nieistotny. Uwaga Jeżeli program nie znajdzie pracownika spełniającego ustalone na polu Tryb dekretowania kryteria, przekaże etap do wykonania do kierownika komórki. Jeżeli kierownik ten będzie niedostępny - etap zostanie przekazany do bezpośredniego przełożonego tego kierownika, itd. Możliwe są następujące zasady wyboru pracownika komórki / stanowiska:
Id. | Tytuł, opis
--- | ---
1 | Kieruj jednocześnie do wszystkich osób zajmujących dane stanowisko (należących do komórki) W przypadku wyboru tej opcji etap będzie kierowany do wykonania do wszystkich pracowników przypisanych do wybranej komórki / stanowiska. Ten pracownik, który jako pierwszy odbierze etap (za pomocą funkcji Potwierdź odebranie), będzie załatwiał etap.
2 | Skieruj do uszczegółowienia dekretacji przez kierowników W przypadku wyboru tej opcji etap będzie kierowany do wykonania do pracownika ustalonego jako dekretujący dla wybranej komórki / stanowiska. Uwaga Wymagane jest, żeby etap (lub etapy) następny po etapie z dekretacją miał ustawiony tryb dekretacji Automatycznie uszczegóławiaj na osobę wykonującą wcześniejszy etap, mimo że w definicji procesu wykonawcą poprzedniego etapu jest kierownik.
3 | Automatycznie uszczegóławiaj na osobę z najmniejszym obciążeniem W przypadku wyboru tej opcji program będzie analizował, która z osób przypisanych do wybranej komórki / stanowiska ma aktualnie najmniej pracy, i do niej będzie kierował dany etap do wykonania.
4 | Automatycznie uszczegóławiaj na osobę związaną ze sprawą na wcześniejszym etapie W przypadku wyboru tej opcji etap będzie kierowany do wykonania do tego pracownika wybranej komórki / stanowiska, który na wcześniejszym etapie tego samego procesu załatwiał już sprawę związaną z danym procesem.
5 | Automatycznie uszczegóławiaj na osobę wykonującą wcześniejszy etap W przypadku wyboru tej opcji etap będzie kierowany do wykonania do tego samego pracownika, który wykonywał poprzedni etap danego procesu.
5 | wf_filtr_upr | int4 | true | 50 |  | Filtr (poziom) uprawnień Pole określa w jakim zakresie mają zostać uznane/przydzielone uprawnienia.
Id. | Tytuł
--- | ---
50 | P-Przeglądanie + E-Edycja + Z-Zatwierdź + Pliki
40 | P-Przeglądanie + E-Edycja + Pliki
30 | P-Przeglądanie + Pliki
10 | P-Przeglądanie
0 | Brak uprawnień
6 | wfdproc4_typ | int4 | true |  |  | Typ Do tego pola należy wprowadzić, poprzez wybór ze słownika, typ czynności wykonywanych przez osoby przypisywane do obiektu procesu. Osobę można przypisać do obiektu procesu bądź bezpośrednio (na polu edycyjnym Osoba) bądź poprzez wybór odpowiedniej komórki organizacyjnej / stanowiska (na polu edycyjnym Struktura organizacyjna). W tabelce poniżej znajdują się nazwy dostępnych typów czynności, oraz opisy poszczególnych czynności każdego typu, wykonywanych dla etapu (), zdarzenia () oraz łącznika procesu (). Typ W tej kolumnie znajduje się skrót informujący o tym, jakie czynności wykonuje osoba / pracownik struktury organizacyjnej przypisany do obiektu procesu. W tabelce poniżej znajdują się nazwy dostępnych typów czynności, oraz opisy poszczególnych czynności każdego typu, wykonywanych dla etapu (), zdarzenia () oraz łącznika procesu ().
Id. | Skrót | Tytuł, opis
--- | --- | ---
0 | D | Decyduje o Obecnie nie występuje.
1 | W | Wykonuje Osoba jest zaplanowana do wykonania danego etapu. Tylko osoby zaplanowane do wykonania etapu będą mogły „potwierdzić odbiór” i rozpocząć realizację etapu. Osoba potwierdza, że zdarzenie zaistniało (zostało wykonane). Jeżeli jest to zdarzenie tzw. „startowe”, to tylko przypisane do zdarzenia osoby będą mogły rozpocząć proces.
2 | WF | Wykonuje faktycznie Obecnie nie występuje. W poprzednich wersjach programu: osoba faktycznie wykonująca etap. Można zaplanować do wykonania etapu kilka osób, lecz tylko jedna z tych osób faktycznie wykonuje etap. Jest to osoba, która potwierdziła odbiór etapu i przyjęła etap na „swoje biurko”. Ten typ czynności jest niedostępny podczas tworzenia definicji etapu - osoby wykonujące faktycznie etap są rejestrowane przez system w momencie potwierdzenia odbioru etapu.
3 | A | Akceptuje Osoba akceptuje etap, czyli potwierdza, że etap został wykonany poprawnie. Brak akceptacji powoduje, że etap wraca do stanu Oczekuje na wykonanie. Osoba akceptuje (potwierdza) fakt zaistnienia zdarzenia. Brak akceptacji powoduje, że etap wraca do stanu Oczekuje na potwierdzenie. Osoba akceptuje (potwierdza), że podproces został wykonany. Brak akceptacji powoduje, że łącznik procesu wraca do stanu Oczekuje na wykonanie i cały podproces jest powtarzany.
11 | IZ | Dostaje informację o zakończeniu etapu Osoba dostaje informację o zakończeniu etapu / zdarzenia / łącznika procesu.
12 | IA | Dostaje informację o anulowaniu etapu Osoba dostaje informację o anulowaniu etapu / zdarzenia / łącznika procesu.
Adnotacje techniczne: W przypadku importu procesu z systemu ARIS wykorzystywana jest następująca transformacja: 1. W wg FINN to relacje „wykonuje (65)” i „dostarcza (399)” wg ARIS. 3. A wg FINN to relacje „akceptuje (435)” wg ARIS. 11. IZ wg FINN to relacje „musi być informowany o (266)” wg ARIS. 12. IA wg FINN to relacje „musi być informowany o anulowaniu (316)” wg ARIS. Jaki to jest rodzaj struktury określane jest na podstawie: 1. Komórka/Stanowisko wg FINN to obiekty Jednostka organizacyjna (43) i Stanowisko (45) wg ARIS. 2. Osoba wg FINN to obiekt Osoba (46) wg ARIS.

## Spis tabel

Lp | Nazwa tabeli | Tytuł | Kolumny | Klucze obce | Indeksy unikalne | Indeksy zwykłe | Wyzwalacze
--- | --- | --- | --- | --- | --- | --- | ---
1 | wfdproc1 | Definicje procesów | 11 | 0 | 0 | 4 | 0
2 | wfdproc2 | Definicje obiektów procesów | 19 | 1 | 0 | 2 | 0
3 | wfdproc3 | Ścieżki do kolejnych etapów procesu | 4 | 2 | 1 | 0 | 1
4 | wfdproc4 | Struktury org. związane z obiektem procesu | 8 | 3 | 2 | 1 | 1
5 | wfdproc5 | Szablony związane z obiektem procesu | 23 | 2 | 0 | 1 | 0
6 | wfdproc6 | Szablony automatyczne | 3 | 2 | 0 | 0 | 0
7 | wfdproc7 | Szablony opłat | 8 | 2 | 0 | 0 | 0
8 | wfiproc2 | Instancje obiektów procesów | 25 | 3 | 1 | 3 | 1
9 | wfiproc3 | Ścieżki do kolejnych instancji etapów procesu | 4 | 2 | 1 | 1 | 0
10 | wfiproc4 | Struktury org. związane z instancją obiektu procesu | 6 | 4 | 2 | 4 | 1
11 | wfiproc5 | Szablony związane z obiektem procesu | 6 | 5 | 0 | 3 | 1
12 | wfiproc7 | Historia operacji na instancji obiektu procesu | 11 | 3 | 0 | 5 | 0
13 | wfiproc8 | Przekazania obiegu dokumentów | 5 | 3 | 0 | 0 | 0

## Spis funkcji

Lp | Nazwa / Argumenty | Typ SQL | Język | Cache | Strict | Tytuł / Opis
--- | --- | --- | --- | --- | --- | ---
1 | wfdproc1_getby_pesel arg_mprac1_pesel varchar arg_wfdproc4_typ int4 arg_wfdproc2_czy_start int4 arg_wfdproc1_stan int4 | SETOF int4 | sql | stable |  | Funkcja przeszukuje definicje procesów
2 | wfdproc2_getby_pesel arg_mprac1_pesel varchar arg_wfdproc4_typ int4 arg_wfdproc2_czy_start int4 arg_wfdproc1_stan int4 | SETOF int4 | sql | stable |  | Funkcja przeszukuje definicje etapów procesów
3 | wfdproc1_getby_start arg_mprac1_pesel varchar arg_wfdproc1_getby_start int4 | SETOF int4 | sql | stable |  | Funkcja wyszukuje listę definicji procesów które mogą być uruchomione przez osobe
4 | wfdproc2_getby_start arg_mprac1_pesel varchar arg_wfdproc1_stan int4 | SETOF int4 | sql | stable |  | Funkcja wyszukuje listę definicji etapów startowych które mogą być uruchomione przez osobę
5 | wfdproc2_wer | int4 | sql | volatile |  | Weryfikacja definicji etapów. Aktualizacja pól czy_start i czy_osoba1
6 | wfdproc3_trigger_after | trigger | plpgsql | volatile |  | Aktualizacja pola czy_start w etapach związanych z połączeniem
7 | wfdproc4_trigger_after | trigger | plpgsql | volatile |  | Aktualizacja pola czy_osoba w etapach związanych ze strukturami/osobami w wfdproc4
8 | wfiproc2_get_nextstan kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 | int4 | plpgsql | stable |  | Funkcja zwraca jaki będzie następny stan dla instancji $2.Jeżeli zwróci 4 to znaczy, że etap kwalifikuje się na zakończenie.Zakładamy, że aktualny stan to $3
9 | wfiproc2_get_prevstan kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 | int4 | plpgsql | stable |  | Funkcja zwraca jaki będzie poprzedni stan dla instancji $2.Jeżeli zwróci 0 to znaczy, że etap kwalifikuje się na cofnięcie.Zakładamy, że aktualny stan to $3
10 | wfiproc2_add_bydef kontekst wfiproc_kontekst new_wfdproc2_id int4 akt_start_id int4 akt_wfiproc2_id int4 | int4 | plpgsql | volatile |  | Funkcja dodaje instancje etapu na podstawie definicji $2
11 | wfiproc2_chk_nextetap kontekst wfiproc_kontekst akt_wfiproc2_id int4 | int4 | plpgsql | volatile |  | Funkcja sprawdza nastepny etap
12 | wfiproc2_nextetap kontekst wfiproc_kontekst akt_wfiproc2_id int4 | int4 | plpgsql | volatile |  | Funkcja wyswietla nastepny etap
13 | wfiproc2_prevetap kontekst wfiproc_kontekst akt_wfiproc2_id int4 opis text | int4 | plpgsql | volatile |  | Funkcja wyswietla poprzedni etap
14 | wfiproc2_nextstan kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 wymus_stan int4 par_adnotacje text | int4 | plpgsql | volatile |  | Zakańcza stan i przechodzi do następnego, ewentualnie tworzy kolejne etapy i je aktywuje. Przed wykonaniem funkcji pamiętaj przekazać do niej poprawny kontekst z wfiproc2_get_kontekst() + ewentualne decyzje interaktywne użytkownika. Adnotacje są opcjonalne i umieszczane w historii.
15 | wfiproc2_prevstan kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 opis text | int4 | plpgsql | volatile |  | Funkcja cofa się na poprzedni stan
16 | wfiproc2_cancel kontekst wfiproc_kontekst akt_wfiproc2_id int4 | int4 | plpgsql | volatile |  | Funkcja anuluje procedowanie aktualnego procesu. Tzn. anuluje wszystkie rozpoczęte etapy.Jeżeli anulowany proces był podprocesem to jest również anulowany etap łącznika wyzwalającego
17 | wfiproc2_start kontekst wfiproc_kontekst akt_wfdproc2_id int4 | int4 | plpgsql | volatile |  | Ustawia na poczatkowy stan
18 | wfiproc2_next_czypytaj kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 wymus_stan int4 | int4 | plpgsql | volatile |  | Funkcję wywołujemy przed zakończeniem stanu (nextstan).Zwraca ona informacje czy w kontekscie musimy ustalić nextetap_wybor_id.Jak zwróci wartość mniejsza od 0 to nie idziemy dalej
19 | wfiproc2_prev_czypytaj kontekst wfiproc_kontekst akt_wfiproc2_id int4 akt_stan int4 fakt_stan int4 | int4 | plpgsql | volatile |  | Funkcję wywołujemy przed cofnięciem stanu (prevstan).Jak zwróci wartość mniejszą od 0 to nie idziemy dalej.
20 | wfproc_errtext arg_kod_bledu int4 | text | sql | immutable | true | Podaje opis bledu
21 | wfiproc2_add_adhoc kontekst wfiproc_kontekst akt_wfiproc2_id int4 gdzie int4 new_wfiproc2 wfiproc2_prosty | int4 | plpgsql | volatile |  | Wstawia etap.$4-definicja etapu
22 | wfiproc2_getby_pesel arg_mprac1_pesel varchar | SETOF int4 | sql | stable | true | Zwraca etapy pracownika o danym nr PESEL
23 | wfiproc2_getby_pesel arg_mprac1_pesel varchar arg_stan_etapu int4 | SETOF int4 | sql | stable | true | Zwraca etapy pracownika o danym nr PESEL w określonym stanie
24 | wfiproc2_getby_pesel_odrzucone arg_mprac1_pesel varchar arg_stan_etapu int4 | SETOF int4 | sql | stable | true | Zwraca odrzucone etapy pracownika o danym nr PESEL w określonym stanie
25 | wfiproc2_getby_grej1 arg_mprac1_pesel int4 arg_stan_etapu int4 | SETOF int4 | sql | stable | true | Opis
26 | wfiproc2_getby_inicjator arg_mprac1_pesel varchar arg_stan_etapu int4 | SETOF int4 | sql | stable | true | Opis
27 | wfiproc2_getby_inicjator_grej1 arg_mprac1_pesel int4 arg_stan_etapu int4 | SETOF int4 | sql | stable | true | Opis
28 | wfiproc2_get_osoby1 arg_wfiproc4_wfiproc2_id int4 arg_wfiproc4_typ int4 | varchar | sql | stable |  | Opis
29 | wfiproc2_get_osoby arg_wfiproc4_wfiproc2_id int4 arg_wfiproc4_typ int4 | varchar | sql | stable |  | Opis
30 | wfiproc2_get_osoby2 arg_wfiproc4_wfiproc2_id int4 arg_wfiproc4_typ int4 | varchar | sql | stable |  | Opis
31 | wfiproc2_get_dokopis arg_pom_wfiproc2_id int4 | varchar | sql | stable |  | Zwraca opis dokumentu
32 | wfiproc2_get_wfiproc5_id arg_pom_wfiproc2_id int4 | SETOF int4 | sql | stable |  | Opis
33 | wfdproc1_add_from_wfiproc2 kontekst wfiproc_kontekst akt_wfiproc2_id int4 new_nazwa varchar | int4 | plpgsql | volatile |  | Wstawia nowa definicje,dodaje do niej osoby,dokumenty,polaczenia
34 | wfiproc2_findprevgrej1 akt_wfiproc2_id int4 | int4 | plpgsql | volatile |  | Wyszukuje poprzedni etap z przypisanymi strukturami org.
35 | wfiproc2_finn_termin arg_today date arg_stan int4 arg_data date arg_termin_data date | varchar | sql | immutable |  | Oblicza stan załatwienia etapu procesu.
36 | wfiproc5_get_roles arg_zbior int4 arg_obiekt int4 arg_upr varchar | SETOF text | sql | stable | true | Zwraca role danego pracownika w danym obiekcie
37 | wf_konwertuj_eod | int4 | plpgsql | volatile |  | Opis
38 | gkon1_eod_update gkon1_id int4 | int4 | plpgsql | volatile |  | Aktualizacja listy przekazań dla kontaktu
39 | gsprawa1_eod_update gsprawa1_id int4 | int4 | plpgsql | volatile |  | Aktualizacja listy przekazań dla sprawy
40 | grej2_eod_update grej2_id int4 | int4 | plpgsql | volatile |  | Aktualizacja listy przekazań dla rejestru
41 | wfiproc2_trigger_after_update | trigger | plpgsql | volatile |  | Opis
42 | wfiproc4_trigger_after | trigger | plpgsql | volatile |  | Opis
43 | wfiproc5_trigger_after | trigger | plpgsql | volatile |  | Opis

## Wymagane pakiety

1. common z powodu:nrb, stan012, taknie (10), tekst (20), wyjasnij (5), pobierz (13), show (13), dodaj (13), kopiuj (13), edytuj (13), usun (13), printEksport (7), printImport (7), printUst (7), printListaE (7), shist2 (5),

2. mprac z powodu:mprac1 (3),

3. grej z powodu:grej1 (5), gtemplate1,

4. eod z powodu:gstan, gtermin_typ, gkon1 (2), grej2 (2), gsprawa1 (2),

5. eod_cs z powodu:

Dokument wygenerowany 2009-09-28 04:34:10