Formularz to podstawowy element procesu WorkFlow. Dzięki niemu użytkownicy mają wgląd do informacji zawartych w atrybutach czy załącznikach, z kolei na nich operują wprowadzając kolejne informacje / modyfikując poprzednie. Aby użytkownicy mogli porozumiewać się z systemem, należy przekazać im interfejs, który do tego służy.
Artykuł przedstawia koncepcję matrycy atrybutów – mechanizmu odpowiadającego za prezentację danych z systemu. W drugiej części zawarto informacje o szczegółowej konfiguracji atrybutu, omówiona została konfiguracja nadpisywania konfiguracji z matrycy.
Zawartość formularza WorkFlow może różnić się od siebie wieloma elementami, różnice mogą wystąpić przy np.:
1) Zależności od kroku w jakim znajduje się dokument
2) Roli osoby przeglądającej dokument (autor, osoba z zadaniem, osoba tylko z odczytem, przełożony czy dział HR)
3) Zależności od wartości w polach (przykładowo widoczność atrybutów w zależności od wartości w innych polach)
4) Wymagalność:
- Zawsze
- „W zależności od”
Za podstawę tego artykułu uznaje się proces ze stworzonymi już atrybutami. Matrycę atrybutów znajdziemy w BPS Designerze, po kolei przechodząc po drzewku procesu:
Druga interesująca nas część to zakładka Uprawnienia – dostępna na większości atrybutów:
Matryca atrybutów – podstawy
Matryca atrybutów to podstawowy i obligatoryjny element definiujący widoczność atrybutów na formularzu dokumentu. Nie ma możliwości pokazania atrybutu na formularzu, jeśli nie jest on uwidoczniony na matrycy.
Matryca składa się z trzech bloków, na których znajdziemy atrybuty umieszczone zgodnie z umiejscowieniem ich w Szablonie formularza. Odpowiednio:
1) lewy panel – odpowiada za atrybuty znajdujące się po lewej części formularza ( z pominięciem paska informacyjnego)
2) Prawy panel – odpowiada za atrybuty znajdujące się po prawej części formularza
3) Lista pozycji – elementy znajdujące się u dołu ekranu.
W niniejszym artykule umiejscowienie atrybutów nie ma najmniejszego znaczenia.
Każdy z atrybutów jest definiowalny oddzielnie w zależności od kroku, w jakim znajduje się dokument. Znaczy to tyle, iż przykładowo na kroku Rejestracji możemy pokazać 3 z 5 atrybutów, a już na kroku drugim dodatkowe dwa. Ważna informacją dotyczącą edytowalności formularza są dwie kwestie:
1) Tryb edycji formularza (przycisk na belce EDYCJA/Anuluj edycję)
- Jeśli nie jesteśmy w trybie edycji, to formularz domyślnie wskazuje wszystkie widoczne dla nas atrybuty w trybie do odczytu – nie można zmienić ich wartości.
- Jeśli formularz jest w trybie edycji, formularz wygeneruje się zgodnie z konfiguracja dostępności widoczności edycji oraz wymagalności atrybutów
2) Aby uzyskać dostęp do prawa edycji formularza należy posiadać jedno z poniższych uprawnień:
- Zadanie / zastępstwo
- Uprawnienie modyfikacji ( automatycznie nadawane w momencie generowania zadania)
- Uprawnienie administracyjne
Poniższy zrzut prezentuje dostępne możliwości konfiguracji atrybutów na poziomie matrycy.
Z powyższego rysunku, można wnioskować, iż występuje kilka możliwych stanu atrybutu:
1) Atrybut ‘Data’ będzie niewidoczny na kroku, jednocześnie nie będzie ani wymagalny ani edytowalny
2) ‘Osoba’– atrybut widoczny, dostępny do edycji, niewymagany
3) ‘Tekstowy’ – widoczny, wyszarzony (widok bardzo podobny do edycyjnego – jednak edycja dla użytkownika jest zablokowana), niewymagany
4) ‘Liczba’ – Widoczny na formularzu, tylko do odczytu (widok w różny od widoku wyszarzanego jak w pkt.3)
5) ‘Tak/Nie’– pole widoczne i dostępne do edycji, wymagane na formularzu
6) ‘Dropdown’ – widoczny na formularzu, tylko do odczytu oraz wymagany
Powyższe kombinacje mogą być stosowane niezależnie od atrybutów (wyjątek stanowią pola z grupy ‘Prezentacja danych’ – ustawienie wymagalności na atrybutach z tej grupy nie odniesie skutku. Ustawienie atrybutów wedle powyższej konfiguracji na formularzu prezentuje się w następujący sposób:
1) Data – pole jest niewidoczne na formularzu.
Stan wykorzystywany przykładowo w sytuacji, gdy rejestrujemy dokument faktury kosztowej. Osoba wypełniająca dokument na kroku rejestracji niekoniecznie posiada wiedzę nt. rozbić analitycznych dla danej faktury – w takiej sytuacji nie ma sensu, aby zbędnie wypełniała dane do których nie ma kompetencji.
2) Pole z osobą, jest edytowalne dla użytkownika
Tryb używany w przypadku, gdy chcemy dać użytkownikowi możliwość zmiany wartości w polu. Na polu nie ma wymagalności (czerwonej gwiazdki), zatem pole może pozostać puste i dokument będzie miał możliwość zarejestrowania.
3) Pole Tekst, na obrazku wypełniono wartością domyślną, jednak pole jest do odczytu.
Użytkownik nie będzie mógł zmienić wartości w tym polu. Tryb wykorzystywany przykładowo do ustawiania wartości domyślnej np. dla osoby rejestrującej będzie to login bieżącego użytkownika – takiej informacji możemy nie chcieć zmieniać.
4) TAK/NIE w trybie tylko do odczytu.
Podobnie jak tryb 2, z tą różnica, iż wygenerowano na formularzu mniej kontrolek (strona dzięki temu jest nieco lżejsza) – tryb ma wpływ na wydajność ładowania formularza, należy stosować w przypadku bardzo dużej ilości atrybutów bądź sytuacjach gdy nie chcemy dać możliwości edycji użytkownikowi.
5) Dropdown – pole w trybie edycji – wymagane.
Stan wykorzystywany w sytuacjach, gdy chcemy wymusić na użytkowniku wypełnienie pola. Przykładowo w procesie urlopowym, zanim wyślemy wniosek do akceptacji – jako obowiązkowe i do edycji wystawiamy użytkownikowi pola daty startu i końca urlopu.
6) Liczba – do odczytu i wymagane
Stan wykorzystywany bardzo rzadko, w sytuacji, gdy chcemy dodatkowo sprawdzić (wymusić wymagalność) wypełnienia atrybutu np. przed wpisem do ERP, gdy pole z numerem konta bankowego uzupełnia się automatycznie (np. na podstawie innego pola danymi z widoku SQL). Brak wartości w takim polu spowoduje, iż dokument nie będzie mógł przejść daną ścieżką (przy standardowych ustawieniach wymagalności)
Należy wyraźnie zaznaczyć, iż w większości wypadków konfiguracja widoczności formularza poprzez matrycę atrybutów w zupełności wystarcza i nie ma konieczności nadpisywania dodatkowych ograniczeń na poszczególnych atrybutach obiegu.
Uprawnienia – zakładka atrybutu
Atrybuty posiadają w swojej konfiguracji kilka możliwości ustawiania widoczności, edycji czy wymagalności. Można sterować powyższymi wartościami poprzez matryce atrybutów, jednak istnieje możliwość nadpisania tych ich poprzez konfigurację odpowiednich sekcji w samym atrybucie.
Sekcja uprawnień składa się z elementów:
1) Ograniczenie widoczności – ma wpływ na widoczność danego atrybutu. Istotne jest, aby element był zaznaczony jako widoczny na matrycy. W przeciwnym razie ustawienie na zakładce Uprawnień nie odniesie skutku.
2) Ograniczenie edycji – ma wpływ na dostępność atrybutu do edycji dla użytkownika. Tak jak przy widoczności (pkt 1) brana pod uwagę jest konfiguracja z matrycy atrybutów. Przykładowo nie można wystawić do edycji (z poziomu zakładki uprawnienia) atrybutu, jeśli nie jest on udostępniony do edycji na matrycy atrybutów.
Sekcja uprawnień– ograniczenie widoczności
Ograniczenie widoczności atrybutów ograniczają dzielą się na podsekcje. Widoczność można ustalić w zależności od kilku elementów, są to:
1) Ograniczenia widoczności dla osób (do wyboru konta AD, grupy AD, Grupy Sharepoint)
- Opcja wykorzystywana przykładowo w procesach HRowych, gdzie występują dane wrażliwe i chcemy zawęzić możliwość wglądu w takie dane dla dedykowanej grupy użytkowników.
- Do zdefiniowania widoczności atrybutu per osoba/grupa wystarczy w poniższe pole wpisać pożądanych użytkowników czy grupy:
- Skutkiem wpisania użytkownika w pole jest pokazanie atrybutu na formularzu, jeśli będzie on przeglądał dokument ze swojego konta.
W przypadku, gdy wpiszemy konto innego użytkownika (przykładowo Dyrektora/ prezesa / grupę HR – w której bieżący użytkownik nie jest wpisany)
Pole na formularzu nie będzie widoczne:
2) Ograniczenie widoczności atrybutu dla wszystkich za pomocą zapytania SQL.
Działanie bardzo analogiczne do punktu pierwszego. Różnica polega na zbudowaniu takiego zapytania SQL, które zwróci wartość (0/1). Jeśli zapytanie zwróci 1 – to atrybut będzie widoczny na formularzu. W przypadku, gdy źródło zwróci jakąkolwiek wartość różną od 1 atrybut nie zostanie pokazany na formularzu.
Korzystając z tej opcji, możemy wybrać źródło, które chcemy odpytywać (służy do tego opcja ‘Źródło danych dla zapytania’, po uprzednim zdefiniowaniu źródła danych w Designerze będziemy mogli wybrać je w tym miejscu.
Przy budowaniu zapytania, możemy korzystać z wartości dostępnych w innych polach. Na powyższym przykładzie skorzystano z porównania wartości w atrybucie ‘Liczba’ do wartości 322, jeśli wartość będzie równa atrybut będzie widoczny – w przeciwnym razie nie.
3) Ograniczenie widoczności dla wybranych osób na podstawie SQL bądź CAML
Opcja wykorzystywana w sytuacji, gdy chcemy zwrócić loginy osób dla których dany atrybut ma być widoczny. Przykładowo możemy odpytywać widok z danymi wystawionymi z systemu ERP.
Podobnie jak w punkcie 2, możemy definiować kontekst źródła danych.
Bardzo ważną informacją jest kwestia sumowania się warunków. Tzn, jeśli jakikolwiek z wymienionych powyżej zabroni nam dostępu do atrybutu to NIE zostanie on pokazany na formularzu.
Sekcja uprawnień – ograniczenie edycji
Analogicznie jak w przypadku stosowania ograniczeń, co do widoczności, występuje możliwość konfiguracji atrybutów pod kątem ich dostępności do edycji.
1) Administracja atrybutem
Element dostępny do konfiguracji z dwoma predefiniowanymi opcjami
- Nikt
- Autor – osoba rejestrująca dokument
- Osoby mające dostęp do elementu
Ważną informacją jest kwestia, iż administracja atrybutem jest niezależna od ustawień na matrycy atrybutów – wystarczy, iż atrybut będzie widoczny. Administracja atrybutem bierze pod uwagę konfigurację edytowalności danego pola, o czym w dalszej części.
2) Osoby
W polu osób można wybrać osoby, grupy AD/ SPS. Aby konfiguracja odniosła skutek na matrycy atrybutów dany element musi być pozostawiony do edycji:
Jeżeli osoba przeglądająca dokument będzie znajdować w się w konfiguracji to atrybut pozostanie do edycji, w przeciwnym wypadku edycja zostanie zablokowana.
3) Zapytanie SQL ograniczające edytowalność dla wszystkich
Analogicznie jak w przypadku widoczności – aby ustawić atrybut jako edytowalny musimy zwrócić wartość 1.
4) Ograniczenie wymagalności
Dla skorzystania z tej opcji w matrycy atrybutów należy ustawić dany atrybut na wymagany
Opcja dostępna do nadpisywania wymagalności wypełnienia atrybutu. Ograniczenie budowane jest za pomocą SQL. Jeśli chcemy, aby pole było wymagane to w wyniku wykonania zapytania powinniśmy otrzymać wartość 1.
Ograniczenie wykorzystuje się w sytuacji, gdy wypełnienie danego pola jest uzależnione od wartości w innych atrybutach. Przykładowo, jeśli mamy wybranego kontrahenta to możemy wymusić wypełnienie pola z numerem rachunku bankowego.
Ograniczenia raportowe i historii
Przy konfiguracji widoczności czy edytowalności występują dodatkowe checkboxy odpowiadające za widoczność atrybutu na raportach SWE czy w historii.
Domyślnie pola są odznaczone – znaczy to tyle, iż wpisanie danego warunku czy osób w sekcję ograniczenia spowoduje, że na raporcie SWE czy historii elementu atrybut nie będzie wyświetlany. Jeśli checxbox zostanie zaznaczony to dane ograniczenie zostanie zignorowane.
A co z kwestią uzależniania widoczności jednego atrybutu od wartości drugiego ? Czy jest możliwość, żeby działo się to automatycznie po zmianie wartości bez przechodzenia ścieżką do kolejnego kroku?
Informacje na ten temat można znaleźć w artykule: https://kb.webcon.pl/warunkowe-wyswietlanie-atrybutow-w-zaleznosci-od-wartosci-innego-atrybutu/
I oczywiście zapraszam do zapoznania się z najnowszą wersją systemu WEBCON BPS 2017, gdzie jest to jeszcze łatwiejsze.
Jak przenosić atrybuty z jednego panelu na inny? Drag&drop nie działa, żadnej innej opcji też nie widać.
Naszym zdaniem Drag&Drop jak najbardziej działa – W WEBCON BPS Designer Studio z poziomu Globalnego Szablony Formularza.
Prośba o informację jak w Liście pozycji uzależnić widoczność jednej kolumny od danej wybranej w innej kolumnie będącej polem wyboru
Nie ma takiej możliwości. Lista pozycji może zawierać wiele wierszy i dla jednych warunek byłby spełniony, a dla innych nie. W tabeli nie da się ukryć kolumny tylko dla wybranych wierszy.
Alternatywnie można posłużyć się ograniczeniem edytowalności kolumny listy pozycji i zastosować czyszczenie danego pola w tej kolumnie w momencie gdy warunek dla danego wiersza zostanie spełniony.