AssignCaseToUser()
Opis funkcji
Dział zatytułowany „Opis funkcji”AssignCaseToUser() to funkcja służąca do bezpiecznego przypisywania sprawy do konkretnego użytkownika w sytuacji, gdy sprawa należy obecnie do ustalonej grupy lub użytkownika. Funkcja sprawdza w bazie danych, czy właściciel sprawy figuruje na liście przekazanej w parametrze fromUsers i, jeśli tak, przypisuje sprawę użytkownikowi wskazanemu w parametrze toUser.
Funkcja została zaprojektowana przede wszystkim do zastosowań w regułach wywoływanych z raportów działających jako kolejki zadań, umożliwiając jednoczesny i jednoznaczny przydział spraw do osoby, która jako pierwsza ją pobierze. Zapobiega to konfliktom, jeśli kilku użytkowników jednocześnie spróbuje przypisać sobie tę samą sprawę.
Składnia
Dział zatytułowany „Składnia”AssignCaseToUser(fromUsers, toUser);Parametry
Dział zatytułowany „Parametry”- fromUsers (String) – lista pierwotnych właścicieli sprawy (np. nazwy grup lub użytkowników); elementy oddzielone przecinkiem (‘,’) lub średnikiem (‘;’).
- toUser (String) – nazwa użytkownika docelowego (np. przekazywana przez funkcję CurrentUser()).
Wartość zwracana
Dział zatytułowany „Wartość zwracana”- Funkcja zwraca wartość true (Boolean) – jeśli przypisanie zakończyło się sukcesem.
- W przeciwnym wypadku zwraca false – jeśli sprawa w momencie wywołania nie była już przypisana do podanych użytkowników (np. została już pobrana przez inną osobę/grupę).
Przykłady użycia
Dział zatytułowany „Przykłady użycia”Przykład 1
Dział zatytułowany „Przykład 1”if (AssignCaseToUser("Test group", CurrentUser())) { // Dalsze działania po skutecznym przypisaniu sprawy}Sprawdza, czy bieżąca sprawa jest przypisana do “Test group” i jeśli tak, przypisuje ją do bieżącego użytkownika.
Przykład 2
Dział zatytułowany „Przykład 2”if (AssignCaseToUser(GetUserGroups(CurrentUser()), CurrentUser())) { // Dalsze działania po skutecznym przypisaniu sprawy}Sprawdza, czy bieżąca sprawa jest przypisana do jednej z grup bieżącego użytkownika i, jeśli tak, przypisuje ją do bieżącego użytkownika.
Przykład 3
Dział zatytułowany „Przykład 3”if (AssignCaseToUser("Księgowość", CurrentUser()) == false) { ShowMessage(1, "Sprawa została już przejęta przez: " + [CaseOwner]);}Próbuje przepisać wybraną sprawę z grupy “Księgowość” do bieżącego użytkownika. Jeżeli przypisanie się nie powiedzie (sprawa została już przejęta przez kogoś innego), wyświetli nazwę osoby, która ją przejęła.
Najlepsze praktyki
Dział zatytułowany „Najlepsze praktyki”- Funkcja powinna być wykorzystywana w regule wybranej w definicji raportu jako opcja “Wykonaj regułę na wybranej sprawie”.
- Najlepszym zastosowaniem jest użycie na raporcie pracującym jako kolejka zadań, gdzie widoczne są sprawy przypisane do danej grupy, a członkowie grupy mogą “pobrać” sprawę do obsługi, przypisując ją do siebie.
- Zaleca się, aby w parametrze fromUsers podawać nazwę grupy, dla której prezentowany jest raport, a w parametrze toUser – funkcję CurrentUser().
- Funkcja pomaga zapobiegać sytuacjom, w których kilku użytkowników próbuje jednocześnie przypisać sobie tę samą sprawę.
Dodatkowe uwagi
Dział zatytułowany „Dodatkowe uwagi”- Funkcja sprawdza w bazie danych, czy sprawa nadal jest przypisana do wskazanej w parametrze fromUsers osoby lub grupy.
- Jeśli przypisanie jest możliwe, funkcja zaktualizuje właściciela sprawy i zwróci true.
- W przypadku, gdy sprawa została już przydzielona innej osobie/grupie, funkcja zwraca false oraz odświeża wartość pola [CaseOwner], co pozwala natychmiast wyświetlić informację, kto przejął sprawę.
- Funkcja powinna być zawsze powiązana z działaniem użytkownika, np. kliknięciem na sprawę w kolejce zadań, aby zapewnić jednoznaczny i atomiczny proces przypisania.
- Typowe błędy to: przekazanie pustego, błędnego lub nieistniejącego użytkownika/grupy jako fromUsers, lub niepoprawnego parametru toUser.
Najczęstsze pomyłki
Dział zatytułowany „Najczęstsze pomyłki”- Podanie pustej lub nieprawidłowej listy fromUsers – brak przypisania lub błąd funkcji.
- Użycie pustego lub nieprawidłowego parametru toUser – funkcja nie przypisze sprawy.
Zastosowania
Dział zatytułowany „Zastosowania”- Przydzielanie spraw z kolejki do konkretnego użytkownika (model “kto pierwszy ten lepszy”).
- Zapobieganie konfliktom wynikającym z równoczesnych prób przypisań przez wielu użytkowników.
- Przekierowanie użytkownika na wybraną sprawę tylko, gdy przydzielenie się powiedzie – w razie niepowodzenia wyświetlenie stosownego komunikatu.
Powiązane funkcje
Dział zatytułowany „Powiązane funkcje”- CurrentUser()
- GetUserGroups()
- ShowMessage()
Słowa kluczowe
Dział zatytułowany „Słowa kluczowe”Przypisywanie spraw, właściciel sprawy, kolejka zadań, masowe uruchamianie reguł, raporty, reguły, workflow, CaseOwner
Przykłady, dobre praktyki i specyfika działania opisane powyżej są rekomendowane przez zespół AMODIT dla zapewnienia stabilności i jednoznaczności procesów obsługi spraw przekazanych do grup.
UWAGA! Artykuł wygenerowany z pomocą algorytmów uczenia maszynowego (AI, LLM), a następnie zweryfikowany i zredagowany przez człowieka (bio-I ;-).