Elementarz wdrożeniowca – przydatne gotowe funkcje SQL

Facebooktwitterpinterestlinkedinmail

dotyczy wersji: 8.2.x, autor: Kamil Nędza

Wraz z instalacją bazy danych, oprócz tabel tworzone są również funkcje i procedury, które śmiało można wykorzystać przy pracy z WEBCON BPS Designer Studio. Wiele z nich może oszczędzić osobie konfigurującej dużą ilość czasu. W artykule omówione zostaną trzy bardzo przydatne funkcje, oraz użycie ich w praktycznym przykładzie.

Opis funkcji:

1) Funkcje ClearWFElem(@Value nvarchar(1000)),  ClearWFElemID(@Value nvarchar(1000))

Część atrybutów w bazie przechowywana jest w formie “ID#Nazwa wyświetlana”. Dotyczy to między innymi atrybutów „Pole wyboru” oraz „Osoba lub grupa”. Dzięki funkcji ClearWFElem zwrócić można prawą część ciągu tekstowego po znaku „#” przechowywanych w polu. Analogicznie ClearWFElemID zwróci lewą część:

1

Rys.1. Przykład działania funkcji

 

 2) Funkcja IsUserInADGroup(@login nvarchar(255), @groupDisplayName nvarchar(255))

W przypadku gdy niezbędne jest sprawdzenie czy dany użytkownik należy do określonej grupy AD z pomocą przychodzi funkcja IsUserInADGroup. Na podstawie loginu (w formie DOMENA\login) oraz nazwy grupy AD, funkcja zwraca „1” w przypadku gdy użytkownik należy do  grupy. W przeciwnym razie funkcja zwróci „0”. Funkcję można używać np. do wyświetlania atrybutów, ścieżek, czy akcji na belce w zależności od tego czy dany użytkownik należy do uprawnionej grupy.

Uwaga: Funkcja korzysta z tabeli CacheOrganizationStructure, która jest aktualizowana cyklicznie w określonych godzinach. W przypadku gdy dany użytkownik zostanie dodany do konkretnej grupy AD, jeżeli nie dojdzie do synchronizacji, funkcja nie zadziała prawidłowo .

 2_PL

 Rys.2. Przykład działania funkcji

 

 3) Funkcja tabelaryczna SplitToTable(@value nvarchar(max), @delimiter nvarchar(5))

Funkcja SplitToTable na podstawie wpisanego ciągu znaków i określonego separatora zwraca w formie tabelarycznej wszystkie ciągi znaków pomiędzy separatorami. Funkcja jest niezastąpiona w przypadku atrybutu typu „Pole wyboru” dla którego ustawiono możliwość wyboru wielu wartości, gdzie dane w bazie przechowywane są wtedy po średniku.

3_pl

Rys.3. Przykład działania funkcji

 

Praktyczny przykład wykorzystania:

Wykorzystując wyżej opisane funkcje, na formularzu zostanie dodany atrybut typu „Tabela SQL”, który na podstawie wybranych w pojedynczym atrybucie osób pokaże ich loginy, nazwy oraz przynależność do określonych grup.

4_pl

Rys.4. Zapytanie użyte w źródle danych tabeli SQL

 

Zapytanie korzysta wyłącznie z danych umieszczonych w jednym atrybucie „Osoba lub grupa”, które skonfigurowano tak, aby możliwy był wybór wielu wartości. Efekt konfiguracji wygląda następująco:

5_pl

Rys.5. Widok formularza skonfigurowanego atrybutu „Tabela SQL”

 

Oczywiście funkcji utworzonych na bazie danych jest więcej, jednak te opisane w tym artykule uważam za najbardziej przydatne i najczęściej wykorzystywane. Zachęcam aby rzucić okiem na pozostałe, żeby wiedzieć z czego można skorzystać podczas pracy z WEBCON BPS Studio. Pozwoli to uniknąć tworzenia nowych rozwiązań, podczas gdy istnieją już gotowe narzędzia.

2 thoughts to “Elementarz wdrożeniowca – przydatne gotowe funkcje SQL”

  1. A jak powinno wyglądać użycie funkcji „ClearWFElem” w przypadku kiedy mamy kilka osób wskazanych jako realizatorzy zadania? Zwrócenie wyłącznie prawej część ciągu tekstowego po znaku „#” działa jedynie dla pierwszej osoby, dla kolejnych osób ciąg tekstowy wczytuje się w całości.

Dodaj komentarz

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