Dotyczy wersji: 2019 R1 i powyżej; autor: Martyna Krzyżak, Lily Adamowicz
Dokumentacja powiązana
Szczegółowy opis funkcjonalności wymienionych w niniejszym artykule oraz ich konfiguracji można znaleźć w następującej sekcji Pomocy WEBCON BPS:
Wstęp
Atrybut typu Drzewo wyboru umożliwia prezentowanie danych słownikowych na formularzu w formie grafu drzewiastego zamiast klasycznej listy. Takie podejście znacznie poprawia czytelność, zwłaszcza w przypadku słowników z wielopoziomową strukturą lub równoległymi węzłami. Użytkownik może łatwiej odnaleźć interesujące go dane, szczególnie te znajdujące się głęboko w strukturze. Typowym przykładem danych dobrze prezentujących się w formie drzewa jest struktura organizacyjna firmy.
Zmiany w konfiguracji Źródła danych (od wersji 2019)
Ogólny opis Drzewa wyboru znajduje się w poprzednim artykule dotyczącym tego atrybutu: Atrybut Drzewo Wyboru – prezentacja struktury AD w atrybucie. Należy jednak zaznaczyć, że przedstawiony w powyższym artykule sposób konfiguracji Źródła danych dla tego atrybutu nie jest już wspierany od wersji 2019. Od tej wersji:
- Wartości w kolumnach ID i ParentID muszą mieć typ integer.
- Nie można już używać zapytań SQL z konstrukcją WITH, ponieważ są one blokowane – w niektórych wersjach mogą prowadzić do błędów.
- Istnieje możliwość wyboru węzłów pośrednich (np. zespołów) również dla konfiguracji opartych na ścieżkach.
Równoważność obu konfiguracji
Aktualnie obie metody konfiguracji – zarówno z użyciem ParentID, jak i ścieżek – działają podobnie. W obu przypadkach możliwe jest wyświetlenie węzłów pośrednich na formularzu. Poniższe zestawienie przedstawia kluczowe elementy konfiguracji dla obu podejść:
| Rodzaj konfiguracji | Z użyciem ParentID | Z użyciem ścieżek |
|---|---|---|
| Zapytanie SQL na Źródle | ![]() |
![]() |
| Zwracane dane | ![]() |
![]() |
| Konfiguracja atrybutu | ![]() |
![]() |
| Widok drzewa na formularzu | ![]() |
![]() |
Przykłady wykorzystania
Poniżej zaprezentowano przykładowe sposoby wykorzystania atrybutu Drzewo wyboru podczas pracy ze strukturą Active Directory. Zapytania zostały napisane bez użycia konstrukcji WITH.
Pełna struktura organizacyjna
W pracy z obiegami WEBCON BPS często pojawia się potrzeba wskazania pracownika odpowiedzialnego za realizację danego zadania – niezależnie od jego miejsca w strukturze organizacyjnej. Atrybut Drzewo wyboru doskonale sprawdza się w takich sytuacjach, umożliwiając szybkie odnalezienie konkretnej osoby nawet w bardzo rozbudowanej organizacji. Dzięki mechanizmowi rozwijania węzłów tylko w obrębie wybranego pionu, użytkownik może łatwo przeszukiwać kolejne poziomy hierarchii, koncentrując się wyłącznie na interesującym go fragmencie struktury.
W celu zwrócenia struktury organizacyjnej w atrybucie Drzewo wyboru, należy odpowiednio przygotować zapytanie SQL w Źródle danych – tak, aby zwracało kolumny ID, Wartość oraz ParentID.
Rys. 1. Przykładowe zapytanie zwracające pełną strukturę organizacyjną
Przy wyborze pracownika na formularzu obiegu powyższa konfiguracja pozwoli na wyświetlenie struktury w formie drzewa:
Rys. 2 Prezentacja wyników zapytania dla pełnej struktury organizacyjnej
Struktura od aktualnej osoby w dół („ja i moi podwładni”)
W obiegach administracyjnych często pojawia się potrzeba skonfigurowania atrybutu, który umożliwi wybór jednego z podwładnych aktualnie zalogowanego użytkownika. Dotyczy to m.in. sytuacji, w których kierownik składa wniosek nie tylko we własnym imieniu, ale także w imieniu członka swojego zespołu — zarówno bezpośredniego, jak i pośredniego (czyli pracownika należącego do dalszych poziomów struktury, mającego innego przełożonego). W takim przypadku atrybut Drzewo wyboru zapewnia przejrzystą prezentację hierarchii i umożliwia szybkie wskazanie właściwej osoby w ramach struktury organizacyjnej.
Poniżej przedstawiono przykład zapytania SQL skonfigurowanego w Źródle danych, które umożliwia wyświetlenie struktury organizacyjnej zaczynającej się od osoby aktualnie pracującej na formularzu — wraz ze wszystkimi jej podwładnymi. Zapytanie opiera się na standardowym mechanizmie budowania drzewa, w którym korzeniem jest rekord bez wartości nadrzędnej (czyli z NULL w kolumnie ParentID). Aby ograniczyć widok tylko do fragmentu struktury, należy ustawić ParentID = NULL dla aktualnej osoby i jednocześnie wykluczyć z wyników inne osoby bez przełożonego. Dzięki temu formularz wyświetli strukturę drzewiastą, której początkiem będzie aktualny użytkownik.
Rys. 3 Zapytanie SQL zwracające strukturę od aktualnej osoby
Na formularzu, w atrybucie Drzewo wyboru, zostanie dla takiej konfiguracji wyświetlony graf pokazujący aktualną osobę i wszystkich jej podwładnych:
Rys. 4 Widok drzewa zawierającego aktualną osobę i jej podwładnych
Podsumowanie
Atrybut Drzewo wyboru to skuteczne narzędzie do prezentowania i selekcji danych o strukturze hierarchicznej — takich jak organizacja firmy. Dzięki możliwości rozwijania i zwijania gałęzi drzewa, użytkownik może w intuicyjny sposób poruszać się po nawet bardzo rozbudowanych strukturach.
W artykule zaprezentowano dwa scenariusze wykorzystania atrybutu:
- wyświetlanie pełnej struktury organizacyjnej,
- wyświetlanie struktury ograniczonej do aktualnego użytkownika i jego podwładnych.
Obie konfiguracje – zarówno oparta na kolumnach ParentID, jak i na ścieżkach – pozwalają obecnie na wybór węzłów pośrednich oraz działają poprawnie bez użycia konstrukcji WITH. Nowe podejście jest zgodne z aktualnymi wersjami WEBCON BPS i zalecane przy wdrażaniu formularzy opartych na strukturze organizacyjnej.









