Atrybut Drzewo wyboru – prezentacja struktury Active Directory

Facebooktwitterpinterestlinkedinmail
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.