Version 21 (modified by ggolaszewski, 11 years ago)

--

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.

-etap wykonywany przez użytkownika

-brak akcji

-brak własności

-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.


  1. 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