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ęść:
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 .
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.
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.
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:
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.
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.
Jest dostęna funkcja dbo.ClearwfelemADV – przyjmująca takie same parametry.