Opis tabeli Calendars

Facebooktwitterpinterestlinkedinmail
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:

  1. CAL_IsDeleted – Informacja o tym, czy wiersz jest usunięty.
  2. CAL_WorkingDate – Data.
  3. 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.