Dynamicznie generowane wartości kolumn list pozycji

Facebooktwitterpinterestlinkedinmail

dotyczy wersji: 8.1.x; autor: Kamil Nędza

Na przykładzie atrybutów: Hiperłącza oraz Wiersza SQL

W listach pozycji możliwe jest wyświetlanie wartości generowanych dynamicznie, tzn. wartość wyświetlana może zmieniać się bez użycia dodatkowych akcji. Ich wartość jest generowana automatycznie po załadowaniu strony. Dzięki temu, można wyświetlać statusy innych dokumentów, wartości wyliczane na podstawie wpisów w danej linii listy pozycji i wiele innych pożytecznych informacji. Tak naprawdę, możliwe jest wyświetlenie wszystkiego, na co pozwala polecenie SQL.

Za pomocą WEBCON BPS Studio możliwe jest dynamiczne wyświetlanie wartości, za pomocą kolumn:

  • Hiperłącze – Służy do wyświetlania linka na liście pozycji. Za pomocą odpowiedniego zapytania SQL można stworzyć dynamiczny link, o zmiennej nazwie wyświetlanej. Np. link do dokumentu Workflow z wyświetlaną nazwą kroku, w którym się znajduje.
  • Wiersz SQL– Wyświetla wartość zawartą w pierwszej kolumnie pierwszego wiersza wyniku zapytania. Dodatkowo posiada różne tryby konfiguracyjne przedstawiania zwróconych wyników. Pozwala przestawiać wyniki w trybie procentowym, jako pasek postępu, w trybie trójstanowej „lampki”, lub zwrócić wynik pogrubioną czcionką.

Opis przykładowej funkcjonalności:

 

Posiadamy dwa obiegi (obieg zadania i projektu). Obieg zadania to prosty trzykrokowy proces składający się z rejestracji realizacji i archiwum. Do danej osoby przypisywane jest zadanie do wykonania, a dana osoba może je zrealizować lub odrzucić. Obieg projektu służy do zarządzania zadaniami.

Naszym zadaniem jest realizacja funkcjonalności do monitorowania zadań użytkowników. Można to zrealizować na liście pozycji na innym procesie wykorzystując dynamiczne kolumny typu wiersz SQL i hiperlink.

 

Konfigurowanie kolumn w liście pozycji:

 

W ramach tego artykułu utworzymy listę pozycji składającą się z 4 kolumn:

  • Zadanie – kolumna typu picker. Zawiera ID i sygnaturę dokumentu zadania.
  • Osoba realizująca –  kolumna typu wiersz SQL. Wyświetla osobę realizującą dla wybranego zadania.
  • Link – kolumna typu hiperlink. Link, który po kliknięciu przeniesie nas do dokumentu WorkFlow wybranego zadania.
  • Status – kolumna typu wiersz SQL. „Lampka” obrazująca w czytelny sposób stan realizacji zadania.

 

Aby dodać nową listę pozycji, na drzewie procesów,  należy kliknąć na sekcję „Atrybuty” i wybrać przycisk „Nowy atrybut”. Następnie trzeba zmienić typ nowo powstałego atrybutu na „Lista pozycji”. Dodawanie nowych kolumn w liście pozycji odbywa się poprzez kliknięcie przycisku „Nowa kolumna”. Po wybraniu typu pola dla nowo utworzonej kolumny, możliwa jest jej konfiguracja.

Na początku tworzymy kolumnę „Zadanie”. W tym wypadku jako ID pickera wykorzystamy ID dokumentu WorkFlow, które jest unikalne i pozwoli nam w łatwy sposób „dobrać się” do potrzebnych informacji:

kn_p1

KN_p1_1

Rys. 1. Konfiguracja pickera

 

Później możemy utworzyć kolumny typu wiersz SQL. Dla Wiersza SQL, możliwe jest określenie typu, w jaki sposób wyświetlane są wyniki. W konfiguracji kolumny będziemy mieli do dyspozycji 4 tryby reprezentacji danych:

KN_p2

Rys. 2. Widok konfiguracji Wiersza SQL

 

Dodajemy dwie nowe kolumny. „Osoba realizująca” będzie kolumną tekstową, w której będzie wyświetlana osoba przypisana do konkretnego zadania z dokumentu WorkFlow. W kolumnie „Status” znajdować się będzie ikonka obrazująca stan każdego z zadań.

W przypadku pola typu osoba warto wiedzieć, że w bazie danych atrybut osoby przechowywana jest w formie login_domenowy#nazwa_wyświetlana (np. WEBCON\k.nedza#Kamil Nędza). Dlatego w celu czytelnej prezentacji warto użyć wbudowanej funkcji SQL CLEARWFELEM(), która zwróci wyłącznie nazwę wyświetlaną dla użytkownika. Zapytanie SQL wygląda następująco:

KN_p3

Rys. 3. Zapytanie dla kolumny „Osoba realizująca”

 

Na powyższym screenie widzimy, że w łatwy sposób jesteśmy w stanie wybrać z drzewa tagów znajdującym się w prawym panelu, niezbędną dla nas wartość. Posługując się tym samym tagiem konfigurujemy kolumnę „Status”. Przykładowe zapytanie może wyglądać następująco:

kn_p4

Rys. 4. Zapytanie dla kolumny „Status”

 

Lampka powoduje przedstawienie wartości liczbowej przez ikonkę „lampki” – dla wartości mniejszych lub równych 0 będzie to czerwona lampka, dla wartości równych 1 będzie to żółta lampka, dla wartości większych od 1 będzie to zielona lampka.
Na samym końcu dodajemy kolumnę „Krok” z linkiem. Za pomocą przedstawionej na poniższym zrzucie składni jesteśmy w stanie stworzyć link z konkretna nazwą wyświetlaną. W naszym przypadku będzie to nazwa kroku, w którym znajduje się dokument:

kn_p5

Rys. 5. Konfiguracja kolumny „Krok”

 Po utworzeniu i skonfigurowaniu kolumn należy pamiętać o tym, aby odpowiednio skonfigurować listę pozycji na matrycy atrybutów.

 

Weryfikacji funkcjonalności:

Otwieramy w przeglądarce dokument projektu, na którym znajduje się skonfigurowana przez nas lista pozycji. Efekt powinien być podobny do tego na poniższym zrzucie:

kn_p6

Rys. 6. Widok listy pozycji na formularzu

 

 

 

2 thoughts to “Dynamicznie generowane wartości kolumn list pozycji”

  1. Wszystko pięknie, tylko chyba zabrakło informacji o tym, że lista pozycji musi być zainicjalizowana np. takim zapytaniem
    select wfd_id as DET_Att1 from wfelements where wfd_dtypeid =

    Inaczej lista pozycji pozostanie pusta….

    1. Lista pozycji nie musi być koniecznie inicjalizowana.
      Ja w powyższym przykładzie dodawałem elementy listy pojedynczo i wybierałem pickery ręcznie. Oczywiście Pan/Pani rację, że aby efekt był widoczny, niezbędne jest uzupełnienie listy pozycji 🙂

Dodaj komentarz

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