Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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; pozycja Nowy 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.

Wartości uprawnień formularza dla konkretnej instancji dokumentu są generowane w momencie utworzenia tej instancji lub przy zmianie statusu i zapisywane w pamięci podręcznej. Podczas otwierania dokumentu w formularzu wpisy są pobierane z cache, a jeśli nie zostaną znalezione (np. cache zostanie wyczyszczony po restarcie API) to wpisy są ponownie generowane na podstawie szablonów uprawnień dla formularza.

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.

  1. Kliknij ikonę pipety acl-painter.png , aby włączyć tryb malarza.
  2. Zaznacz rekord lub kolumnę z uprawnieniami, które chcesz skopiować (klikając nazwę kolumny lub rekordu).
  3. Kliknij ikonę trybu malowania acl-painter-copy.png , aby skopiować wszystkie uprawnienia.
  4. Zaznacz rekord lub kolumnę, do której chcesz skopiować uprawnienia.
  5. Kliknij ikonę zatwierdzenia acl-painter-ok.png .

Uprawnienia zostaną ustawione w docelowym rekordzie/kolumnie i tryb malarza uprawnień zostanie wyłączony.

Typ walidacji uprawnień

Warunki widoczności, możliwości edycji oraz wymagalności dla pól i sekcji formularza można w nAxiom definiować także w oknie Ustawienia dostępności pola/sekcji (panel właściwości pola sekcji > Dostępność > Ustaw). Są one przydatne w przypadku dokumentów, dla których nie używa się uprawnień ACL. Te ustawienia pozwalają definiować warunki widoczności i możliwości edycji za pomocą SQL co powoduje, że mogą być przydatne w przypadku korzystania z ACL.

Jeśli jednak ten sam atrybut kontrolki można ustawić w dwóch miejscach jednocześnie, konieczne jest określenie, które z tych ustawień ma być obowiązujące, albo jaki ma być końcowy efekt, zależnie od ich kombinacji. Służy do tego lista rozwijana Typ walidacji dostępna w oknie Uprawnienia dla formularza. Zawiera ona 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: wynikowa wartość atrybutu jest logiczną sumą wartości określonych uprawnieniami dla formularza i ustawieniami dostępności.
  • Zawężaj uprawnienia dla formularza ustawieniami dostępności: wynikowa wartość atrybutu jest logicznym iloczynem wartości określonych uprawnieniami dla formularza i ustawieniami dostępności.

Zasady wyliczania wartości ilustruje poniższa tabela.

Wyliczanie warunków dla kontrolek i sekcji formularza
Typ walidacji Ustawienia dostępności Uprawnienia dla formularza Wartość wynikowa
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


✅ = ON, ❌ = OFF, ⚪ = ON/OFF

Uwagi

  • Brak zdefiniowanych uprawnień dla formularza oznacza “pełne uprawnienia”. W takim przypadku można również określić sposób wyliczania wynikowych ustawień dla kontrolek i sekcji za pomocą listy Typ walidacji.
  • Należy zwrócić uwagę, że ustawienia sterujące trybem tylko do odczytu są różnie definiowane:
    • uprawnienia dla formularza: Pole edytowalne - włączone oznacza możliwość edycji,
    • ustawienia dostępności: Sekcja/Pole tylko do odczytu (isReadOnly) - włączone oznacza brak możliwości edycji.
  • Uprawnienia do dodawania i usuwania załączników nie zależą od wartości wybranej z listy Typ walidacji.

Przykład

Jeśli dane pole (sekcja) ma być widoczne tylko w razie spełnienia określonego warunku (innego niż status/rola), należy:

  • wyłączyć jego widoczność w uprawnieniach formularza:
    Pole widoczne = ❌
  • zdefiniować zapytanie, które zwróci isVisible = 1, gdy ten warunek zostanie spełniony:
     SELECT
      CAST(
       CASE
        WHEN <<warunek>> THEN 1
        ELSE 0
       END
      AS BIT) AS isVisible,
      CAST(1 AS BIT) AS isReadOnly;
    
  • wybrać typ walidacji Rozszerzaj...

Taki sam efekt da włączenie widoczności pola w uprawnieniach formularza i wybranie typu walidacji Zawężaj....

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.

Schemat tabel systemowych z informacjami o uprawnieniach formularzy
Schemat tabel systemowych z informacjami o uprawnieniach formularzy
[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ść)

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


Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.