Uprawnienia ACL formularza
Podsumowanie:Uprawnienia formularza to „przedłużenie” funkcjonalności szablonów uprawnień na poziom formularza. Pozwalają one definiować dostęp do indywidualnych sekcji i pól formularza i w ten sposób określać wartości, które mają być widoczne/„modyfikowalne” dla określonych użytkowników.
W tym temacie
Uprawnienia dla formularza można definiować tylko w przypadku włączenia obsługi uprawnień na poziomie definicji dokumentu biznesowego; patrz Uprawnienia ACL do dokumentów .
Uprawnienia dotyczą obiektów na formularzu i są przyznawane określonym użytkownikom. Podobnie jak w przypadku szablonów uprawnień dla dokumentów, osobą uprawnioną może być twórca dokumentu, użytkownicy z określoną rolą lub członek grupy interesariuszy. Ponadto uprawnienia formularza określa się dla indywidualnych statusów, w tym także dla nowego dokumentu (jeszcze bez statusu), natomiast nie ma możliwości zdefiniowania zestawu uprawnień dla formularza obejmującego wszystkie statusy.
Uprawnienia formularza są realizowane za pomocą zmiany atrybutów kontrolek na formularzu, dlatego uprawnienie do odczytu określonej wartości jest równoznaczne z ustawieniem widoczności kontrolki, w której ta wartość jest wyświetlana. Analogicznie uprawnienie do modyfikacji wartości odpowiada ustawieniu atrybutu tylko do odczytu dla kontrolki. W uprawnieniach formularza można także określić, że podanie określonej wartości będzie dla danego użytkownika obowiązkowe.
Podobne możliwości dają także ustawienia dostępności dla kontrolek i sekcji formularza. Sposób łączenia ze sobą ustawień dostępności i uprawnień formularza przy użyciu odpowiedniego typu walidacji opisano w dalszej części.
Definiowanie uprawnień
Aby zdefiniować uprawnienia na poziomie formularza, przejdź do edycji formularza i kliknij przycisk Uprawnienia
w prawym górnym rogu okna kreatora.
Ten przycisk jest dostępny tylko wtedy, kiedy w definicji dokumentu biznesowego tego formularza włączono obsługę uprawnień.
Zostanie wymuszony zapis formularza, a następnie wyświetlone okno Uprawnienia dla formularza
. Uprawnienia są wyświetlane dla wybranych sekcji formularza. Domyślnie żadna sekcja nie jest zaznaczona. Aby wyświetlić uprawnienia, należy klikać przyciski z kodem sekcji u góry okna.
Uprawnienia są wyświetlane w formie tabeli, której wiersze są grupowane według osób lub statusów, zależnie od opcji wybranej w grupie Tryb wyświetlania
(wg statusów
albo wg uprawnionych
), a kolumny określają sekcje i pola formularza. Pierwsza kolumna (od lewej) zawiera wykaz szablonów pogrupowanych według tytułu uprawnienia lub według statusu. Druga kolumna zawiera pięć pól wyboru, którymi można zbiorczo sterować stanem poszczególnych uprawnienia dla wszystkich elementów formularza.
Kliknij zielony przycisk Nowy uprawniony
, aby zdefiniować nowy szablon uprawnień.
-
Nazwa statusu
: wybierz status dokumentu, w którym mają obowiązywać uprawnienia; pozycjaNowy dokument
pozwala zdefiniować uprawnienia dla nowego dokumentu, który jeszcze nie został zapisany, w takim przypadku mogą to być wyłącznie uprawnienia dla twórcy dokumentu. -
Uprawnienia dla twórcy dokumentu
: zdefiniowany szablon będzie obowiązywał dla użytkownika, który utworzył dany dokument (jego identyfikator jest zapisany w kolumnie [UserId] w tabeli modelu danych). -
Role globalne
: wybierz jedną lub kilka ról, dla których ma obowiązywać definiowany szablon; w przypadku wybrania kilku ról szablon będzie obowiązywał dla użytkowników, którzy maja przypisaną dowolną z wybranych ról. -
Interesariusz
: zaznacz tę opcję, aby tworzony szablon uprawnień obowiązywał dla członków grupy interesariuszy wybranej z listy obok. -
Zamknij
: zamyka okno dialogowe bez zapisywania zmian. -
Zapisz
: zapisuje zmiany i zamyka okno dialogowe.
Po zdefiniowaniu szablonu zaznaczaj/anuluj zaznaczenie pól wyboru w kolumnach odpowiadających sekcjom i polom formularza. W nagłówku z nazwą danego elementu formularza znajdują się pola wyboru, którymi można ustawiać odpowiednie uprawnienia zbiorczo dla wszystkich uprawnionych.
Sekcja toolbar jest reprezentowana jako dwie podsekcje przycisków akcji.
Możesz ustawić następujące uprawnienia:
-
Pole widoczne
: decyduje o tym, czy sekcja/pole będzie wyświetlane. -
Pole edytowalne
: decyduje o tym, czy możliwa będzie edycja danych w sekcji/polu. -
Pole wymagane
: decyduje o tym, czy wpisanie wartości w polu będzie wymagane. -
Możliwość dodawania
: występuje w sekcji załączników i dla listy wyboru interesariuszy; decyduje o tym, czy użytkownik może dodawać załączniki i/lub interesariuszy. -
Możliwość usuwania
: występuje w sekcji załączników i dla listy wyboru interesariuszy; decyduje o tym, czy użytkownik może usuwać załączniki i/lub interesariuszy.
Zmiany ustawień mogą być zapisywane automatycznie po kliknięciu dowolnego przycisku sekcji, o ile przełącznik Autozapis po zmianie sekcji
nad tabelą z prawej strony jest włączony (ustawienie domyślne). Niezapisane zmiany ustawień w poszczególnych sekcjach są sygnalizowane przez gwiazdkę widoczną w przycisku sekcji. Próba zamknięcia okna dialogowego z niezapisanymi zmianami spowoduje wyświetlenie ostrzeżenia. Jeśli opcja autozapisu jest wyłączona, zmiany są zapisywane dopiero po kliknięciu przycisku Zapisz
lub Zapisz i zamknij
.
Informacje o uprawnieniach dla formularza są zapisywane indywidualnie dla każdego dokumentu i statusu, dlatego podobnie jak w przypadku uprawnień określanych na poziomie dokumentu biznesowego, zmiany uprawnień formularza obowiązują tylko dla dokumentów, które zostaną utworzone po wprowadzeniu zmiany.
Malarz uprawnień
Aby ułatwić ustawianie uprawnień, można skorzystać z funkcjonalności „malarza uprawnień”, która pozwala powielić uprawnienia jednego elementu formularza na inny lub jednego uprawnionego na innego.
- Kliknij ikonę pipety , aby włączyć tryb malarza.
- Zaznacz rekord lub kolumnę z uprawnieniami, które chcesz skopiować (klikając nazwę kolumny lub rekordu).
- Kliknij ikonę trybu malowania , aby skopiować wszystkie uprawnienia.
- Zaznacz rekord lub kolumnę, do której chcesz skopiować uprawnienia.
- Kliknij ikonę zatwierdzenia .
Uprawnienia zostaną ustawione w docelowym rekordzie/kolumnie i tryb malarza uprawnień zostanie wyłączony.
Typ walidacji uprawnień
Dla pól i sekcji formularza można definiować właściwości określające warunki i sposób wyświetlania, a także wprowadzania danych w oknie Ustawienia dostępności pola/sekcji
(panel właściwości pola sekcji > Dostępność
> Ustaw
). Aby nie kolidowały one z uprawnieniami dla formularza, należy wybrać odpowiedni tryb sprawdzania tych ustawień. Służy do tego lista rozwijana Typ walidacji
. Na tej liście znajdują się następujące pozycje:
-
Wg ustawień dostępności pól i sekcji
: obowiązują tylko ustawienia dostępności, uprawnienia dla formularza są ignorowane. -
Wg uprawnień dla formularza
: obowiązują tylko uprawnienia dla formularza, ustawienia dostępności są ignorowane. -
Rozszerzaj uprawnienia dla formularza ustawieniami dostępności
: atrybuty wynikowe są logiczną sumą atrybutów określonych uprawnieniami dla formularza i ustawieniami dostępności. -
Zawężaj uprawnienia dla formularza ustawieniami dostępności
: atrybuty wynikowe są logicznym iloczynem atrybutów określonych uprawnieniami dla formularza i ustawieniami dostępności.
Zasady konfiguracji uprawnień ACL za pomocą ustawień z tej listy wyboru ilustruje poniższa tabela.
Mechanizm walidacji uprawnień dla formularza względem ustawień dostępności pól i sekcji | |||||
---|---|---|---|---|---|
Stan parametru | Wybrany typ walidacji | ||||
Ustawienia dostępności | Uprawnienia formularza | Wg ustawień dostępności pól i sekcji | Wg uprawnień dla formularza | Rozszerzaj uprawnienia dla formularza ustawieniami dostępności | Zawężaj uprawnienia dla formularza ustawieniami dostępności |
OFF | gdy pusta lista uprawnionych*: Widoczność: ON, Edytowalność: ON, Wymagalność: zależy od kontrolki
|
OFF | gdy pusta lista uprawnionych*: Widoczność: ON, Edytowalność: ON, Wymagalność: zależy od kontrolki
|
zależy od kombinacji parametrów
|
|
ON | ON | ||||
OFF | OFF | OFF | OFF | OFF | OFF |
ON | OFF | ON | OFF | ON (rozszerzenie) | OFF (brak zmian) |
OFF | ON | OFF | ON | ON (brak zmian) | OFF (zawężenie) |
ON | ON | ON | ON | ON | ON |
* domyślne ustawienia systemowe
Rozszerzanie — proces przyznawania uprawnień pozwalających na wprowadzanie zmian.
Zawężanie — proces odbierania uprawnień pozwalających na wprowadzanie zmian.
Rozszerzanie i zawężanie uprawnień występuje gdy stan parametru (pola lub sekcji) w ustawieniach dostępności pól i sekcji jest różny od stanu parametru w uprawnieniach dla formularza oraz został wybrany odpowiedni typ walidacji zgodnie z tabelą powyżej.
Zmiana typu walidacji zostanie zastosowana do istniejących dokumentów.
Baza danych
Informacje o uprawnieniach formularza są zapisywane w kilku tabelach systemowych, które przedstawiono na ilustracji. Poniżej zamieszczono krótki opis tych tabel.

- [core].[ACLFormTemplateEntries]
- Ogólne informacje o zdefiniowanych zestawach uprawnień formularzy
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
BusinessDocumentId | int | Identyfikator dokumentu biznesowego | |
FillRule | int | Identyfikator uprawnionego, patrz przypis poniżej | |
Description | nvarchar(MAX) | Opis zestawu uprawnień, kolumna nieużywana w przypadku uprawnień formularzy | |
StatusId | int | Identyfikator statusu, dla którego zdefiniowano zestaw uprawnień | |
OUInstanceId | int | (obecnie nieobsługiwane) Identyfikator jednostki organizacyjnej, w której obowiązuje zestaw uprawnień | |
StakeholderId | int | Identyfikator grupy interesariuszy ([core].[Stakeholders]), dla której zdefiniowano zestaw uprawnień | |
RowGuid | uniqueidentifier | Unikatowy identyfikator zestawu uprawnień |
Kolumna [FillRule] może zawierać następujące wartości:
- 0: (na razie nieobsługiwane)
- 1: twórca dokumentu
- 2: właściciel dokumentu (obecnie nieobsługiwane)
- 3: przełożony twórcy (obecnie nieobsługiwane)
- 4: przełożony właściciela (obecnie nieobsługiwane)
- 5: członek grupy interesariuszy
- 6: użytkownicy z wskazaną rolą
- 7: użytkownicy z wskazaną rolą z wskazanej jednostki organizacyjnej (obecnie nieobsługiwane)
- 8: użytkownicy z wskazaną rolą z wskazanej jednostki organizacyjnej i jej jednostkę podrzędnych (obecnie nieobsługiwane)
- [core].[ACLFormTemplateEntryRoles]
- Informacje o rolach powiązanych z poszczególnymi zestawami uprawnień formularzy
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
ACLFormTemplateEntryId | int | Identyfikator zestawu uprawnień (kolumna [Id] z tabeli [core].[ACLFormTemplateEntries]) | |
RoleId | int | Identyfikator roli, dla której obowiązuje schemat uprawnień |
- [core].[ACLFormTemplateEntrySections]
- Szczegółowe uprawnienia dla sekcji formularza
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
ACLFormTemplateEntryId | int | Identyfikator zestawu uprawnień (kolumna [Id] z tabeli [core].[ACLFormTemplateEntries]) | |
SectionId | int | Identyfikator sekcji formularza, której dotyczą uprawnienia | |
RUM | nvarchar(MAX) | Symbol przyznanych uprawnień (R - read/odczyt, U - update/modyfikacja, M - mandatory/wymagalność) |
- [core].[ACLFormTemplateEntryFields]
- Szczegółowe uprawnienia dla pól formularza
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
ACLFormTemplateEntryId | int | Identyfikator zestawu uprawnień (kolumna [Id] z tabeli [core].[ACLFormTemplateEntries]) | |
FieldId | int | Identyfikator pola na formularzu, którego dotyczą uprawnienia | |
RUM | nvarchar(MAX) | Symbol przyznanych uprawnień (R - read/odczyt, U - update/modyfikacja, M - mandatory/wymagalność) |
- [core].[ACLFormInstanceEntries]
- Szczegółowe wpisy uprawnień dla poszczególnych dokumentów; na schemat uprawnień dla jednego dokumentu składa się zestaw rekordów po jednym dla każdego pola i sekcji formularza
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
ACLId | int | Identyfikator dokumentu (kolumna o tej samej nazwie z odpowiedniej tabeli modelu danych) | |
CanRead | bit | Uprawnienie do odczytu | |
CanUpdate | bit | Uprawnienie do aktualizacji | |
IsMandatory | bit | Ustawienie wymagalności | |
UserProfileId | uniqueidentifier | Identyfikator użytkownika — w przypadku schematu uprawnień dla twórcy dokumentu | |
StatusId | int | Identyfikator statusu, dla którego obowiązuje zestaw uprawnień | |
FormSectionId | int | Identyfikator sekcji formularza, której dotyczą uprawnienia | |
FormFieldId | int | Identyfikator pola na formularzu, którego dotyczą uprawnienia | |
OUInstanceId | int | Identyfikator jednostki organizacyjnej, w której obowiązuje zestaw uprawnień (obecnie nieobsługiwane) | |
OUSubinstances | bit | Flaga wskazująca, czy uprawnienia mają obowiązywać w jednostkach podrzędnych danej jednostki organizacyjnej; wartość domyślna 0 (obecnie nieobsługiwane) | |
StakeholderId | int | Identyfikator grupy interesariuszy ([core].[Stakeholders]), dla której obowiązuje zestaw uprawnień |
- [core].[ACLFormInstanceEntryRoles]
- Informacje o rolach powiązanych z indywidualnym wpisem uprawnień dla konkretnego dokumentu
Nazwa kolumny | Typ danych | Zezwól NULL | Opis |
---|---|---|---|
Id | int | Kolumna klucza głównego, identyfikator rekordu w tabeli | |
ACLFormInstanceEntryId | int | Identyfikator zestawu uprawnień (kolumna [Id] z tabeli [core].[ACLFormTemplateEntries]) | |
RoleId | int | Identyfikator roli, dla której obowiązuje dany wpis uprawnień |
Schematy uprawnień formularza są przypisywane do definicji dokumentu; jeśli z daną definicją będzie używanych kilka formularzy, będą one korzystać z tego samego schematu uprawnień.
Powiązane tematy: