




Dotyczy wersji 2020.1.x; autor: Franciszek Sakławski
Wprowadzenie
Projektując procesy i poszczególne obiegi w WEBCON BPS, dobrze jest mieć świadomość, w jaki sposób przechowywane są dane w tabelach, jakie są relacje i jak poszczególne informacje wyświetlane są na formularzu.
Artykuł opisuje tabelę Calendars.
Opis tabeli
Tabela Calendars przechowuje, jak sama nazwa wskazuje, dni kalendarzowe. W celu modyfikacji kalendarza należy udać się do „Konfiguracja systemu” następnie w „Parametry globalne” odnaleźć „Kalendarz dni roboczych”:
Rys. 1 Konfiguracja kalendarza w WEBCON BPS Studio
W edycji kalendarza, możemy zdefiniować dni tygodnia, które są wolne oraz święta wolne od pracy w danym roku.
Przechowywanie danych
Poniżej przedstawione zostały trzy najczęściej wykorzystywane kolumny z punktu widzenia użytkownika:
- CAL_IsDeleted – Informacja o tym, czy wiersz jest usunięty.
- CAL_WorkingDate – Data.
- CAL_IsWorkingDay – Informacja o tym, czy dany dzień jest dniem roboczym.
Dane w tabeli prezentują się w sposób następujący:
Rys. 2 Tabela Calendars
Przypadek biznesowy
Na potrzeby artykułu został stworzony systemowy obieg „Leave of Absence” służący do rejestrowania wniosków o nieobecność.
Rys. 3 Schemat obiegu
Na wyjściu z kroku „Registration” ustawiona została akcja „Calculate days off”. Akcja przelicza, ile dni roboczych zostało wybranych przez pracownika w planowanym terminie, a następnie wyświetla informację na formularzu. Po akceptacji wniosku liczba dni jest odejmowana z salda pracownika.
Rys. 4 Konfiguracja akcji do wyliczenia dni urlopu
Przyjrzyjmy się zapytaniu SQL użytym w akcji:
Rys. 5 Zapytanie SQL do przeliczania liczby dni roboczych w danym terminie
Zapytanie odpytuje tabelę Calendars. Z tabeli Calendars w trzeciej linijce ograniczamy wyciągnięte wiersze o zakres dat zdefiniowanych na wniosku („Leave start”, „Leave End”), a następnie w linijce czwartej ograniczamy te dni do dni tylko pracujących (CAL_IsWorkingDay = 1) oraz wykluczamy usunięte wpisy z tabeli.
Podsumowanie
Jak widzimy, dzięki tabeli Calendars możemy w łatwy sposób operować dniami wolnymi oraz pracującymi dzięki zdefiniowaniu ich w WEBCON Designer Studio. Poprawnie skonfigurowany kalendarz może zostać użytywy w innych aplikacjach biznesowych, wzbogacając ich działanie. Wybrany przykład biznesowy jest tylko jedną z wielu możliwości wykorzystania tabeli.