ShowMessage

Zastosowanie

Funkcja ShowMessage służy do wyświetlania komunikatów użytkownikowi w systemie AMODIT. Od wersji 250331 dostępne są cztery typy komunikatów z różnymi kolorami i ikonami:

Typ Opis Kolor Zastosowanie
1 Błąd Czerwony Komunikaty o błędach, walidacji
2 Informacja Niebieski Komunikaty informacyjne
3 Sukces Zielony Komunikaty o pomyślnym wykonaniu
4 Ostrzeżenie Żółty Komunikaty ostrzegawcze

image

W starszych wersjach AMODIT jak 241231 i wcześniejszych były tylko dwa typy komunikatów

Typ Opis Kolor Zastosowanie
1 Błąd Czerwony Komunikaty o błędach, walidacji
2 Informacja Czarny Komunikaty informacyjne

Kiedy użytkownik zobaczy komunikat?

ShowMessage użyty w regule ręcznej (przycisk na formularzu)

Wszystkie typy komunikatów działają tak samo:

  • Zawsze się pokażą po kliknięciu przycisku reguły
  • Działają też gdy klikniesz przycisk na kafelku sprawy wyświetlanej na liście „Do wykonania”

ShowMessage użyty w regule automatycznej

Komunikaty błędu ShowMessage(1, „…”)

Pokażą się tylko przy akcjach:

  • Kliknięciu „Zapisz”
  • Kliknięciu „Usuń”
  • Kliknięciu „Zamknij”
  • Kliknięciu „Prześlij dalej”
  • Kliknięciu dowolnego przycisku reguły

NIE pokażą się:

  • Przy otwieraniu sprawy
  • Przy pisaniu w polach

Komunikaty info/sukces/ostrzeżenie ShowMessage(2,3,4, „…”)

Pokażą się przy wszystkim powyżej PLUS:

  • Przy otwieraniu sprawy

ShowMessage użyty w regule okresowej

Żadne komunikaty się nie pokażą – użytkownik ich nie widzi

ShowMessge użyty w regule tabeli

Wszystkie typy komunikatów ShowMessage(1,2,3,4, „…”) zachowują się tak samo:

Pokażą się tylko przy akcjach:

  • Kliknięciu „Zapisz”
  • Kliknięciu „Usuń”
  • Kliknięciu „Zamknij”
  • Kliknięciu „Prześlij dalej”
  • Kliknięciu dowolnego przycisku reguły

NIE pokażą się:

  • Przy otwieraniu sprawy
  • Przy pisaniu w polach

Specjalne zachowanie komunikatów błędu (typ 1)

Komunikaty błędu mają specjalne zachowanie – gdy zostanie wyświetlony:

  • Nie wykonają się działania związane ze zmianą etapu
  • Sprawa nie zostanie zapisana
  • Użytkownik pozostanie na formularzu sprawy (nie wróci na listę)

Kolejność komunikatów

Jeżeli do wyświetenia jest więcej niż jeden komunikat to, bez względu na kolejność pojawiania się ich w kodzie reguły, bedą one wyświetlane w tej kolejności:

  • Komunikat o błędzie (typ 1)
  • Komunikat typu ostrzeżenie (typ 3)
  • Komunikat typu info (typ 2)
  • Komunikat typu sukces (typ 4)

W starszych wersjach AMODIT:

  • Komunikat o błędzie (typ 1)
  • Komunikat typu info (typ 2)

Komunikaty tego samego typu wyświetlane są w jednej grupie. W ramach grupy wystąpią w takiej kolejności w jakiej były wywołane w ramach reguły. W tym przykładzie w regule najpierw był wywołany komunikat „Komunikat typu info 2” a po nim „Komunikat typu info 1” image

Składnia

ShowMessage(type,message);

Argumenty

  • type – (Decimal) typ komunikatu. Przyjmuje wartości:  1 – komunikat o błędzie,  2 – komunikat o ostrzeżeniu lub informacyjny, 3 – komunikat informacyjny, 4 – ostrzeżenie (od wydania 250331);
  • message – (String) treść komunikatu.

Zwracana wartość

  • Funkcja zwraca tekst.
  • Zwraca treść komunikatu wyświetloną użytkownikowi.

Elementy powiązane

Przykłady

Przykład 1

Wyświetlanie wielu komunikatów informacyjnych z poziomu reguły ręcznej dla AMODIT do wersji 241231 włącznie.

Należy pamiętać, że użycie ShowMessage() z typem 2 w regułach automatycznych nie będzie miało żadnego efektu. Komunikat nie wyświetli się.

ShowMessage(2,"To jest komunikat informacyjny nr 1")
ShowMessage(2,"To jest komunikat informacyjny nr 2")

Przykład 2

Wyświetlanie komunikatu o błędzie w regule ręcznej:

ShowMessage(1,"To jest komunikat o błędzie")

Funkcja użyta z typem 1:

  • wyświetli komunikat o podanej treści
  • nie wykona działań związanych ze zmianą etapu zdefiniowanych dla tej reguły,
  • spowoduje, że sprawa nie zostanie zapisana,
  • spowoduje, że użytkownik pozostanie na formularzu sprawy, czyli nie wróci na listę spraw.

Przykład: Walidacja i wysyłanie dokumentu do TrustCenter

Ten przykład pokazuje typowe zastosowanie funkcji ShowMessage() w procesie walidacji i obsługi błędów podczas wysyłania dokumentu do podpisu elektronicznego:

if (IsFormValid() == false)
{
   ShowMessage(1,"Brak danych na formularzu")
}
else
{
   if (ConvertFileToPDF("DOCX","PDF") == false)
   {
      ShowMessage(1,"Nie udało się stworzyć pliku PDF");
   }
   else
   {
      if ( GetUserData(CurrentUser(), "mobile")  == "")
      {
         ShowMessage(1, "W ustawieniach użytkownika nie masz ustawionego numeru telefonu komórkowego, który jest wymagany")
      }
      else
      {
         sec.RequireSMSCodeToOpenDocument="true";
         sec.RequireEmailCodeToOpenDocument="false";
         sec.AllowSimpleSignature="false";
         sec.AllowSMSSignature="true";
         sec.AllowHandwrittenSignature="false";
         sec.AllowHandwrittenSignatureWithSMS="false";
         sec.AllowQualifiedSignature="false";
         sec.AllowToAddNewSigners="true";
         sec.Language = "pl-PL"
         map.LastName = "LastName"
         result=TrustCenterSendToSign("PDF","","Protokół odbioru prac Astrafox",CurrentUser(),"Osoby podpisujące",map,sec);
         if (result == "")
         {
            ShowMessage(3,"Dokument prawidłowo przesłany do AMODIT Trust Center");
                        ShowMessage(3,"Za chwilę każda osoba wskazana jako podpisująca, otrzyma maila z AMODIT Trust Center, z zaproszeniem do podpisania dokumentu.");
         }
         else
         {
            ShowMessage(1,"Błąd przy przesyłaniu dokumentu do Trust Center: "+result)
         }
      }
   }
}

Opis działania:

  1. Walidacja formularza – Sprawdza czy formularz zawiera wymagane dane. W przypadku błędu wyświetla komunikat o poziomie 1 (błąd).
  2. Konwersja pliku – Próbuje przekonwertować dokument z formatu DOCX do PDF. Jeśli operacja się nie powiedzie, pokazuje komunikat błędu.
  3. Sprawdzenie danych użytkownika – Weryfikuje czy użytkownik ma ustawiony numer telefonu komórkowego, który jest wymagany do autoryzacji SMS.
  4. Konfiguracja ustawień bezpieczeństwa – Ustawia parametry dla podpisu elektronicznego (wymaganie kodu SMS, wyłączenie innych metod podpisu).
  5. Wysyłanie do TrustCenter – Próbuje wysłać dokument do systemu podpisów elektronicznych.
  6. Obsługa wyniku – W zależności od rezultatu operacji:
    • Sukces (pusty string): Pokazuje komunikat poziomu 3 (sukces) informujący o poprawnej rejestracji
    • Błąd (niepusty string): Pokazuje komunikat poziomu 1 (błąd) z szczegółami problemu

Ten przykład ilustruje kaskadową walidację – każdy etap musi zakończyć się sukcesem, aby przejść do następnego. Wszystkie komunikaty błędów używają poziomu 1, a komunikat sukcesu poziomu 3, co zapewnia odpowiednie kolorowanie i ikonografię w interfejsie użytkownika.