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 |
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”
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:
- Walidacja formularza – Sprawdza czy formularz zawiera wymagane dane. W przypadku błędu wyświetla komunikat o poziomie 1 (błąd).
- Konwersja pliku – Próbuje przekonwertować dokument z formatu DOCX do PDF. Jeśli operacja się nie powiedzie, pokazuje komunikat błędu.
- Sprawdzenie danych użytkownika – Weryfikuje czy użytkownik ma ustawiony numer telefonu komórkowego, który jest wymagany do autoryzacji SMS.
- Konfiguracja ustawień bezpieczeństwa – Ustawia parametry dla podpisu elektronicznego (wymaganie kodu SMS, wyłączenie innych metod podpisu).
- Wysyłanie do TrustCenter – Próbuje wysłać dokument do systemu podpisów elektronicznych.
- 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.