= Przykład konfiguracji prostej procedury obiegu faktury = Słowny opis procedury obiegu faktury. Sekretariat tworzy dokument typu faktura w systemie. Uzupełnia formularz dokumentu, zamieszcza skan i po zapisaniu dokumentu w systemie uruchomiona zostanie procedura. == 1. Etap procedury (Czynność): "Rozpoczęcie procedury obiegu faktury przychodzącej". == Ten etap rozpoczyna procedurę obiegu faktury. 3.1 etap wykonywany przez użytkownika 3.2 brak akcji 3.3 brak własności 3.4 przypisanie: - '''przypisanie do grupy''' Sekretariat o identyfikatorze grp_id = 21 Własność: {{{ {stages.orgarr} }}} Wyrażenie: {{{ SELECT array_agg(o.orunid) FROM users_link_org_units o LEFT JOIN users_link_group g ON o.usr_id = g.usr_id WHERE g.grp_id = 21 }}} Przypisanie zadania work-flow spowoduje, że dany etap w procedurze będzie możliwy do wykonania tylko przez przypisaną jednostkę. Zapytanie SQL powyżej wyświetla w tablicy identyfikatory jednostek z grupy o identyfikatorze '''grp_id = 21'''. Oczywiście aby procedura prawidłowo zadziałała po zaimportowaniu, należy wstawić ID grupy, która ma odpowiadać za realizację tego zadania work-flow. '''UWAGA. Funkcja ''array_agg();'' jest obsługiwana od wersji 8.4 serwera bazy danych PostgreSQL. Jeżeli wersja serwera bazy danych jest niższa należy usunąć przypisanie z tego etapu.''' [[BR]] == 2. Etap procedury (Warunek): spr. czy zarejestrowano w dzienniku. == Ten etap sprawdza, czy faktura została już zarejestrowana w dzienniku. zarejestrowany: {{{ SELECT reg_id IS NOT NULL FROM documents WHERE doc_id = {DOC_ID} }}} niezarejestrowany: {{{ SELECT reg_id IS NULL FROM documents WHERE doc_id = {DOC_ID} }}} Warunki odnoszą się do kolumny ''reg_id'' z tabeli ''documents'', która przechowuje identyfikator rejestru z którym dana faktura jest powiązana lub pustą wartość w sytuacji kiedy dokument nie jest powiązany z żadnym rejestrem. [[BR]] == 3. Etap procedury (Czynność): Rejestracja w dzienniku. == 3.1 etap wykonywany przez system 3.2 akcja: (aktywacja) '''- Zarejestruj dokument:''' Rejestr: {{{ 4 }}} W tym parametrze należy podać identyfikator rejestru, czyli ''reg_id'' z tabeli ''registers'' w którym zostanie zarejestrowany dokument. 3.3 brak własności 3.4 brak przypisania Ten etap jest automatycznie wykonywany przez system i zostanie wykonany jeżeli wcześniejsze sprawdzenie warunku wykaże iż dokument nie został zarejestrowany. Efektem wykonania tej czynności jest rejestracja w dzienniku o '''reg_id = 4'''. Oczywiście po zaimportowaniu procedury do systemu, należy zmienić wartość tego parametru na identyfikator dziennika z Państwa systemu. [[BR]] == 4. Etap procedury (Czynność): Przekaż dokument osobie rozdzielającej do opisania. == 4.1 etap wykonywany przez użytkownika 4.2 akcja: '''- Zmiana statusu: (aktywacja)''' Status: {{{ 27 }}} W tym parametrze należy podać identyfikator statusu, którego wartość można znaleźć w: Ustawienia ==> Panel Starowania ==> Ogólne: Statusy ==> Kolumna ID [[BR]] '''- Wyślij powiadomienie: (zakończenie)''' Treść: {{{ Wpłynął dokument (faktura), który należy przekazać do opisania }}} W tym parametrze należy podać treść powiadomienia. W miarę potrzeb proszę zmodyfikować tę treść. Stanowisko: {{{ SQL::SELECT o.orunid FROM users_link_org_units o LEFT JOIN users_link_group g ON o.usr_id = g.usr_id WHERE g.grp_id = 22 }}} W tym parametrze należy podać identyfikator stanowiska na które ma zostać wysłane powiadomienie. Zapytanie, które znajduje się wyżej wyświetla identyfikator jednostki ''orunid'' z tabeli ''users_link_org_units'', która to jednostka przynależy do grupy o identyfikatorze '''grp_id = 22''' [[BR]] '''- Przekaż dokument: (zakończenie)''' Do kogo: {{{ SQL::SELECT o.orunid FROM users_link_org_units o LEFT JOIN users_link_group g ON o.usr_id = g.usr_id WHERE g.grp_id = 22 }}} W tym parametrze należy podać identyfikator stanowiska na które ma zostać przekazany dokument. Zapytanie, które znajduje się wyżej wyświetla identyfikator jednostki ''orunid'' z tabeli ''users_link_org_units'', która to jednostka przynależy do grupy o identyfikatorze '''grp_id = 22''' 4.3 brak własności 4.4 przypisanie Własność: {{{ {stages.orgarr} }}} Wyrażenie: {{{ SELECT ARRAY[orunid] FROM stages WHERE procid = {PROCID} AND ptstid = 194 }}} Przypisanie zadania work-flow do jednostki, która wykonała etap nr.1 Zapytanie zwraca identyfikator jednostki ''orunid'' z tabeli ''stages'', która wykonała etap o '''ptstid = 194''' Oczywiście aby procedura prawidłowo zadziałała po zaimportowaniu, należy sprawdzić jaki identyfikator ID posiada Etap nr. 1 Ustawienia ==> Panel Starowania ==> Ogólne: Procedury Po otworzeniu czynności do edycji w zakładce "Ogólne" na samej górze wyświetlona jest informacja o identyfikatorze etapu, czyli "ID" '''Uwaga. Jeżeli wersja serwera bazy danych PostgreSQL jest niższa nie 8.4 należy usunąć przypisanie z tego etapu.''' [[BR]] == 5. Etap procedury (Czynność): Wybierz osobę, która zajmie się opisaniem faktury. ==