




Opis funkcjonalności
W referencji do artykułów:
- https://kb.webcon.pl/wykorzystanie-kolumn-wyliczanych/
- https://kb.webcon.pl/dynamicznie-generowane-wartosci-kolumn-list-pozycji/
Bieżący artykuł wskazuje prostą aczkolwiek skuteczna metodę na warstwę widoku – prezentację statusów poszczególnych etapów / zadań za pomocą ikonek, które osoba konfigurująca może sama wybrać i rozszerzyć ( w stosunku do domyślnie dostępnych w BPSie trzech stanów 0/1/2).
Przykład realizowanej funkcjonalności:
Istnieje obieg przydzielenia sprzętu nowo przyjętemu pracownikowi. Proces opiera się o kontrolkę listy pozycji, na której to wydzielane są poszczególne elementy do przygotowania. Każdym z elementów może zajmować się inna osoba – stąd wynika prosty podproces zadaniowania.
W podprocesie zadaniowania rozróżnimy 4 statusy ( BPS standardowo wspiera trzy):
1 – części w dostawie ( nie ma ich aktualnie dostępnych w firmie)
2- część została przygotowana i jest gotowa do odbioru
3 – część nie może być zamówiona ( żądanie odrzucone)
W podprocesie powyższe statusy dla uproszczenia będą reprezentowane przez kroki. Natomiast na liście pozycji w postaci ikonek.
Konfiguracja:
Przygotowanie ikon reprezentujących stany.
We własnym zakresie należy przygotować ikony, które będą reprezentować statusy w poszczególnych krokach – dla uproszczenia całe sprawy warto jako nazwy poszczególnych ikon ustawić liczby reprezentujące stan – wymienione w liście powyżej.
Kolejno zakładamy bibliotekę Obrazów Sharepoint. W bibliotece umieszczamy uzyskane ikony.
Biblioteka Sharepoint stanowi lepsze rozwiązanie niż miejsce na dysku serwera, ponieważ w przypadku istnienia wielu frontonów nie trzeba dbać o rozprowadzanie ikon na wszystkie serwery – w przypadku biblioteki obrazów sprawę mamy rozwiązaną od razu.
Po utworzeniu biblioteki, dodajemy do niej grafikę.
Przygotowanie zapytania inicjującego podobiegi
Standardowo przy trzymaniu relacji pomiędzy podobiegami startującymi z listy pozycji a rodzicem warto trzymać powiązania w postaci identyfikatora danego wiersza ( DET_ID). W naszym przypadku użyjemy do przepisania do atrybutu technicznego, który z kolei posłuży przy odnajdywaniu odpowiedniego WFD_ID na bazie danych. Pierwszy screen ukazuje konfigurację startowanych podobiegów, drugi zaś wskazuje na zapytanie generujące podobiegi
Konfiguracja na poziomie podobiegów
Na poziomie podobiegu istotne są dwie sprawy:
- Każdy krok reprezentowany jest przez status ( liczba)
- Na wejście do kroku tworzymy akcje zmień wartość pola ustawiającą odpowiedni status
Takie rozwiązanie zapewni spójność pomiędzy krokami obiegu a statusami ( zgodnymi z nazwami obrazów z biblioteki Sharepoint)
Konfiguracja kolumny ze statusem
Na poziomie listy pozycji, tworzymy dodatkową kolumnę ze wyświetlającą status podobiegu w formie grafiki.
Zapytanie umieszczone powyżej, pozwala na wyświetlanie statusów w formie graficznej z podlinkowaniem do elementu (zadania) workflow.
Jako fragment zmiennej @link użyto adres do biblioteki dokumentów z obrazami, kolejna część to interpretacja zapytania ( wykonywane dla każdego wiersza listy pozycji z osobna). Zwrócenie statusu ( WFD_AttInt1) bezpośrednio przekłada się na nazwę obrazu w bibliotece.
Konkatenacja zmiennych tekstowych ( 1 – link do WFDynamic, displayname, oraz flagaStatusu) daje finalnie URL który wygenerowany zostanie na formularzu w postaci podlinkowanej grafiki.
Przejście podobiegami (zadaniami) spowoduje, że zmieni się status podobiegu ( akcja zmień wartość pola na wejście do kroku) . To z kolei przełoży się na odpowiednia grafikę.
Podsumowanie
jak widać było w artykułach wymienionych na początku BPS – daje predefiniowane możliwości skonfigurowania statusów na obiegach. Ważne jest jednak to, że nie zapomina o większych potrzebach niż trzy statusy i zezwala na zbudowanie statusów w dowolnej ilości o dowolnych ( rozsądnych 🙂 ) grafikach.
Ciekawy artykuł, ja stworzyłem statusy w troszkę inny sposób (bardziej dynamiczny) bez użycia dodatkowego atrybutu i akcji na każdym kroku.
W miejsce zmiennej @flagaStatusu można pobrać pole WFD_STPID i na podstawie tego pola nazwać obrazek w galerii np. 7, lub dodać jakiś przedrostek zam_7 i na tej zasadzie tworzyć linki.
Ja zrobiłem statusy pobierane z tabeli WFSteps które są po prostu nazwami kroków.
Witam panie Łukaszu,
gratuluję kreatywności. Powyższy komentarz świadczy potwierdza, iż jedną funkcjonalność można spokojnie realizować na kilka różnych sposobów w zależności od kreatywności osoby konfigurującej.
Nazwy kroków się sprawdzają – aczkolwiek nie zawsze – ponieważ zmuszamy jednak użytkownika do czytania statusu. Przykład z grafikami służy ku temu, aby odwołać się do instynktu ( kierowcy 😉 ) poprzez sterowanie kolorami i skojarzenie czerwony – coś poszło nie tak, zielony wszystko w porządku.