Przypisywanie ról w jednostkach organizacyjnych do interesariuszy
Podsumowanie:Akcja przypisywania ról w jednostkach organizacyjnych do interesariuszy służy do:
- dodawania i usuwania ról w jednostkach organizacyjnych do grupy interesariuszy,
- usuwania wszystkich ról w jednostkach organizacyjnych z grupy interesariuszy.
Akcja zmienia skład grupy interesariuszy dla:
- bieżącego dokumentu (tego, w kontekście którego jest wykonywana),
- zbioru dokumentów w ramach wskazanej definicji.
☛ AdminSPA >
Narzędzia
>Akcje
>Przypisz do interesariusza
>Role w jednostkach

Określ następujące właściwości:
SQL
: zapytanie SQL zwracające jeden lub więcej rekordów; zapytanie musi zwrócić sześć kolumn o podanych nazwach i w podanej kolejności (aby zmienić interesariuszy dla określonych dokumentów we wskazanej definicji dokumentu, należy określić w zapytaniu dwie kolumny opcjonalne):
- BusinessDocId (int): kolumna opcjonalna, identyfikator definicji dokumentu.
- RecordId (int): kolumna opcjonalna, identyfikator dokumentu we wskazanej definicji dokumentu.
-
StakeholderId (int): identyfikator grupy interesariuszy z tabeli [core].[Stakeholders]; o ile wartość nie jest pobierana zapytaniem, najlepiej użyć mechanizmu smart numbers, aby umożliwić prawidłową migrację.
Wskazana kategoria interesariuszy musi należeć do definicji dokumentu odpowiadającego bieżącemu dokumentowi lub do definicji wskazanej w kolumnie BusinessDocId, w przeciwnym razie wykonanie akcji nie powiedzie się.
-
Operation (int): typ operacji wykonywanej na grupie interesariuszy; możliwe wartości:
- 0: dodanie roli globalnej do grupy interesariuszy.
- 1: usunięcie roli globlanej z grupy interesariuszy;
- OUId (int): identyfikator jednostki organizacyjnej (można użyć funkcji core.calculateOUId, która oblicza ten identyfikator na podstawie kombinacji podanych parametrów — kodu jednostki odniesienia, identyfikatora użytkownika, poziomu struktury względem jednostki odniesienia).
-
RoleId (int): identyfikator roli biznesowej; wymagane, oprócz sytuacji opisanej poniżej.
Ustawienie parametrów OUId/RoleId = null oraz Operation = 1 spowoduje usunięcie wszystkich ról w jednostkach z grupy interesariuszy dla wskazanego dokumentu lub bieżącego dokumentu.
- W zapytaniu można użyć operatora UNION.
- Kolumny BusinessDocId i RecordId umożliwiają określenie definicji dokumentu oraz zestawu dokumentów należących do tej definicji w celu zbiorczego przypisania ról w jednostkach do grupy interesariuszy dla tej definicji. Jeśli te kolumny nie zostaną określone lub w obu zostanie zwrócona wartość null, przypisanie ról w jednostkach do grupy interesariuszy nastąpi w odniesieniu do bieżącego dokumentu.
Przykłady
Akcja usuwa wszystkie role w jednostkach z grupy interesariuszy Rzeczoznawcy dla bieżącego dokumentu.
SELECT
NULL AS BusinessDocId,
NULL AS RecordId,
{&Uprawnienia.Stakeholders.uprUpr.Rzeczoznawcy} AS StakeholderId,
1 as Operation,
NULL AS OUId,
NULL AS RoleId
Akcja dodaje rolę Referent we wskazanej jednostce do grupy interesariuszy Rzeczoznawcy dla bieżącego dokumentu:
SELECT
NULL AS BusinessDocId,
NULL AS RecordId,
{&Uprawnienia.Stakeholders.uprUpr.Rzeczoznawcy} AS StakeholderId,
0 AS Operation,
10 AS OUId,
{&Uprawnienia.BusinessRoles.Uprawnienia.Referent} AS RoleId
Akcja usuwa wszystkie role w jednostkach organizacyjnych z grupy interesariuszy Rzeczoznawcy dla bieżącego dokumentu oraz dodaje rolę Kierownik w we wskazanej jednostce do grupy interesariuszy Akceptanci dla dokumentów o id > 4000 (zbiór dokumentów w ramach wskazanej definicji dokumentu za pomocą warunku WHERE).
SELECT
NULL AS BusinessDocId,
NULL AS RecordId,
{&Uprawnienia.Stakeholders.uprUpr.Rzeczoznawcy} AS StakeholderId,
1 AS Operation,
NULL AS OUId,
NULL AS RoleId
UNION ALL
SELECT
{@BusinessDocId} AS BusinessDocId,
{@Id} AS RecordId,
{&Uprawnienia.Stakeholders.uprUpr.Akceptanci} AS StakeholderId,
0 AS Operation,
10 AS OUId,
{&Uprawnienia.BusinessRoles.Uprawnienia.Kierownik} AS RoleId
FROM [dbo].[AR_Uprawnienia]
WHERE id >4000