Print

Potwierdzenie wykonania reguły ręcznej – część 2

Wprowadzenie

Możliwość potwierdzenia wykonania reguły ręcznej została opisana szczegółowo w tym artykule: Potwierdzenie wykonania reguły ręcznej. Wraz z wydaniem 240630 rozszerzono działanie funkcji reguł Confirm(), a która to funkcja wykorzystywana jest we wspomnianym mechanizmie potwierdzania. Zakres rozszerzenia obejmuje:

  • możliwość wybrania osoby ze wskazanej grupy np. w celu przekazania do tej osoby sprawy po zatwierdzeniu wykonania reguły;
  • możliwość podania dodatkowego komentarza w momencie zatwierdzania wykonania reguły;
  • możliwość anulowania okna dialogowego zatwierdzania wykonania reguły.

W niniejszym artykule opisujemy powyższe rozszerzenia.

Wybieranie osoby ze wskazanej grupy

Przyjmijmy założenie, że okno dialogowe potwierdzenia wykonania reguły wygląda następująco:

Kod reguły w sekcji „Wykonaj przed regułą”, odpowiedzialny za konfigurację powyższego okna, jest taki:

confirm.Title="Przekazanie do akceptacji";
confirm.Content="Czy chcesz przesłać formularz do akcpetacji? Zostaniesz poproszona/y
 o wskazanie osoby z grupy 'Liderzy projektów'.";
confirm.HideCancelButton=true;
buttonConfirm.Text="Przekaż";
buttonConfirm.Type="Primary";
buttonConfirm.Id="send_to_accept";
buttonConfirm.SelectUserFromGroup="Liderzy projektów";
buttonConfirm.DialogTitle="Wskaż osobę akceptującą";
buttons="";
AddObjectToList(buttons,buttonConfirm);
buttonReject.Text="Nie przekazuj";
buttonReject.Type="Danger";
buttonReject.Id="reject";
buttonReject.AddComment="Required";
buttonReject.DialogTitle="Podaj powód rezygnacji";
AddObjectToList(buttons,buttonReject);
confirm.Buttons=buttons;
Confirm(confirm);

Po kliknięciu przycisku „Przekaż” [3] wyświetla się kolejne okno [4] (patrz: poniższy obrazek) z możliwością w wybrania osoby [5] ze wskazanej w konfiguracji reguły grupy.

Za konfigurację okna dialogowego [4] i listy wyboru [5] odpowiada ten fragment kodu:

buttonConfirm.SelectUserFromGroup="Liderzy projektów";
buttonConfirm.DialogTitle="Wskaż osobę akceptującą";

Login lub identyfikator wybranej osoby będą przechowywane w zmiennych odpowiednio SelectedUser lub SelectedUserId. Zmienne te można wykorzystać w kodzie reguły w sekcji „Po uruchomieniu reguły” np. do przekazania sprawy do wybranej osoby funkcją ForwardCase(). Kod wspomnianej sekcji „Po uruchomieniu reguły” wygląda następująco:

if (VariableExists("ConfirmResult"))
{
  if (ConfirmResult=="send_to_accept")
  {
    if(VariableExists("SelectedUser"))
    {
      ForwardCase(SelectedUser,"Akceptacja");
    }
    else
    {
      ShowMessage(1,"Nie wskazano osoby do akceptacji!");
    }
  }
  if(ConfirmResult=="reject")
  {
    AddComment(UserComment);
    ForwardCase(CurrentUser(),"Odrzucono",false);
    CloseCase();
  }
}
else
{
  ShowMessage(1,"Akcja nie zostanie wykonana!");
}

Wpisywanie dodatkowego komentarza

W oknie dialogowym potwierdzenia wykonania reguły można skonfigurować przyciski w taki sposób, aby była możliwość wprowadzenia przez użytkownika komentarza (wymaganego albo nieobligatoryjnego). W wykorzystywanym w niniejszym artykule przykładzie przycisk „Nie przekazuj” [7] (patrz: poniższy obrazek) został właśnie tak skonfigurowany …

… że po jego kliknięciu otworzy się dodatkowe okno dialogowe [8] (patrz: poniższy obrazek) z możliwością wprowadzenia dodatkowego komentarza [9].

Kod reguły w sekcji „Wykonaj przed regułą”, odpowiedzialny za konfigurację powyższego okna, wygląda następująco:

buttonReject.AddComment="Required";
buttonReject.DialogTitle="Podaj powód rezygnacji";

Po kliknięci przycisku „Zatwierdź” [10] treść komentarza będzie dostępna w zmiennej UserComment. Można ją następnie np. wykorzystać w regule w sekcji „Po uruchomieniu reguły” i dodać wprowadzony komentarz do sprawy funkcją AddComment(), jak w poniższym kodzie:

if(ConfirmResult=="reject")
{
  AddComment(UserComment);
  ForwardCase(CurrentUser(),"Odrzucono",false);
  CloseCase();
}

Anulowanie okna potwierdzenia wykonania reguły

W dotychczasowym przykładzie możliwość anulowania okna dialogowego potwierdzenia wykonania reguły była jawnie wyłączona i przycisk „Anuluj” nie był wyświetlany. Za takie zachowanie się okna dialogowego odpowiada ten fragment kodu:

confirm.HideCancelButton=true;

Jeżeli podczas konfigurowania obiektu confirm dla funkcji Confirm() jawnie nie zostanie podany powyższy kod albo parametrowi HideCancelButton zostanie przypisana wartość false, to przycisk „Anuluj” [11] (patrz: poniższy obrazek) zostanie wyświetlony.

Kliknięcie przycisku „Anuluj” jest tożsame z zamknięciem okna dialogowego przyciskiem [X].

Dodatkowe uwagi

Jeśli w konfiguracji okna potwierdzenia wykonania reguły korzystamy z wyboru użytkownika [12] (patrz: poniższy obrazek) do przekazania sprawy na kolejny etap lub wprowadzania komentarza [13] do sprawy, to nie wolno korzystać ze standardowych ustawień reguły [14] lub [15].

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?