Dotyczy wersji 2021.1.x autor: Adrian Baszak
Aktualizacja: 18.06.2026; autor: Lily Adamowicz
Dokumentacja powiązana
Szczegółowy opis funkcjonalności wymienionych w niniejszym artykule oraz ich konfiguracji można znaleźć w następujących sekcjach Pomocy WEBCON:
Podstawowe informacje
Wraz ze wzrostem liczby wdrożonych aplikacji zwiększa się również liczba ról i uprawnień, którymi należy zarządzać. Role te mogą być przypisywane zarówno bezpośrednio do użytkowników, jak i do grup. W praktyce może więc pojawić się potrzeba szybkiego sprawdzenia, jakie uprawnienia zostały skonfigurowane w ramach konkretnej aplikacji, procesu, obiegu lub typu formularza.
W artykule przedstawiono przykładowy obieg umożliwiający weryfikację takich uprawnień. Każdy z opisanych przykładów zawiera widok z perspektywy użytkownika, zapytanie SQL zwracające odpowiednie dane oraz zapytanie SQL wykorzystywane jako źródło danych dla Pól wyboru użytych w konfiguracji.
Na jednym formularzu prezentowane będą:
- podstawowe informacje o aplikacji,
- uprawnienia skonfigurowane w wybranej aplikacji,
- uprawnienia przypisane do wybranego procesu,
- uprawnienia dla wybranego obiegu i typu formularza w ramach wybranego procesu.
Lista aplikacji
Do formularza dodano dwa atrybuty: Pole wyboru oraz Wiersz danych. Atrybut Pole wyboru służy do wskazania aplikacji. Po jej wybraniu w sekcji po prawej stronie formularza, skonfigurowanej jako Wiersz danych, prezentowane są podstawowe informacje na temat aplikacji.
Rys.1. Informacje o wybranej aplikacji
Aby uzyskać taki widok na formularzu, w źródle danych atrybutu Wiersz danych zastosowano następujące zapytanie SQL, które zwraca informacje o aplikacji:
select APP_ID as [Id], APP_Name as [Name], APP_Description as [Description], APP_TSInsert as[Creation date], dbo.ClearWFElem(APP_Supervisor) as [Supervisor] from WFApplications where APP_ID = '{formFieldID}'
W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.
Rys.2. Konfiguracja źródła danych Wiersza danych
Na potrzeby źródła danych Pola wyboru można wykorzystać zapytanie oparte na tej samej tabeli, ale bez warunku where i z ograniczoną liczbą kolumn.
select APP_name as Name, APP_ID as ID, APP_Description as Description from WFApplications
Rys. 3. Konfiguracja źródła danych Pola wyboru
Uprawnienia na poziomie aplikacji
Następnie do formularza dodano atrybut Tabela danych, który wyświetla listę użytkowników oraz grup, którym nadano uprawnienia do wybranej aplikacji.
Rys. 4. Wybór aplikacji i podgląd uprawnień
Do źródła danych atrybutu Tabela danych dodano następujące zapytanie SQL, które zwraca uprawnienia do wybranej aplikacji:
select
CSC_APPID as [Application ID]
,CSC_USERGUID as [Login]
,CSC_UserName as [Display Name]
,APP_Name as [Application]
,lvl.Name as [Privileges]
from WFConfigurationSecurities
join WFApplications on APP_ID = CSC_APPID
join DicConfigurationSecurityLevels as lvl on lvl.TypeID = CSC_LevelID
where APP_ID = '{formFieldID}'
order by 2
W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.
Rys.5. Konfiguracja źródła danych Tabeli danych
Uprawnienia na poziomie procesów, obiegów i typów formularza
Informacje o uprawnieniach do aplikacji można rozszerzyć o uprawnienia nadane w ramach poszczególnych procesów, obiegów oraz typów formularzy. W tym celu do formularza dodano trzy Pola wyboru, które umożliwiają wskazanie procesu, obiegu oraz typu formularza, dla których mają zostać sprawdzone uprawnienia: Process list, Workflow oraz Form type. Dodano również kolejną Tabelę danych, która będzie wyświetlać informacje o tych uprawnieniach. Konfigurację atrybutów opisano w dalszej części artykułu.
Rys.6. Uprawnienia w aplikacji z podziałem na procesy, obiegi i typy formularzy
Jeżeli w Polach wyboru Process list, Workflow lub Form type nie zostanie wskazana żadna wartość, formularz wyświetli wszystkie uprawnienia dostępne dla danego poziomu konfiguracji. Przykładowo, na powyższym zrzucie ekranu wybrano tylko aplikację, dlatego zaprezentowane zostały uprawnienia dla wszystkich procesów w tej aplikacji.
Na poniższym zrzucie ekranu wybrano konkretny proces, dla którego mają zostać sprawdzone uprawnienia. Wyniki w Tabeli danych zostały przefiltrowane na podstawie tego wyboru.
Rys.7. Uprawnienia dla konkretnego procesu z wybranej aplikacji
W ten sam sposób można filtrować wyniki poprzez wybór konkretnego obiegu oraz typu formularza. Na poniższym widoku wyniki zawężono do konkretnego obiegu oraz typu formularza w wybranym procesie.
Rys.8. Uprawnienia dla konkretnego typu formularza w wybranym obiegu
Konfiguracja Pól wyboru
W źródłach danych poszczególnych Pól wyboru zastosowano zapytania SQL zwracające odpowiednie procesy, obiegi oraz typy formularzy w wybranej aplikacji.
- Procesy
Zapytanie SQL:
select
DEF_ID as [ID],
DEF_Name as [Name],
DEF_Description as [Description],
DEF_APPID as [APP_ID]
from WFDefinitions
where
DEF_APPID='{formFieldID}'
W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.
Rys.9. Konfiguracja źródła danych Pola wyboru Process list
- Obiegi
Zapytanie SQL:
select
WF_ID as [ID],
WF_WFDEFID as [DEF_ID],
WF_Name as [Name]
from Workflows
where
WF_WFDEFID = '{formFieldID}'
W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru procesu.
Rys.10. Konfiguracja źródła danych Pola wyboru Workflow
- Typy formularza
Zapytanie SQL:
select
DTYPE_ID as [ID]
,DTYPE_Name as [Name]
from WFDocTypes
join DocTypeAssocciations on ASS_DTYPEID=DTYPE_ID
join WorkFlows on WF_ID = ASS_WFID
join WFDefinitions on DEF_ID = DTYPE_DEFID
where
DEF_APPID = '{formFieldID}'
and (DEF_ID = '{formFieldID}' or '{formFieldID}' = '')
and (WF_ID = '{formFieldID}' or '{formFieldID}' = '')
W miejsca '{formFieldID}' należy wstawić kolejno wartości z Pól wyboru aplikacji, procesu oraz obiegu.
Rys.11. Konfiguracja źródła danych Pola wyboru Form type
Konfiguracja Tabeli danych
Poniżej przedstawiono konfigurację źródła danych Tabeli danych Privileges. Wykorzystuje ona zapytanie SQL, które zwraca uprawnienia dla poszczególnych procesów, obiegów i typów formularzy w wybranej aplikacji:
select
DEF_Name as [Process name]
,SEC_UserName as [UserName]
,SEC_USERGUID as [Userlogin]
,WF_Name as [Workflow]
,DTYPE_Name as [Form type]
,lvl.Name as [Level]
,isnull(COM_Name, '<All>') as [COM_Name]
from DocTypeAssocciations
join WFDocTypes on DTYPE_ID = ASS_DTYPEID
join WorkFlows on WF_ID = ASS_WFID
join WFSecurities on SEC_ASSID = ASS_ID
join WFDefinitions on DEF_ID = DTYPE_DEFID
join DicSecurityLevels as lvl on lvl.TypeID = SEC_LevelID
left join Companies on COM_ID = SEC_COMID
where
DEF_APPID='{Application_formFieldID}'
and (DEF_ID ='{Process_formFieldID }' or '{Process_formFieldID }' = '')
and (WF_ID = '{Workflow_formFieldID }' or '{Workflow_formFieldID }' = '')
and (DTYPE_ID = '{FormType_formFieldID }' or '{FormType_formFieldID }' = '')
order by 1, 2, 3
W miejsca '{formFieldID}' należy wstawić odpowiednio wartości z Pól wyboru aplikacji, procesu, obiegu oraz typu formularza.
Rys.12. Konfiguracja źródła danych zwracającego informacje w Tabeli danych
Podsumowanie
Przedstawiony formularz oraz zapytania SQL można wykorzystać do utworzenia dedykowanej aplikacji wspierającej podgląd i weryfikację uprawnień w WEBCON. Takie rozwiązanie pozwala szybko sprawdzić konfigurację uprawnień w wybranych aplikacjach, procesach, obiegach i typach formularza.
Może być ono szczególnie przydatne dla administratorów, którzy zyskują przejrzysty sposób analizowania uprawnień użytkowników i grup bez konieczności ręcznego przechodzenia przez poszczególne elementy konfiguracji.











