Print

Potwierdzenie wykonania reguły ręcznej

Wprowadzenie

Od wydania 240331 systemu AMODIT istnieje możliwość potwierdzenia albo nie wykonania reguły ręcznej (przycisk akcji na formularzu sprawy). Na poniższym przykładowym obrazku użytkownik kliknął przycisk reguły „Potwierdź” [5]. Wyświetliło się okno [6] z pytaniem o potwierdzenie oraz dwoma przyciskami – „Potwierdzam kwotę!” i „Odrzucam!”. Jeśli użytkownik kliknie przycisk „Potwierdzam kwotę!”, to reguła się wykona. Natomiast gdy kliknie przycisk „Odrzucam!”, reguła nie zostanie wykonana.

Jak to działa od strony użytkownika?

W tej części artykułu przedstawimy krok po kroku, jak działa mechanizm potwierdzania wykonania reguły ręcznej/przycisku. W tym celu wykorzystamy przedstawiony już przykład.

Założenia do przykładu:

  • Na formularzu znajduje się pole [Kwota] do wprowadzenia jakiejś wartości liczbowej.
  • Okienko potwierdzenia wykonania reguły „Potwierdź” wyświetli się, jeśli wprowadzona kwota jest większa niż 1 000. A dokładnie to wyświetli się okno z komunikatem „Czy potwierdzasz kwotę do zapłaty: …?” oraz dwoma przyciskami „Potwierdzam kwotę!” oraz „Odrzucam”.
  • Jeśli wprowadzona kwota jest mniejsza lub równa 1 000, to okno potwierdzenia wykonania reguły się nie wyświetli.
  • Wszelkie komunikaty związane z obsługą powyższych warunków rejestrowane są w polu tekstowym [Pole 1] i/lub w dodatkowym oknie komunikatu.

A jak to działa krok po kroku?

  • [1] Użytkownik wprowadza kwotę o wartości 100 (mniejszą niż 1 000).
  • [2] Klika przycisk „Potwierdź”.

  • [3] Okno potwierdzenia reguły nie wyświetla się, a rejestrowany jest tylko komunikat w polu [Pole 1] o treści „Potwierdzona kwota bez dodatkowej akceptacji: 100”.

  • [4] W kolejnej iteracji użytkownik do pola [Kwota] wprowadza wartość 1 500, czyli większą niż 1 000.

  • [5] Klika ponownie przycisk reguły „Potwierdź”.
  • [6] Wyświetla się okno o tytule „Potwierdź kwotę” wraz z pytaniem: „Czy potwierdzasz kwotę do zapłaty: 1 500?”.
  • [7] Użytkownik wciska jeden z dwóch przycisków „Potwierdzam kwotę!”.

  • [8] W efekcie w polu tekstowym [Pole 1] pojawia się wpis o treści: „Potwierdzona kwota: 1500”.

  • [9] W kolejnej iteracji użytkownik pozostawia kwotę o wartości 1 500 i klika przycisk reguły „Potwierdź”.
  • [10] Okno potwierdzenia reguły wyświetla się, ale użytkownik wciska przycisk „Odrzucam!”.

  • [11] W efekcie wyświetla się dodatkowe okno z komunikatem: „Odrzucono!” …
  • [12] … i jednocześnie ten sam tekst zostaje wpisany w polu [Pole 1] na formularzu.

Powyżej przedstawiony scenariusz ma charakter poglądowy. W bardziej zaawansowanych przypadkach można sobie wyobrazić, że efektem potwierdzenia reguły następuje np. przekazanie sprawy na dalszy etap. Natomiast odrzucenie/brak potwierdzenia skutkuje np. cofnięciem procesu do poprzedniego etapu.

Jak to jest skonfigurowane?

A teraz pokażemy, jak reguła ręczna/przycisk „Potwierdź” została skonfigurowana. Należy zaznaczyć, że mechanizm potwierdzania wykonania reguł dotyczy tylko reguł typu „po naciśnięciu przycisku (ręczna)”. Konfiguruje się go w wybranej regule jako dodatkowy warunek, który jest uruchamiany przed wykonaniem właściwych akcji reguły.

Konfiguracja przebiega następująco:

  • [13] W definicji procesu należy przejść do edytora reguł. Utworzyć nową regułę ręczną lub przejść do edycji jakiejś istniejącej.
  • [14] Wybrać regułę ręczną, w której zostanie dodany warunek potwierdzający jej wykonanie albo nie.

  • [15] Upewnić się, że typ reguły to „po naciśnięciu przycisku (ręczna)”.
  • [16] Kod warunku potwierdzającego wpisuje się w polu „Wykonaj przed regułą”. UWAGA! Nazwa może być trochę myląca, ale chodzi o to, że jest to ten fragment kodu reguły, który uruchomi się po naciśnięciu przycisku na formularzu, a przed wykonaniem właściwych akcji, …
  • [17] … konfigurowanych w polu „Po uruchomieniu reguły” lub wynikających z pozostałych ustawień.

Kod warunku „Wykonaj przed regułą” [16]:

if ([Kwota]>1000)
{
   confirm.Title="Potwierdź kwotę";
   confirm.Content="Czy potwierdzasz kwotę do zapłaty: "+[Kwota]+"?";
   buttonConfirm.Text='Potwierdzam kwotę!';
   buttonConfirm.Type='Success';
   buttonConfirm.Id='accept';
   buttons="";
   AddObjectToList(buttons,buttonConfirm);
   buttonReject.Text='Odrzucam!';
   buttonReject.Type='Danger';
   buttonReject.Id='reject';
   AddObjectToList(buttons,buttonReject);
   confirm.Buttons=buttons;
   Confirm(confirm);
}

Powyższy kod przedstawia ustawienia okna potwierdzenia wykonania reguły wraz z przyciskami. Konfiguracja sprowadza się do ustawienia kilku atrybutów dla obiektów reprezentujących okno potwierdzania – obiekt confirm, oraz przycisków – obiekty buttonConfirm (potwierdzenie) i buttonReject (odrzucenie). A następnie wywołanie w odpowiedniej kolejności funkcji reguł – AddObjectToList() i Confirm(). Atrybuty obiektów:

  • Obiekt confirm:
    • Title – tytuł okna potwierdzania wykonania reguły;
    • Content – treść komunikatu, jaki wyświetli się w oknie. Można odwoływać się do wartość w polach formularza;
    • Buttons – lista obiektów reprezentujących przyciski w oknie potwierdzania. W tym przykładzie lista przycisków kryje się pod zmienną buttons;
  • Obiekty buttonConfirm i buttonReject:
    • Text – etykieta przycisku;
    • Type – typ przycisku – „Success” (zielony przycisk potwierdzenia), „Danger” (czerwony przycisk odrzucenia);
    • Id – identyfikator przycisku. Można będzie go później użyć we właściwym kodzie reguły (patrz poniżej) w celu weryfikacji, który z przycisków w oknie potwierdzenia wykonania reguły został wciśnięty.

Po ustawieniu atrybutów obiektów należy dodać przyciski do listy funkcją AddObjectToList(), a następnie wywołać funkcję Confirm(), która „wygeneruje” okno potwierdzenia wykonania reguły.

Właściwy kod reguły „Po uruchomieniu reguły” [17]:

if (VariableExists("ConfirmResult"))
{
   if (ConfirmResult=="accept")
   {
      [Pole 1]="Potwierdzona kwota: "+[Kwota];
   }
   else
   {
      [Pole 1]="Odrzucono";
      ShowMessage(1,"Odrzucono!");
   }
}
else
{
   [Pole 1]="Potwierdzona kwota bez dodatkowej akceptacji: "+[Kwota];
}

Kod reguły i akcje, jakie mają być wykonane, będą zależały od logiki procesu. Natomiast w celu sprawdzenia tego, który przycisk w oknie potwierdzenia reguły został użyty, należy sprawdzić zawartość zmiennej „systemowej” reguły – ConfirmResult. UWAGA! Przed odwołaniem się do zawartości wspomnianej zmiennej, należy sprawdzić funkcją VariableExists(), czy została ona zadeklarowana i ustawiona. Jeśli tak, to można się do niej odwołać poprzez przyrównanie jej zawartości do identyfikatorów przycisków, np. ConfirmResult==”accept”.

Dodatkowe uwagi

Podczas pisania kodu warunku „Wykonaj przed regułą” należy mieć na uwadze następujące rzeczy:

  • Zmiany w polach formularza wprowadzone w tym warunku nie zostaną zapisane. Innymi słowy, do pól należy odwoływać się tylko do pobrania ich wartości, a nie ich ustawiania.
  • Jeśli w warunku zostanie zadeklarowana zmienna, np. a = 10, to nie będzie ona dostępna w kodzie reguły „Po uruchomieniu reguły”.
  • Nie zaleca się używania funkcji zmieniających etap sprawy, np. ForwardCase() lub ChangeStage(). Przykładowo po użyciu ForwardCase() w kodzie przed wykonaniem podczas wykonywania docelowego kodu pojawi się błąd, że stan sprawy nie zgadza się ze stanem początkowym.
  • Nie można używać funkcji ShowMessage(), gdyż spowoduje to przerwanie działania warunku.

Rozszerzenie funkcjonalności potwierdzenia wykonania reguły ręcznej

Od wydania 240630 powyższa funkcjonalność została rozszerzona o dodatkowe opcje, tj. możliwość wybrania osoby, do której np. zostanie skierowana sprawa, możliwość dodania komentarza w trakcie potwierdzania wykonania reguły lub możliwość anulowania akcji potwierdzenia. Szczegóły znajdują się w tym artykule: Potwierdzenie wykonania reguły ręcznej – część 2.

Czy artykuł był pomocny?
0 na 5 gwiazdek
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
How Can We Improve This Article?