Dotyczy wersji 2020.1.x; autor: Dawid Golonka
Wstęp
Zaprojektowane w systemie WEBCON BPS procesy często wykorzystują w swoich obiegach akcje wysyłki maili. Mogą być to maile dotyczące nowych zadań czekających na użytkownika, czy też wiadomości raportujące określone działania czy zestawienia. Temat konfiguracji wysyłania przez system wiadomości e-mail został już opisany na blogu technicznym, artykuł dostępny jest pod poniższym linkiem:
https://kb.webcon.pl/obsluga-e-maili-oraz-szablony-w-bps/
WEBCON BPS umożliwia ustalenie takiego sposobu wysyłania wiadomości, w którym wychodzące powiadomienia mogą być kolejkowane przez system, a następnie wysyłane zgodnie z przypisanym im priorytetem. Kolejka ta przechowywana jest w bazie danych w tabeli WFMails. Opis tej tabeli będzie tematem artykułu.
Włączanie sposobu wysyłania E-maili z obsługą kolejki
Aby włączyć obsługę kolejkowania wiadomości, należy w konfiguracji akcji „Wyślij konfigurowalny e-mail” przejść do zakładki „Ustawienia” i z rozwijanej listy „Sposób wysyłki” wybrać „Dodaj do kolejki wysyłania”. Opcja ta jest domyślnie ustawiona.
Rys. 1. Ustawianie sposobu wysyłki w konfiguracji maila konfigurowalnego
Budowa tabeli WFMails
Opis wybranych kolumn budujących tabelę:
- MAIL_Status – Informacja o statusie wiadomości
- MAIL_AttemptsNumber – liczba prób wysłania wiadomości
- MAIL_LastAttemptTime – ostatnia próba wysyłania wiadomości
- MAIL_WFDID – ID elementu z którego zainicjowana była akcja
- MAIL_STPID – ID kroku na którym wykonało się zakolejkowanie wiadomości
- MAIL_DEFID – ID procesu w którym wykonała się akcja
- MAIL_Sender – nadawca wiadomości E-mail
- MAIL_Subject – Temat wiadomości
- MAIL_Body – treść wiadomości
- MAIL_Recipients – Odbiorca wiadomości
- MAIL_ErrorDetails – Informacja o błędzie w razie niepowodzenia wysłania wiadomości
Przykładowy odczyt z bazy
Akcja wysłania wiadomości E-maila konfigurowalnego została utworzona na obiegu służącym do rejestracji wniosku urlopowego pracownika, na wychodzącej z kroku „Akceptacja” ścieżce „Zaakceptuj” kierującej do kroku „Wpis do systemu HR”.
Rys. 2. Przykładowy obieg, w którym ustawiono akcję wysyłki maila konfigurowalnego
Poniżej przedstawiony jest rezultat przykładowego zapytania zwracającego dane z tabeli WFMail. Zapytanie zwróciło wyniki dla konkretnego – podanego ID elementu w obiegu.
Rys. 3. Zapytanie do tabeli WFMails dotyczące konkretnego elementu w obiegu
Poniżej zapytanie filtrowane jest po Adresie e-mail odbiorcy:
Rys. 4. Zapytanie do tabeli WFMails dotyczące konkretnego odbiorcy
Przykładowe zapytania dla wszystkich danych zawartych w bazie
Zapytanie zwracające zestawienie ile każdy z odbiorców otrzymał wiadomości e-mail:
Rys. 5. Zestawienie dotyczące ilości maili, jaką otrzymał każdy z odbiorców (dotyczy wszystkich procesów w bazie)
Zapytanie zwracające informacje o powiadomieniach, które nie zostały wysłane:
Rys. 6. Zestawienie przedstawiające informacje dotyczące powiadomień, które nie zostały wysłane z powodu błędu (dotyczy wszystkich procesów w bazie)
Zapytanie zwracające ilość wiadomości wysłanych z poszczególnych procesów:
Rys. 7. Zestawienie prezentujące ilość powiadomień wysłanych z każdego z procesów