Dotyczy wersji 2021.1.x autor: Józef Cyran
Wprowadzenie
W ramach artykułu zostaną przedstawione dwa sposoby / obiegi, pierwszy służy do planowania urlopów przez pracownika, drugi natomiast do rejestrowania wniosków urlopowych.
Specjalny obieg do tworzenia planów urlopowych pozwala pracownikowi na zaplanowanie wcześniej (np. na początku roku) urlopów, które następnie pokażą się na wykresie Gantta. Drugim sposobem jest użycie obiegu urlopowego generowanego przy pomocy kreatora procesów urlopowych – w tym wypadku wszystkie urlopy które spełniają określone warunki (np. nie zostały jeszcze zatwierdzone przez przełożonego) zostaną potraktowane i wyświetlone jako plany urlopowe na wykresie.
1. Obieg do tworzenia planów urlopowych
Zrzut ekranu 1. Element obiegu służącego do rejestrowania planów urlopowych
Obieg do rejestrowania planów urlopowych powinien zawierać podobne atrybuty jak ten wygenerowany przy użyciu kreatora (pracownik, przełożony, rodzaj urlopu), jednak zamiast atrybutów typu data (Od, Do) najlepiej utworzyć listę pozycji. Dzięki temu pracownik może z góry zaplanować określoną liczbę dni, niekoniecznie po sobie następujących.
Dobrym pomysłem jest dodanie kolumny wyliczanej (typu tekst), która automatycznie wyświetli liczbę dni roboczych które zawiera dany plan. Poniżej przedstawiono jej konfigurację:
Zrzut ekranu 2. Konfiguracja kolumny wyliczanej pokazującej liczbę dni które 'zabiera' plan urlopowy
Następnie należy przejść do konfiguracji źródła danych – szablon źródła danych musi być typu Plany urlopowe, aby plany były wyświetlane na grafiku (tak jak poniżej):
Zrzut ekranu 3. Konfiguracja źródła danych typu Vacation plans – pierwszy sposób
Źrodło to, aby szablon był zweryfikowany poprawnie musi zawierać następujące kolumny:
- PLN_UserId – <String> Identyfikator użytkownika
- PLN_From <Int32> – Liczba reprezentująca datę (w formacie YYYYMMDD, np. 20200123)
- PLN_To <Int32> – Liczba reprezentująca datę (w formacie YYYYMMDD, np. 20200125)
- PLN_WFDID <Int32> – Id planu urlopowego
Zapytanie SQL zawiera dane z tabeli WFElements (takie jak id pracownika) połączoną JOINem z tabelą WFElementDetails w której znajdują się wartości z list pozycji. Ograniczenie DET_WFCONID pozwala wybrać właściwą listę pozycji, a ograniczenie WFD_DTYPEID zawęża wybór do elementów typu Absence plan.
Uwaga – plany urlopowe powinno zwracać wiersze dla wszystkich planów urlopowych, nie tylko dla konkretnego pracownika (wyświetlenie odpowiednich planów dla pracowników konfiguruje się w konfiguracji grafiku).
Ostatnim krokiem jest wybranie utworzonego źródła danych w zakładce Template configuration procesu.
Zrzut ekranu 4. Konfiguracja zakładki Template configuration – pierwszy sposób
Następnie możemy zobaczyć zarejestrowane plany na wykresie Gantta.
Zrzut ekranu 5. Prezentacja zarejestrowanych planów urlopowych na wykresie Gantta – pierwszy sposób
2. Kreator planów urlopowych
Drugim podejściem do zagadnienia planów urlopowych jest traktowanie wniosków urlopowych spełniających określone warunki (np. niezatwierdzonych przez przełożonego, albo typu urlop wypoczynkowy) jako planów urlopowych.
W takim wypadku nie ma potrzeby tworzenia osobnego obiegu – można posłużyć się tym wygenerowanym przez kreator procesu urlopowego.
Zrzut ekranu 6. Element standardowego obiegu służącego do rejestrowania wniosków urlopowych
Aby urlopy spełniające określone warunki wyświetlały się na grafiku jako plany, należy odpowiednio skonfigurować źródło danych. Tak jak poprzednio, musi ono być typu Vacation plans jednak jego konfiguracja nieco się różni.
Zrzut ekranu 7. Konfiguracja źródła danych typu Vacation plans – drugi sposób
W przedstawionej konfiguracji zawężono typ formularza do Absence request, obecny krok do kroku Approving oraz typ urlopu do typu 'Vacation'. Dzięki temu urlopy które są rejestrowane w sytuacjach nagłych (np. l4 lub urlop na żądanie) nie są uwzględniane jako plany urlopowe. Istotnym jest, że w tym przypadku daty From oraz To to zwykłe atrybuty, a nie kolumny listy pozycji.
Podobnie jak poprzednio, należy wybrać utworzone źródło danych w konfiguracji procesu w zakładce Template configuration:
Zrzut ekranu 8. Konfiguracja zakładki Template configuration – drugi sposób
Utworzone w ten sposób urlopy pokażą się jako dwukolorowy pasek, gdzie górny kolor wskazuje na typ urlopu, a dolny to, że jest on dopiero zaplanowany.
Zrzut ekranu 9. Prezentacja zarejestrowanych planów urlopowych na wykresie Gantta – drugi sposób