Tabela WFElements

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2020.1.x; autor: Marcin Pisarek

 

Wstęp

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.

W niniejszym artykule opisana została tabela przechowująca dane nagłówkowe – WFElements.

Relacje w tabeli

Tabela WFElements zawiera dane o wszystkich elementach (formularzach) w systemie. Przechowuje zarówno dane systemowe, jak i wartości pól formularzy zdefiniowanych w procesach. Każdy element obiegu jest jednoznacznie identyfikowany za pomocą unikalnego ID (WFD_ID).

Rysunek 1. Formularz – pola systemowe i konfigurowalne

 

Na powyższym obrazie (Rysunek 1) oznaczono dane następującymi kolorami:

  • Czerwonym – pola systemowe, np.: ID elementu, sygnatura, proces, obieg, bieżący krok, typ formularza, data modyfikacji, data utworzenia, autor, zmodyfikowane przez, aktualna wersja dokumentu, pole komentarz.
  • Niebieskim – pola zdefiniowane w procesie (konfigurowalne), np.: pola tekstowe, pola liczbowe, pola wyboru.

Klucze w tabeli WFElements:

  • WFD_ID – klucz główny (ID elementu).
  • WFD_STPID – ID kroku obiegu, w jakim znajduje się dany element. Klucz główny (STP_ID) w tabeli WFSteps.
  • WFD_WFDID – ID elementu nadrzędnego. Klucz główny (WFD_ID) w tabeli WFElements.
  • WFD_WFRID – ID punktu rejestracji. Klucz główny (WFR_ID) w tabeli WFRegisterPoints.
  • WFD_COMID – ID spółki. Klucz główny (COM_ID) w tabeli Companies.
  • WFD_DTYPEID – ID typu formularza. Klucz główny (DTYPE_ID) w tabeli WFDocTypes.

Przechowywanie danych

W zależności od typu danego atrybutu dane przechowywane są w odpowiednim polu w tabeli. Pole w tabeli jest niezmienne i przypisywane automatycznie podczas dodawania atrybutu w systemie.

Rysunek 2. Atrybut – pole w tabeli

 

Poniżej przedstawiono wybrane typy atrybutów wraz z ich odpowiednikami w tabeli WFElements:

  1. Pole tekstowe:
  • Pojedynczy wiersz tekstu – kolumna AttText, type varchar(255)
  • Wiele wierszy tekstu – kolumna AttLong, typ text
  •  E-mail – kolumna AttLong, typ text

2. Pola wyboru:

  • Wybór Tak/Nie – kolumna AttBool, typ bit
  •  Pole wyboru – kolumna AttChoose, typ varchar(1000)
  •  Data i godzina – kolumna AttDateTime, typ datetime
  •  Osoba lub grupa – kolumna AttPeople, typ varchar(1000)

3. Pola liczbowe:

  • Liczba całkowita – kolumna AttInt, typ int
  •  Liczba zmiennoprzecinkowa – kolumna AttDecimal, typ decimal(21,6)

Konfiguracja

Na potrzeby artykułu wykorzystano szablon aplikacji Zarządzanie flotą (ang. Car Fleet Management), w której w skład wchodzą dwa obiegi: Car Management, Use Registry. Obiegi te służą kolejno do rejestrowania samochodów, zgłaszania zapotrzebowania na ich wypożyczenie.

Rysunek 3. Konfiguracja obiegu „Car Management” – schemat

 

Prezentacja

Obieg rozpoczyna się krokiem „Registration”, w którym użytkownik uzupełnia niezbędne dane o pojeździe, a następnie przechodzi ścieżką „Move to Car Management”. Przejście dowolną ścieżką wywołuje zapis danych dla danego elementu.

Rysunek 4. Formularz – uzupełnienie niezbędnych danych

 

Dane w trybie odczytu formularza prezentowane są w następujący sposób:

Rysunek 5. Formularz – widok w trybie odczytu formularza po zarejestrowaniu dokumentu

 

Wartości części pól (daty, pola liczbowe, pola wyboru…) w tabeli WFElements są przechowywane w innym formacie od tego, w jakim wyświetlane są na formularzu danego elementu.

Poniższe zapytanie SQL zwraca wszystkie uzupełnione pola na formularzu dla powyższego dokumentu (Rysunek 4) — zarejestrowanego samochodu marki Infiniti:

Rysunek 6. Zapytanie SQL – przechowywanie danych o elemencie

 

Analizując wynik takiego zapytania SQL, należy zwrócić uwagę, że wartości atrybutów „Year of production” i „Fuel Type” (pola wyboru) są zapisywane w postaci „ID#Nazwa”. Pozwala to na identyfikowanie wartości za pomocą ich unikalnych ID.

Szczegółowe informacje o gotowych funkcjach SQL znajdują się w artykule:

Elementarz wdrożeniowca – przydatne gotowe funkcje SQL.

2 thoughts to “Tabela WFElements”

  1. Czy jest możliwość znalezienia w bazie danych jakie jest przypisanie danych atrybutów z tabeli WFElements do tego co się tam znajduje?
    Skąd Pan wiedział, że np. WFD_AttChoose1 to YearOfProduction? Czy takie informację są gdzieś do znalezienia na bazie danych?

    1. W WEBCON Designer Studio wchodząc w konfigurację atrybutu można zobaczyć jego ID oraz Pole (czyli np. WFD_AttChoose1 z Pańskiego przykładu).
      W tabeli WFConfigurations można odnaleźć konfigurację dla danego pola filtrując zapytanie po ID z konfiguracji w Designer Studio.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *