Przejdź do głównej zawartości

ShowMessage

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

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

Dział zatytułowany „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”

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, “…”)

Dział zatytułowany „Komunikaty info/sukces/ostrzeżenie ShowMessage(2,3,4, “…”)”

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

  • Przy otwieraniu sprawy

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

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

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ę)

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

ShowMessage(type,message);
  • 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.
  • Funkcja zwraca tekst.
  • Zwraca treść komunikatu wyświetloną użytkownikowi.

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")

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

Dział zatytułowany „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.