Sterowanie obiegiem (Branch)

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.x i powyżej, autor: Konrad Wojtycza

Wstęp

Sterowanie obiegiem (Branch) pozwala na podstawie ustalonego warunku przekierować element obiegu wybraną ścieżką przejścia. Za pomocą sterowania obiegiem możemy między innymi ustalić logikę:

  • pomijania kroków,
  • przypisywania zadania do kolejnych osób, np. w przypadku akceptacji,
  • zatrzymywania elementów w kroku do czasu spełnienia warunków.

W niniejszym artykule zostaną przedstawione dwa obiegi korzystające ze sterowania obiegiem:

  1. obieg Akceptacji wniosków urlopowych (Rys.1), w którym sterowanie obiegiem omija krok akceptacji kierownika działu, jeśli liczba wnioskowanych dni urlopu jest mniejsza niż trzy dni,
  2. obieg Księgowości (Rys.2), w którym krok sterujący zwraca element do kroku akceptacji dopóki faktura nie zostanie zaakceptowana przez wszystkie wymagane osoby.

Artykuł ten stanowi odświeżenie starszego artykułu o tej samej tematyce.

 

Rys. 1 Schemat obiegu „Akceptacji wniosków urlopowych”
Rys. 1 Schemat obiegu „Akceptacji wniosków urlopowych”

 

Rys. 2 Schemat obiegu „Księgowości”
Rys. 2 Schemat obiegu „Księgowości”

 

Konfiguracja obiegu „Akceptacji wniosków urlopowych”

Formularz obiegu Akceptacji wniosków urlopowych widoczny jest na Rys. 3

Rys. 3 Formularz obiegu Wniosków urlopowych
Rys. 3 Formularz obiegu Wniosków urlopowych

 

Krok sterujący obiegiem nazywa się „MGMT acceptation?” (Rys. 4), na którym znajdują się dwie ścieżki. Jedna z nich prowadzi do akceptacji managera pracownika (Rys. 5), a druga bezpośrednio do kroku systemowego „Entry to HR system”, na którym dokonywany jest wpis do systemu HR (Rys. 6).

 

Rys. 4 Konfiguracja obiegu wniosków urlopowych
Rys. 4 Konfiguracja obiegu wniosków urlopowych

 

Rys. 5 Konfiguracja ścieżki “Yes – to Manager acceptation” na kroku “MGMT acceptation?”
Rys. 5 Konfiguracja ścieżki “Yes – to Manager acceptation” na kroku “MGMT acceptation?”

 

Rys. 6 Konfiguracja ścieżki „No – to HR system” na kroku „MGMT acceptation?”
Rys. 6 Konfiguracja ścieżki „No – to HR system” na kroku „MGMT acceptation?”

 

Właściwa konfiguracja sterowania obiegiem znajduje się w zakładce "Sterowanie obiegiem" (Rys. 7). W polu „Reguła biznesowa wyboru ścieżki" zdefiniować należy regułę, która zwróci ścieżkę przejścia prowadzącą do kolejnego kroku. W przedstawionym przypadku, jeśli liczba wnioskowanych dni wolnych będzie większa od trzech, wniosek o urlop trafi do kroku akceptacji przez managera. W przeciwnym razie, wniosek trafi bezpośrednio do kroku „Entry to HR system”.

 

Rys. 7 Konfiguracja sterowania obiegiem na kroku „MGMT acceptation?”
Rys. 7 Konfiguracja sterowania obiegiem na kroku „MGMT acceptation?”

W przedstawionym przykładzie krok Manager acceptation został ominięty, ponieważ liczba wnioskowanych dni wolnych nie przekroczyła trzech (Rys. 8).

 

Rys. 8 Przykładowy formularz obiegu „Akceptacja wniosków urlopowych”. Po akceptacji Project managera element ominął krok „Akceptacja PM” i trafił bezpośrednio do kroku „Wpis do systemu HR”.
Rys. 8 Przykładowy formularz obiegu „Akceptacja wniosków urlopowych”. Po akceptacji Project managera element ominął krok „Akceptacja PM” i trafił bezpośrednio do kroku „Wpis do systemu HR”.

 

Konfiguracja obiegu „Księgowości”

Formularz obiegu Księgowości widoczny jest poniżej:

Rys. 9 Formularz obiegu „Księgowości”
Rys. 9 Formularz obiegu „Księgowości”

 

„All approved?” to krok sterowania obiegiem. Przywraca on elementy obiegu do kroku akceptacji, dopóki wszystkie wymagane osoby nie dokonają akceptacji faktury. Akceptanci faktury widoczni w kolumnie Akceptant (Rys. 9), przypisani są do poszczególnych kont rozbicia analitycznego.

 

Rys. 10 Konfiguracja obiegu „Księgowości”
Rys. 10 Konfiguracja obiegu „Księgowości”

 

Konfiguracja sterowania obiegiem na kroku „All approved?” (Rys. 11) została zdefiniowana w taki sposób, że jeśli na liście pozycji „Rozbicie analityczne” (Rys. 9) będzie znajdowała się osoba dla której wartość wiersza „Zaakceptowano” będzie wynosić „Nie”, to element będzie przesuwany ścieżką „(system) to Approval” kierującą do kroku Akceptacji. W przeciwnym razie element, trafi do kroku „Booked” ścieżką „(system) to Booked”.
Reguła „All approved?” służąca do wyegzekwowania tej logiki została przedstawiona na Rys. 12.

 

Rys. 11 Konfiguracja sterowania obiegiem na kroku „All approved?”
Rys. 11 Konfiguracja sterowania obiegiem na kroku „All approved?”

 

Rys. 12 Konfiguracja sterowania obiegiem na kroku „All approved?”- reguła „All approved?”
Rys. 12 Konfiguracja sterowania obiegiem na kroku „All approved?”- reguła „All approved?”

 

Na ścieżce „(system) to Approval” (Rys. 13) reguła „to remaining Approvers” (Rys. 14) wybiera akceptantów, którzy jeszcze nie zaakceptowali faktury.

 

Rys. 13 Konfiguracja ścieżki „(system) to Approval” na kroku „All approved?”
Rys. 13 Konfiguracja ścieżki „(system) to Approval” na kroku „All approved?”

 

Rys. 14 Konfiguracja reguły “to remaining Approvers”
Rys. 14 Konfiguracja zapytania SQL “to remaining Approvers”

 

Podsumowanie

Krok sterujący obiegiem, to niezbędna funkcjonalność w systemie obsługującym obiegi elementów. Znajdzie zastosowanie wszędzie tam, gdzie przebieg obiegu zależy od różnorodnych warunków, wynikających z logiki biznesowej.