Applies to version 2016.1.x; Author: Damian Matuła
Jedną z funkcjonalności WEBCON BPS Studio jest możliwość wygenerowania procesu urlopowego.
Uruchamiamy ją klikając "kreator procesu urlopowego" w menu "Akcje" na górnym pasku programu.
Utworzenie procesu w kreatorze jest bardzo intuicyjne i opiera się na 10 krokach podczas których poproszeni zostaniemy o podanie paru niezbędnych informacji.
Kluczową kwestią przy tworzeniu procesu urlopowego jest struktura użytkowników oraz źródła danych i właśnie na nich skupimy uwagę w tym artykule.
Tworzenie typowanego źródła danych
Potencjał WEBCON BPS w kontekście obiegu urlopowego leży w prezentacji danych : wykresach Gantta, tabel z podsumowaniami urlopów, czy też atrybutu z informacją o dostępnych urlopach dla pracowników.
Aby móc w pełni korzystać z wyżej wymienionych, należy zasilić proces w odpowiednio przygotowane źródła danych :
- Typ urlopów
- Historia urlopów
- Dostępne Urlopy
- Dni wolne
Aby zdefiniować takie typowane źródło przechodzimy do zakładki "źródła danych" gdzie tworzymy nowe, nazywamy je, a jako szablon wybieramy jeden z powyższych.
Zapytanie SQL budujemy zgodnie z opisem dostępnym po wciśnięciu przycisku pomocy kontekstowej obok szablonu źródła.
Typ urlopów
W tym źródle znajdują się typy urlopów rejestrowane w systemie.
Słownik wykorzystywany min. do :
- Zasilenia pola wyboru typu urlopu na formularzu
- Zdefiniowania kolorów dla nieobecności na wykresie Gantta (Legenda)
- Sprawdzania ilości dostępnych dni urlopu (wypoczynkowego)
Zgodnie z opisem z pomocy kontekstowej zapytanie SQL powinno zwrócić kolumny :
Nazwa kolumny | Typ | Opis | Wymagana? |
VACType_ID | <String> | ID typu urlopu | T |
VACType_ColorID | <Decimal> | ID koloru dla typu | T |
VACType_Name | <String> | Nazwa typu urlopu | T |
VACType_Description | <String> | Opis urlopu | N |
VACType_TakeAvailableDays | <Boolean> | Określa czy zaplanowany urlop zmniejsza ilość dostępnych dni | N |
|
Historia urlopów
Źródło wykorzystywane do budowania wykresów Gantta z nieobecnościami.
Zapytanie powinno zwrócić kolumny :
Nazwa kolumny | Typ | Opis | Wymagana? |
VAC_UserID | <String> | Identyfikator użytkownika | T |
VAC_From | <Decimal> | Liczba reprezentująca datę (w formacie YYYYMMDD, np. 20120123) | T |
VAC_To | <Decimal> | Liczba reprezentująca datę (w formacie YYYYMMDD, np. 20120123) | T |
VAC_VACTypeID | <String> | ID typu urlopu (takie jak w źródle danych: 'Typy urlopu') | T |
Dostępne Urlopy
Źródło umożliwia prezentowanie w postaci graficznej liczby dostępnych i wykorzystanych dni urlopu wypoczynkowego dla użytkownika na etapie składania wniosku poprzez formularz, czy też tabelaryczne przedstawienie tych informacji przełożonemu w dedykowanym dla procesu urlopowego webparcie.
Przykład zastosowania na formularzu:
Przykład zastosowania Web Partu dla przełożonego na witrynie:
Zapytanie powinno zwrócić kolumny :
Nazwa kolumny | Typ | Opis | Wymagana? |
USR_UserID | <String> | Identyfikator użytkownika | T |
USR_CurrentYear | <Decimal> | Liczba reprezentująca rok | T |
USR_DaysAvailableLastYear | <Decimal> | Ilość dni pozostałych z poprzedniego roku | T |
USR_DaysAvailableCurYear | <Decimal> | Ilość dni przysługujących w roku bieżącym | T |
USR_DaysUsed | <Decimal> | Liczba wykorzystanych dni w roku bieżącym. Jeśli nie zostania podana, jej wartość na podsumowaniu urlopów zostanie obliczona na podstawie wniosków urlopowych zarejestrowanych w systemie. | N |
USR_DaysAvailable | <Decimal> | Liczba dni do wykorzystania w roku bieżącym. Jeśli nie zostanie podana, wartość na podsumowaniu urlopów zostanie obliczona na podstawie pozostałych kolumn źródła | N |
Dni wolne
Źródło to wykorzystywane jest przez system min. do wyliczania poprawnej ilości dni urlopu pomijając dni wolne. Na jego podstawie wskazywane są również takie dni na urlopowym wykresie Gantta.
Zapytanie powinno zwrócić kolumny :
Nazwa kolumny | Typ | Opis | Wymagana? |
UFD_Date | <Decimal> | Liczba reprezentująca datę (w formacie YYYYMMDD, np. 20120123) | T |
UFD_UserID | <String> | Identyfikator użytkownika | N |
Struktura organizacyjna dla procesu urlopowego
Jednym z istotnych elementów dla procesu urlopowego jest struktura organizacyjna.
Domyślnie struktura użytkowników tworzona jest w oparciu o tabelę CacheOrganizationStructure.
Jeśli istnieje potrzeba użycia struktury innej niż domyślna możemy ją zdefiniować poprzez typowane źródło danych.
Źródło takie tworzymy analogicznie jak wcześniej wspomniane źródła dla urlopów ale jako szablon wybieramy "Struktura firmy".
Kolumny jakie powinno zwrócić zapytanie SQL :
Nazwa kolumny | Typ | Opis | Wymagana? |
CSTR_UserID | <String> | Identyfikator użytkownika. Wartości w kolumnie muszą być unikalne, może to być np. wspomniany wcześniej ID z SAP | T |
CSTR_Login | <String> | Login (w formacie: DOMENA\login). Wartości w kolumnie muszą być unikalne. | T |
CSTR_Name | <String> | Nazwa użytkownika | T |
CSTR_Superior | <String> | ID przełożonego (null jeśli użytkownik nie ma przełożonego) | T |
CSTR_Company | <String> | Nazwa spółki | N |
CSTR_Email | <String> | Adres e-mail | N |
Jak wynika z powyższej tabeli musimy dysponować źródłem gdzie powiązany jest login użytkownika z identyfikatorem z zewnętrznego systemu. Możemy użyć tabelę CacheOrganizationStructure z synchronizowaną kolumną z AD przechowującą taki identyfikator.
O synchronizacji z AD można przeczytać tutaj: https://kb.webcon.pl/podstawy-cache-ad/
Poza powyższymi obostrzeniami musimy pamiętać również o spójności danych, hierarchiczności (pracownik nie może być swoim przełożonym) oraz o tym ,że jeden z użytkowników który jest najwyżej w strukturze jako jedyny musi mieć NULL w kolumnie CSTR_Superior.
Konfiguracja
Aby ustawić to źródło jako strukturę dla procesu przechodzimy do ustawień, a następnie wybieramy je z listy "źródło struktury"
Źródło to można wykorzystywać jak pole osoby w procesie :
Stosowanie opisanych wyżej zasad umożliwi stworzenie funkcjonalnego procesu urlopowego, który nie tylko ułatwi pracę ale również przedstawi w przyjaznej formie urlopy pracowników.
A co w przypadku jeśli urlop wygenerowany z formularza i zatwierdzony przez przełożonego nie pojawia się na wykresie urlopowym?
Ok, stworzyłem nowe typy urlopów, zmieniłem na atrybutach i jak tworzę raport "grafik urlopowy to zaciąga mi ze źródła systemowego zamiast z nowo utworzonego. Gdzie popełniłem błąd?
Dzień dobry,
Czy próbował Pan przestawić źródło pobierania typów urlopów w zakładce "Konfiguracja wzorca"?