Automatické rozesílání e-mailů

Obsah

 

Obrázky v dokumentu neslouží jako závazný příklad nastavení a mohou být kdykoli bez ohlášení revidovány.

Úvod

Doplněk Automatické rozesílání e-mailů umožňuje ručně nebo automaticky odeslat doklady e-mailem podle nastavených parametrů. Pro každou účetní jednotku (firmu) je možné vytvořit více druhů odeslání. Zároveň lze nastavit, aby se do přílohy e-mailu vložil tiskový formulář nebo zobrazení ve formátu PDF, ISDOC, csv nebo txt.

Nastavení parametrů v dialogu Automatické rozesílání e-mailů

Karta Nastavení

Dialog Automatické rozesílání e-mailů na kartě Nastavení

Obrázek 1: Dialog Automatické rozesílání e-mailů na kartě Nastavení.

 

Tabulka 1, obr. 1: Popis parametrů na kartě Nastavení v dialogu Automatické rozesílání e-mailů.

POLE (FUNKCE) POPIS
Profil nastavení Při prvotním otevření doplňku je nabídka pole prázdná. Jakmile uložíte nastavení parametrů všech karet, zobrazí se profil nastavení pod uživatelským názvem, který příště můžete vybrat z nabídky ComboBox - Nabídka pole. Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů. Klepnutím na Odstranit profil smažete vybrané nastavení.
Tiskový formulář Z nabídky ComboBox - Nabídka vyberete tiskový formulář, který se vloží do přílohy e-mailu (je potřeba mít spuštěné Vario v agendě, ve které se tiskový formulář nachází).
Certifikát pro podpis V seznamu ComboBox - Nabídka se nabízí instalované certifikáty – pole použijete, pokud budete chtít posílat digitálně podepsané soubory PDF.
Složka souborů Klepnutím na tlačítko  vyberete složku, do které se uloží vyexportované PDF soubory.
Další přílohy Klepnutím na Nová příloha lze přidat do seznamu přílohy, které se budou automaticky připojovat ke každému e-mailu (do pole zkopírujte/zapište cestu k příloze).
Formát příloh Vyberte CheckBox - Zatržítko typ souboru PDF nebo ISDOC nebo Vlastní.
Seskupovat za e-mail Při zatržení CheckBox - Zatržítko této volby se doklady se stejným e-mailem vloží do jednoho e-mailu. (Pozor: ověřte si, zda nemají různé firmy/kontakty stejný kontaktní e-mail.)
Neodeslat e-maily bez příloh Při zatržení CheckBox - Zatržítko této volby se maily bez příloh neodešlou.
 Uložit nastavení 

Uloží nastavení parametrů všech karet pod uživatelským názvem, který příště můžete vybrat v seznamu ComboBox - Nabídka pole Profil nastavení. Klepnutím na Odstranit profil smažete vybrané nastavení. Tlačítko je dostupné na všech kartách dialogu.

 Odeslat  Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů, ze kterých e-maily automaticky rozešlete. Tlačítko je dostupné na všech kartách dialogu.
 Storno  Parametry na kartě Nastavení nebudou uloženy do profilu. Tlačítko je dostupné na všech kartách dialogu.

Karta E-mail

Dialog Automatické rozesílání e-mailů na kartě E-mail

Obrázek 2: Dialog Automatické rozesílání e-mailů na kartě E-mail.

 

Tabulka 2, obr. 2: Popis parametrů na kartě E-mail v dialogu Automatické rozesílání e-mailů.

POLE (FUNKCE) POPIS
Profil nastavení Při prvotním otevření doplňku je nabídka pole prázdná. Jakmile uložíte nastavení parametrů všech karet, zobrazí se profil nastavení pod uživatelským názvem, který příště můžete vybrat z nabídky ComboBox - Nabídka pole. Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů. Klepnutím na Odstranit profil smažete vybrané nastavení.
Předmět

Do pole zapište statický text nebo můžete použít různé tagy. Příklady tagů se nabízí přes pravé tlačítko myši v daném poli.

  • Příklad tagů: např. <% [Doklad] %> , <% [Nase_firma] %>, <% [Cislo_dokladu] %> (pozor, v dotazu může být pole Cislo_dokladu změněno na název Primarni_klic)
Body (Text e-mailu) Do pole zapište statický text nebo využijte různé tagy (viz příklady v poli Předmět, příp. nápověda Vytváření kritérií, Vytváření kritérií pro pokročilé a Šablony e-mailů).
 Uložit nastavení  Uloží nastavení parametrů všech karet pod uživatelským názvem, který příště můžete vybrat v seznamu ComboBox - Nabídka pole Profil nastavení. Klepnutím na Odstranit profil smažete vybrané nastavení. Tlačítko je dostupné na všech kartách dialogu.
 Odeslat  Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů, ze kterých e-maily automaticky rozešlete. Tlačítko je dostupné na všech kartách dialogu.
 Storno  Parametry na kartě Nastavení nebudou uloženy do profilu. Tlačítko je dostupné na všech kartách dialogu.

Karta SMTP

Dialog Automatické rozesílání e-mailů na kartě SMTP

Obrázek 3: Dialog Automatické rozesílání e-mailů na kartě SMTP.

 

Tabulka 3, obr. 3: Popis parametrů na kartě SMTP v dialogu Automatické rozesílání e-mailů.

POLE (FUNKCE) POPIS
Profil nastavení Při prvotním otevření doplňku je nabídka pole prázdná. Jakmile uložíte nastavení parametrů všech karet, zobrazí se profil nastavení pod uživatelským názvem, který příště můžete vybrat z nabídky ComboBox - Nabídka pole. Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů. Klepnutím na Odstranit profil smažete vybrané nastavení.
E-mail od E-mailová adresa odesílatele. Příjemci se tato adresa zobrazí v přijaté poště.
Server

SMTP je server na odesílanou poštu. Pokud se nastaví nekorektně, pošta neodchází a zůstává na lokálním počítači.

Adresu smtp serveru získáte:

  • u správce firemní (podnikové) sítě
  • u poskytovatele vaší e-mailové schránky
  • u poskytovatele vašeho internetového připojení
Port Číslo komunikačního portu vám sdělí administrátor vaší firemní (podnikové) sítě.
Login Poštovní server vyžaduje SMTP autorizaci, resp. ověření uživatele před odesláním pošty. Zadejte uživatelské jméno. Jestliže si těmito údaji nejste jisti, kontaktujte svého administrátora.
Heslo Jestliže při exportu certifikátu do souboru (většinou s příponou *.pfx) je zadáno heslo, je třeba toto heslo vyplnit.
Kódování Možnost kódování zprávy v UTF-8. Ponechte „Výchozí”, pokud vše funguje.
Zabezpečení připojení k serveru Vyberte zabezpečenou komunikaci. Služba TLS a SSL slouží k šifrováni spojení přes protokol HTTP. Na výběr jsou tři možnosti ComboBox - Nabídka SSL, TLS a Bez zabezpečení. (Obvykle se používají porty 587 – TLS, 443 – SSL, 25 – Bez zabezpečení. Není to ale pravidlem.)
E-mail správce E-mail oprávněného správce.
Testovací režim Zatržením CheckBox - Zatržítko doplněk otestuje správnost nastavení pro odesílání mailu. Pokud test skončí chybou (nepodaří se připojit k serveru a e-mail odeslat), kontaktujte administrátora sítě.
 Uložit nastavení  Uloží nastavení parametrů všech karet pod uživatelským názvem, který příště můžete vybrat v seznamu ComboBox - Nabídka pole Profil nastavení. Klepnutím na Odstranit profil smažete vybrané nastavení. Tlačítko je dostupné na všech kartách dialogu.
 Odeslat  Pro každou účetní jednotku (datovou firmu) můžete nastavit více profilů, ze kterých e-maily automaticky rozešlete. Tlačítko je dostupné na všech kartách dialogu.
 Storno  Parametry na kartě Nastavení nebudou uloženy do profilu. Tlačítko je dostupné na všech kartách dialogu.

Karta Zdroj dat

Dialog Automatické rozesílání e-mailů na kartě Zdroj dat

Obrázek 4: Dialog Automatické rozesílání e-mailů na kartě Zdroj dat.

 

Do pole karty Zdroj dat (obr. 4, tab. 4, 5) zapíšete sql dotaz, který vybere doklady k odeslání e-mailem.

  • Nabídka pole Profil nastavení, funkce Odstranit profil a tlačítek viz předchozí popis (tab. 1., 2., 3.).

 

Tabulka 4, obr. 4: Povinná pole (ta, která musí dotaz „vracet”)

Povinná pole POPIS
Primarni_klic Většinou se jedná o číslo dokladu.
E_Mail E-mailová adresa, na kterou se má e-mail/doklad(y) odeslat.
Agenda Agenda, ve které je registrován odesílaný tiskový formulář a zároveň agenda, ze které je odesílaný záznam.

 

Tabulka 5, obr. 4: Nepovinná pole (mají význam při odeslání e-mailu)

NEPovinná pole POPIS
e_mail_nazev_souboru Pojmenování pdf souboru (jinak je název vytvářen stejně jako při standardním exportu z Varia).
e_mail_kopie Pošle se v e-mailu jako kopie.
e_mail_reply_to Pošle se v e-mailu jako „odpovědět komu”.
+ všechna pole, která „vrací” dotaz Pokud pole uvedete do <% [NazevpoleZDotazu] %>  lze do předmětu a těla zprávy vkládat například název firmy, datum, apod.

 

Do pole karty Zdroj dat (obr. 4) můžete zapsat i sql dotaz, který „vrací” konstanty, například e_mail_kopie as ‘info@firma.cz‘.

Příklad

Odeslání všech vydaných faktur zadaných do roku 2021, které doposud nebyly odeslány.

  • Select číslo_dokladu as Primarni_klic, e_mail, ‚Vydané doklady‘ as Agenda
  • From doklady
  • Where Not Kategorie like ‘*Email odeslán;*‘ and rok = 2021 and typ_dokladu= ‘FV‘

Po odeslání e-mailu se do kategorie dokladu (záznamu) zapíše text: „E-mail odeslán” a do deníku se zapíše info o odeslaném e-mailu včetně názvu profilu.

Konec příkladu

Instalace

  • Poklepejte na soubor Automaticke_rozesilani_emailu.vario a po dokončení instalace vypněte/zapněte Vario.

Spuštění doplňku

  1. Ručně – ribbon Domů/Doplňky/Automatické rozesílání e-mailů/tlačítko  Odeslat .
  2. Naplánovanou úlohou

2a) Vytvoření bat souboru

2b) Naplánování úlohy

Obsah bat souboru:

I. Naplánovaná úloha je na:

i) serveru

"C:\Program Files (x86)\Microsoft Office\OFFICE14\MSACCESS.EXE" "C:\Program Files\Vario\Doplnky\Automaticke_rozesilani_emailu\Automaticke_rozesilani_emailu.mda" /wrkgrp "C:\Program files\Vario\Data\Vario.mdw" /User Lenka Trojanová /Pwd 123 /Cmd /Pwd 123 /Mode Silent /Automat True /Firma 4999 /Profil Odeslání VF

ii) terminal serveru

#Set RootDrive=V:

#Net Use %RootDrive% /D >NUL

#Subst %RootDrive% /D >NUL

#Subst %RootDrive% %USERPROFILE%

 

Set RootDrive=V:

Set Cesta="C:\Users\"

Set Nazev_odesilace=Faktura

Net Use %RootDrive% /D >NUL

 

Subst %RootDrive% /D >NUL

Subst %RootDrive% %Cesta%%UserName%

II. Úprava bat souboru:

  • "C:\Program Files (x86)\Microsoft Office\OFFICE14\MSACCESS.EXE"
    • cesta na MS Access
  • "C:\Program Files\Vario\Doplnky\Automaticke_rozesilani_emailu\Automaticke_rozesilani_emailu.mda"
    • cesta na doplněk u uživatele, pod kterým se bude doplněk spouštět
  • "C:\Program files\Vario\Data\Vario.mdw"
    • cesta na data na soubor vario.mdw
  • /User Lenka Trojanová /Pwd 123 /Cmd /Pwd 123
    • Uživatel a heslo
  • /Firma 4999
    • číslo dat firmy
  • /Profil Odeslání VF
    • název profilu v doplňku

Informace, které firma zajistí před instalací řešení

  • Kvůli odesílání e-mailů je třeba znát jméno „smtp serveru” a „port”.
  • Pokud server používá ověření uživatele, tak ještě „uživatele” a „heslo”.
  • Informaci, zda se používá zabezpečené připojení k serveru (SSL).

Export dokladu ve formátu csv

  • Do tiskového formuláře je potřeba vložit funkce:

Function ExecutePodminkaProEmail(ByVal Podminka As String, ByVal Soubor As String) As String
    On Error GoTo Chyba
    Dim R As Recordset
    Dim SQL As String
    Dim SouborCSW As String
    Dim CisloDokladu As String
    Dim sChyba As String
   
    SouborCSW = DejCastCesty(Soubor, avCastCestyCesta) & DejCastCesty(Soubor, avCastCestySouborBezPripony) & ".csv"
    If SouborExistuje(SouborCSW) Then KillExtended SouborCSW
   
    CisloDokladu = GetToken(Podminka, 2, "=")
    If Left(CisloDokladu, 1) = "'" Then CisloDokladu = Mid(CisloDokladu, 2)
    If Right(CisloDokladu, 1) = "'" Then CisloDokladu = Left(CisloDokladu, Len(CisloDokladu) - 1)
   
    SQL = "PARAMETERS parCisloDokladu Text;"
    SQL = SQL & "SELECT Polozky_dokladu.produkt, položky_dokladu.cislo, položky_dokladu.mnozstvi,"
    SQL = SQL & " FROM Polozky_dokladu"
    SQL = SQL & " WHERE Polozky_dokladu.Cislo_dokladu = [parCisloDokladu] And (Polozky_dokladu.Stav Is Null Or Polozky_dokladu.Stav<>'Interní položka') AND (Polozky_dokladu.Zdanitelne_plneni Is Null OR Polozky_dokladu.Zdanitelne_plneni <> 'Přirážka'))"

   
    Set R = Vario.Databaze.AdHocDotazDB(CodeDb, SQL, CisloDokladu).DejRecordset(KeCteni)
    Vario.Pomucky.SaveToCSV R, SouborCSW, "utf-8", ";", vbCrLf
    R.Close
   
    ExecutePodminkaProEmail = SouborCSW
    'Možno předat i více souborů najednou oddělené středníkem

GoTo Konec
Chyba:
    sChyba = StringFormat(" Pro TF 'Dodací list Dobrovský' s podmínkou '{0}' a souborem '{1}'.", Podminka, Soubor)
    Vario.Chyby.GenerujVyjimku Err.Number, Err.Description & sChyba, TypeName(Me) & "::ExecutePodminkaProEmail"
Konec:
End Function

 

  • Červeným písmem je označen text, který je potřeba upravit podle toho, co se má exportovat.

Export dokladu ve formátu txt

  • Do tiskového formuláře je potřeba vložit funkce:

Function ExecutePodminkaProEmail(ByVal Podminka As String, ByVal Soubor As String) As String
    On Error GoTo Chyba
    Dim R As Recordset
    Dim SQL As String
    Dim SouborTXT As String
    Dim CisloDokladu As String
    Dim sChyba As String
    Dim lExportovano As Boolean
    Dim lRadek As String
   
    SouborTXT = DejCastCesty(Soubor, avCastCestyCesta) & DejCastCesty(Soubor, avCastCestySouborBezPripony) & ".txt"
    If SouborExistuje(SouborTXT) Then KillExtended SouborTXT
   
    CisloDokladu = GetToken(Podminka, 2, "=")
    If Left(CisloDokladu, 1) = "'" Then CisloDokladu = Mid(CisloDokladu, 2)
    If Right(CisloDokladu, 1) = "'" Then CisloDokladu = Left(CisloDokladu, Len(CisloDokladu) - 1)
   
    SQL = "PARAMETERS parCisloDokladu Text;"
    SQL = SQL & "SELECT Polozky_dokladu.produkt, položky_dokladu.cislo, polozky_dokladu.carovy_kod,položky_dokladu.mnozstvi"
    SQL = SQL & " FROM Polozky_dokladu"    SQL = SQL & " WHERE Polozky_dokladu.Cislo_dokladu = [parCisloDokladu] And (Polozky_dokladu.Stav Is Null Or Polozky_dokladu.Stav<>'Interní položka') AND (Polozky_dokladu.Zdanitelne_plneni Is Null OR Polozky_dokladu.Zdanitelne_plneni <> 'Přirážka'))"

Open SouborTXT For Output As #1
    lExportovano = True
   
    Set R = Vario.Databaze.AdHocDotazDB(CodeDb, SQL, CisloDokladu).DejRecordset(KeCteni)
   
    Do Until R.EOF
        lRadek = ZarovnatText(Nz(R!Produkt), 13, True, " ")
        lRadek = lRadek & ZarovnatText(Nz(R!cislo), 18, True, " ")
        lRadek = lRadek & ZarovnatText(Nz(R!Carovy_kod), 15, True, " ")
        lRadek = lRadek & ZarovnatText(Replace(Format(R!Mnozstvi, "0.0"), ",", "."), 8, False, " ")
        Print #1, lRadek
        R.MoveNext
    Loop
   
    ExecutePodminkaProEmail = SouborTXT

GoTo Konec
Chyba:
    sChyba = StringFormat(" Pro TF 'Dodací list Dobrovský 3' s podmínkou '{0}' a souborem '{1}'.", Podminka, Soubor)
    Vario.Chyby.GenerujVyjimku Err.Number, Err.Description & sChyba, TypeName(Me) & "::ExecutePodminkaProEmail"
Konec:
    On Error Resume Next
    If lExportovano Then
        Close #1
    End If
    If Not R Is Nothing Then
        R.Close
        Set R = Nothing
    End If
End Function

 

Export zobrazení e-mailem

;passthrough=SELECT DISTINCT Ciselnik.Hodnota AS E_mail, 'SETRA_Sellout' AS Primarni_klic, 'Deník událostí' AS Agenda

FROM firmy.dbo.Ciselnik

WHERE Ciselnik.Ciselnik='EmailySalesOutSetra'

ORDER BY Ciselnik.Hodnota;

;PASSTHROUGH_DATABASE=Data####;

 

Pokud si s nastavením doplňku Automatické rozesílání e-mailů nevíte rady, kontaktujte nás, rádi vám poradíme.

 

Související dokumenty