logo-softwarestudio-2020-600

x_mail.aspx

Transakcja pozwala na wysyłanie wiadomości e-mail z poziomu programu. Parametry wiadomości są konfigurowalne: lista odbiorców, szablon treści wiadomości z możliwością odczytania danych (np. dane dokumentu, dla którego wysyłana jest wiadomość).

Konfiguracja

Elementy konfiguracji uruchomienia transakcji:

  • Połączenie z serwerem pocztowym – definiowane w module ADMINISTRACJA – Parametry. Definiujemy adres serwera pocztowego, nazwę użytkownika, hasło użytkownika oraz adres e-mail z którego mają być wysyłane wiadomości.
  • Konto pocztowe – e-mail, z którego ma zostać wysłana wiadomość, zapisywany dla użytkowników programu (moduł ADMINISTRACJA – Użytkownicy). Jest to mail zgodny z konfiguracją w Parametrach.
  • Szablony wiadomości – zapisywane są w skorowidzu EML.

Skorowidz EML

W skorowidzu definiujemy szablony wiadomości e-mail wraz z parametrami.

  • Kod – unikalny kod w ramach skorowidza.
  • Kod1 – wspólny kod dla grupy szablonów. Parametr pozwala na grupowanie szablonów i wyświetlenie ich listy i wybór szablonu przed otworzeniem okna wysyłania wiadomości.
  • Temat – tytuł wiadomości e-mail
  • Szablon treści – definiujemy sugerowaną treść powiadomienia
  • Parametry – zapytanie wykorzystywane w liście rozwijanej COMBO do wyboru adresatów DW.
  • Plik ikony – zapytanie pozwalające na podstawienie adresu e-mail odbiorcy (adresat), np. 

    SELECT TOP(1) EMAIL FROM KNKON WHERE NRIDODN=(SELECT TOP(1) NRIDODN FROM DPMAG WHERE REFNO=@REFNO)

    zapytanie pozwala na odczytanie wartości z pola EMAIL tabeli KNKON dla kontrahenta, którego dokument magazynowy został wybrany (@REFNO).

Przykład

Przykład uruchomienia: role_sys/x_mail.aspx?typdok=REK&kodeml=01&refno= Istnieje również możliwość ( z wykorzystaniem konfiguracji przycisków SUB MENU) zdefiniowania różnych treści wiadomości wysyłanych z jednego rejestru dokumentów.

Transakcja x_mail.aspx to elastyczne rozwiązania pozwalające na tworzenie w oparciu o zdefiniowane szablony (skorowidz EML) szybkich i krótkich powiadomień mailowych.

Transakcja wywoływana jest zwykle jako zakładka lub okno dla danego dokumentu, z poziomu którego użytkownik będzie chciał wysłać powiadomienie.

Dane dotyczące nadawcy odczytywane są z zalogowanego do programu użytkownika, adresat odczytywany jest z dokumentu na którym uruchamiamy transakcję do wysyłania wiadomości e-mail.

Lista adresatów DO WIADOMOŚCI (Dw) wybierana jest z z konfigurowanej list działającej w trybie FLY, zapytanie definiujemy w skorowidzu EML kolumna parametry, jeżeli nie podamy zapytania to program przyjmie zapytanie domyślne:

top(10) mail, ISNULL(NAZWA,NAZWISKO) + ' [' + mail + ']' AS ADRESAT FROM [kncrm] WHERE mail like '%$SearchString%' union select top(10) Email, NAZWA + ' [' + email + ']' FROM [knKAR] WHERE email like '%$SearchString%' union select top(10) mail, SKROCO + ' [' + mail + ']' FROM [knkon] WHERE mail like '%$SearchString%'

W efekcie użytkownik będzie mógł wybrać adresta DW z listy.

Uruchomienie

Transakcje uruchamia się podając jako parametry obowiązkowe:

  • typdok – rodzaj dokumentu lub kartoteki, z poziomu którego będzie wysyłana wiadomość e-mail, pozwala zróżnicować sposób działania w zależności od miejsca uruchomienia.
    • WIZ – rejestr wizyt moduł CRM
  • kodeml – identyfikator szablonu jaki ma zostać wykorzystany do utworzenia wiadomości. Zawartość pola KOD ze skorowidza EML.
  • refno – przekazywany automatycznie parametr z identyfikatorem numeru dokumentu lub kartoteki, dla którego mają być odczytywane dane szczegółowe.

Przed wysłaniem wiadomości e-mail wyświetlany jest formularz na ekranie i użytkownik może zmienić i wybrać adresata wiadomości, tytuł maila, treść wiadomości e-mail

Uwaga! Transkacja x_mail.aspx odczytuje adres mail z tabeli _users. Do poprawnej wysyłki maila należy, skonfigurować adres nadawcy w jeden z dwóch sposobów:

  • w tabeli _users do kolumny MAIL podajemy mail zgodny z konfiguracją w web.config
  • w parametrach wywołania transakcji x_mail.aspx podajemy parametr nadawca=mailprzykładowy@.com – adres maila zgodny z konfiguracja w web.config

Parametry opcjonalne

  • kod1 – pozwala na wyświetlenie listy szablonów do wyboru – przed wyświetleniem właściwego okna wysyłania wiadomości.
  • tab, kol i id – pozwala na wybranie adresu e-mail odbiorcy za pomocą zapytania: SELECT TOP(1) kol FROM tab where id=refno (Stare rozwiązanie zastąpiono definicją zapytania w skorowidzu kolumna IKONA – patrz dalej )
  • parametr kodadres – podając parametr kod adres wskazujący na pole KOD skorowidza EML, pozwala na wybranie adresu e-mail odbiorcy ze skorowidza EML za pomocą zapytania: SELECT TOP(1) OPIS FROM x_skorowidze WHERE PRX = 'EML’ AND KOD = ’kodadres’ AND AKTYWNE = '1′
  • nadawca – podstawia wartość parametru jako adres nadawcy
  • adresat – podstawia wartość parametru jako adres odbiorcy maila.
  • temat – podstawia wartość jako tytuł wiadomości e-mail
  • tresc – podstawia treść wiadomości e-mail
  • runsp – kod pozycji skorowidza RSP – Run Stored Procedure. Po wysłaniu maila zostaje uruchomiona zdefiniowana w skorowidzu procedura składowana.
  • jqs – kod pozycji skorowidza JQS. Umożliwia uruchomienie indywidulanego skryptu dla wiadomości, którego jest zapisywany w skorowidzu JQS.

Odczytywanie adresu e-mail odbiorcy:

  1. Opcja pierwsza. Podajemy jeden parametr:
    • TYPDOK – rodzaj dokumentu z poziomu którego będzie wysyłana wiadomość e-mail, pozwala zróżnicować sposób działania w zależności od miejsca uruchomienia
      • WIZ – rejestr wizyt moduł CRM – odczyt z tabeli dpcrm;
      • REK – rejestr reklamacji – odczyt z tabeli dprek;
      • PRO – rejestr projektów – odczyt z tabeli dnpro;
  2. Opcja druga. Podajemy trzy parametry:
    • TAB – Parametr wskazuje nazwę tabeli z bazy SQL z której będzie odczytana wartość z adresem email na który należy wysłać wiadomość, powiązany parametr jest z parametrem kol.
    • KOL – Parametr powiązany z parametrem tab, definiuje z jakiej kolumny ma być odczytany adres mail do wysłania wiadomości e-mail.
    • ID – Parametr powiązany z parametrem kol, unikalny identyfikator kartoteki/dokumentu w tabeli.

Przykłady ruchomienia

typdok=REK&kodeml=01&refno=

tab=kncrm&kol=mail&id=nridcrm&refno=

Konfiguracja

Tworzony szablon wiadomości e-mail jest w oparciu o zdefiniowany wcześniej przez administratora schemat. Dostęp poprzez moduł: Administrator/ Skorowidze / Systemowe / EML – szablony EMAIL.

Zmienne

Zarówno przy projektowaniu szablonu wiadomości e-mail jak i przy edycji wiadomości przed wysłaniem przez użytkownika można w wiadomości wprowadzać kody oznaczające zmienne, które przed wysłaniem zostają zmienione na wartości wynikające z danego kontekstu w jakim pracuje użytkownik. Zmienne ujęte muszą być w nawiasach kwadratowych i poprzedzone znakiem @.

Lista zmiennych używanych w szablonach treści wiadomości:

  • [@KTO] – login użytkownika.
  • [@IMIENAZWISKO] – imię i nazwisko użytkownika odczytane z tabeli _users.
  • [@DATA] – bieżąca data systemowa.
  • [@MPK] – MPK użytkownika.
  • [@MAGAZYN] – magazyn przypisany do użytkownika.
  • [@ODDZIAL] – symbol oddziału, do którego przypisany jest użytkownik.
  • [@ROLA] – rola programowa użytkownika.

Zmienne dla zdefiniowanego parametru typdok:

  • [@DDOWOD] – data dokumentu wartość odczytana z tabeli
  • [@TERMIN] – data dokumentu wartość odczytana z tabeli
  • [@LOGIN] – nazwa użytkownika wartość odczytana z tabeli
  • [@TYTUL] – tytuł zdarzenia CRM wartość odczytana z tabeli
  • [@SKROCO] – nazwa kontrahenta wartość odczytana z tabeli
  • [@MIEJSCOWOSC] – miejscowość kontrahenta wartość odczytana z tabeli
  • [@ULICA] – ulica kontrahenta wartość odczytana z tabeli
  • [@DZIALANIE] – cel zdarzenia wartość odczytana z tabeli
  • [@KTO] – nazwa użytkownika zalogowanego który uruchamia transakcję

Zmienna [@BR]

Umieszczenie w treści wiadomości zmiennej [@BR] spowoduje wstawienie polecenia przejścia do nowej linii, dzięki czemu treść wiadomości może być ładniej eksponowana.

Przykładowo definiujemy w skorowidzu tekst:

Szanowni Państwo, reklamacja została rozpatrzona, prosimy o kontakt z punktem sprzedaży.  [@BR] [@BR]Dziękujemy

 Zmienna [@FIELD]

W treści wiadomości możemy wstawiać zmienną [@FIELD] za pomocą której możemy uzyskać dowolne dane z bazy. Zmienna wymaga podania parametrów:

  • tab – nazwa tabeli lub widoku SQL z którego mają być pobrane dane
  • kol – nazwa kolumny tabeli
  • id – nazwa kolumny identyfikującej dany rekord, dla tabeli dprek jest to kolumna refno, dla knkon kolumn nridodn itp.
  • con – nazwa connectionstringa zdefiniowanego w web.config. !Parametr opcjonalny! domyślna wartość to softwarestudioConnectionstring.

Parametry rozdzielone muszą być znakiem średnik, natomiast między nazwą parametru a jego wartością należy użyć znaku #.

Przykład

Przykład konfiguracji szablonu w skorowidzu EML

Szanowni Państwo, reklamacja nr [@FIELD:tab#customtable;kol#customkol;id#customid;con#customConnectionstring] została rozpatrzona, prosimy o kontakt z punktem sprzedaży.[@BR][@BR] Wartość naprawy: [@FIELD:tab#dprek;kol#status;id#refno] [@BR][@BR]Aby wyrazić zgodę na naprawę odpłatną proszę kliknąć poniższy link: [@BR][@LINK:www#http://studiosystemroot.demo.softwarestudio.com.pl/firma_vis/public/email_zgoda.aspx?refno=$refno;tekst#Kliknij, aby wyrazić zgodę na naprawę] [@BR] [@BR]dziękujemy[@BR][@BR] LOGIN: [@FIELD:tab#dprek;kol#login;id#refno] [@BR]*** KONIEC *** [@BR]e-mail wysłano z systemu StudioSystem firmy SoftwareStudio Sp. z o.o.

czyli na zaprojektowanym formularzu mamy dwie zmienne:

[@FIELD:tab#dprek;kol#status;id#refno]

odczyta z tabeli dprek wartość z kolumny status, rekord zostanie odszukany na podstawie kolumny refno.

[@FIELD:tab#dprek;kol#login;id#refno]

odczytana zostanie wartość z tabeli dprek, kolumna login, rekord zostanie odszukany na podstawie kolumny refno.

W efekcie po uruchomieniu transakcji na ekranie wyświetli się treść, gdzie treść WYSŁANE DO CENTRALI oraz BPASIERBEK, są informacjami pobranymi z bazy danych, dzięki zmiennej [@FIELD]:

Zmienna [@LINK]

W treści wiadomości możemy umieścić zmienną [@LINK]  z parametrami, aby spowodować utworzenie linku do wskazanej strony www. Całość tworzonego linku dla odbiorcy wiadomości jest kodowana za pomocą Base64.

Przykład zastosowania

Chcemy użytkownikowi wysłać powiadomienie mailem że reklamacja może być wykonana odpłatnie i chcemy w treści wiadomości umieścić link po którego kliknięciu użytkownik uruchomi wskazaną stronę www. Strona ta będzie automatycznie aktywować zgodę na wykonanie reklamacji (zapisze update w dprek i insert w _historia). W naszym przykładzie chcemy aby po kliknięciu została uruchomiona transakcja:

http://studiosystemroot.demo.softwarestudio.com.pl/firma_vis/public/email_zgoda.aspx

Projektujemy szablon wiadomości

Szanowni Państwo, reklamacja została rozpatrzona, prosimy o kontakt z punktem sprzedaży. Aby wyrazić zgodę na naprawę odpłatną proszę kliknąć poniższy link: [@BR][@LINK:www#http://studiosystemroot.demo.softwarestudio.com.pl/firma_vis/public/email_zgoda.aspx?refno=$refno;tekst#Kliknij, aby wyrazić zgodę na naprawę] [@BR] [@BR]dziękujemy

Parametry wymagane zmiennej [@LINK] (parametry rozdzielane są znakiem średnika, wartości od zmiennych znakiem #)

  • www – wskazuje link do transakcji jaka ma być uruchomiona. Zastępuje wszystkie ciągi znaków $refno, numerem referencyjnym przekazanym do transakcji.
  • www2 – wskazuje link do transakcji jaka ma być uruchomiona. Sprawdza czy ciągi znaków kończy się ciągiem $refno, jeśli tak to zastępuje go numerem referencyjnym przekazanym do transakcji, jeśli nie to zachowuje się tak samo jak w przypadki www. Przykładem zastosowanie www2 może być sytuacja, w której w ciągu znaków występuje kilkukrotnie ciąg $refno, a chcemy zamienić tylko ostatni. Obrazuje to poniższy przypadek
    [@LINK:www2#http://komputronik.demo.softwarestudio.com.pl/role_sys/x_run.aspx?run=/rdlc/wydruk_refno.aspx&param=ean|DPREK$typdok|Etykieta_rma$save|pdf$btnclose|1$refno|&tab=dprek&kol=nrzamowienia&id=refno&refno=$refno;tekst#Kliknij, aby pobrać etykietę]
    
  • tekst – treść komunikatu wyświetlanego w wiadomości dla użytkownika, jako zachęta do kliknięcia w link

W efekcie na ekranie użytkownik wysyłający wiadomość e-mail ujrzy treść jaka będzie w wysłanej wiadomości

Faktycznie link prowadzi do transakcji DefaultKomunikat.aspx z parametrem b= i wartością zakodowaną

Uruchomienie indywidulanego skryptu

Parametr jqs. Przykład zastosowania – blokowanie do edycji pól w oknie wiadomości.

W celu uruchomienia indywidulanego skryptu należy:

  • zdefiniować pozycję skorowidza JQS.
  • zdefiniować parametr jqs dla transakcji x_mail.aspx. Jako wartość parametru zapisywany jest kod skorowidza.

Skorowidz JQS

W skorowidzu wymagane są pola:

  • Kod – kod pozycji skorowidza (podawany jako wartość parametru jqs w transakcji x_mail.aspx).
  • Uwagi – parametry dla skryptu. Przykład zapisu: script=../firma_xxx/xxx_mail.js|scriptonload=ThisReady()

Przykładowy skrypt wyłączający z edycji pole TEMAT:

ThisReady() $("#ssTemat").prop('disabled', true);

Uruchomienie procedury składowanej

Parametr runsp. Uruchomienie procedury składowanej wymaga:

  • zdefiniowania pozycji skorowidza RSP
  • zdefiniowania parametru runsp dla transakcji x_mail.aspx.

Skorowidz RSP – pola skorowidza:

  • Kod – wartość przekazywana przy uruchamianiu transakcji, np. x_mail.aspx?runsp=XMAIL.
  • Kod1 – nazwa procedury składowanej. Nazwa procedury nie może mieć więcej niż 20 znaków.
  • Opis – parametry przekazywane do procedury. Poszczególne parametry rozdzielone są znakiem |. Nazwa parametru i jego wartość rozdzielona jest znakiem =. Np. REFNO=@REFNO|TEKST=JOANNA.
  • Uwagi – nazwa connectionstring, np. CustomConnectionString.

Do procedury mogą być przekazywane jako parametry zmienne systemowe i wartości z wiadomości (zapisywane w polu OPIS pozycji skorowidza RSP).

Zmienne systemowe poprzedzone są znakiem @. Przekazywane zmienne:

  • @REFNO – numer referencyjny dokumentu, dla którego wysyłany jest mail.
  • @USERNAME – login użytkownika.
  • @KTO – login użytkownika ujęty w znaki apostrofu.
  • @ROLASYS – rola systemowa użytkownika.
  • @ODDZIAL – symbol oddziału użytkownika.
  • @MAGAZYN – symbol magazynu użytkownika.
  • @MPK – symbol MPK użytkownika.

Przekazywane wartości z wiadomości poprzedzone są znakiem $. Przekazywane wartości:

  • $TRYB –
  • $NADAWCA – wartość pola Nadawca.
  • $ADESAT – wartość pola Adresat.
  • $TEMAT – temat wiadomości.
  • $TREŚĆ – treść wiadomości.
  • $KODEML – kod pozycji skorowidza EML (szablonu mail-i), na podstawie którego została utworzona wiadomość.

Tryb lista wyboru szablonu wiadomości

Uruchamiając transakcję z parametrem kod1 spowodujemy że wyświetlone zostanie okno z listą pozycji szablonów do wyboru. Lista budowana jest dynamicznie na podstawie skorowidza typu EML z przypisanym kodem KOD1 i wartości jaką przekażemy w parametrze.

Przykładowo uruchamiamy transakcję w następujący sposób:

role_sys/x_mail.aspx?kod1=REK&typdok=REK&refno=

W efekcie wyświetlone zostanie okno

lista szablonów

Po wybraniu szablonu wyświetlone zostaje okno wysyłania wiadomości e-mail

szablon

Kod1 ustawiamy w skorowidzu EML w kolumnie, jeżeli ustawimy wiele pozycji w skorowidzu np.

To na ekranie wyświetlona lista zostanie w oknie przewijanym

długa lista wyboru

Zapis historii wysłanych wiadomości

Informacje dotyczące wysłanych wiadomości są zapisywane w tabelach dpuwa i _historia.

Tabela dpuwa  – zapis w polach:

  • TYPDOK – 'EML’.
  • REFNO – numer referencyjny dokumentu.
  • TYTUL – 'Wysłano email’
  • LOGIN – login użytkownika, który wysłał wiadomość.
  • UWAGI – treść maila
  • DDOWOD – data wysłania maila.
  • PRX – 'EML’.
  • ADRESAT – adresat wiadomości.
  • NADAWCA – nadawca wiadomości
  • TEMAT – temat wiadomości.
  • MAGAZYN – kod pozycji skorowidza EML, na podstawie którego została utworzona wiadomość.

Tabela _historia – zapis w polach:

  • PRX – 'EML’
  • KIEDY – czas wysłania maila.
  • LOGIN – login użytkownika.
  • TEMAT – informacja o wysłani maila.
  • REFNO – numer referencyjny dokumentu.

Ustawienie serwera pocztowego

Transakcja potrzebuje informacji za pomocą jakiego serwera pocztowego, konta i hasła ma wysyłać wiadomości e-mail. Zwykle stosuje się dedykowane konto pocztowego przeznaczone do wysyłania wiadomości.. W tym celu należy w pliku web.config ustawić następujące parametry

key=”mailhost” – parametr wskazujący adres serwera pocztowego
key=”mailuser” – parametr przekazuje nazwę konta użytkownika
key=”mailpas” – parametr przekazuje hasło konta użytkownika

Przykładowo:

<add key="mailhost" value="mail.softwarestudio.com.pl" />
<add key="mailuser" value="uzytkownik" />
<add key="mailpas" value="haslouzytkownika" />