Imports System.IO Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN Public Class cAutomailversand Sub sendMailSammelrechnung(_Rechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False) Try Dim sql As New VERAG_PROG_ALLGEMEIN.SQL 'BEI SAMMELRECHNUNG WIRD ZUERST INTERN DER STATUS AUF 2 GESETZT Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz WHERE Rechnungsausgang.Status IN (2) and Rechnungsausgang.Automailversand_sent is null And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & _Rechnungsdatum.ToShortDateString & "' and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU ORDER BY RechnungsLandKz, RechnungsKundenNr" Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL") Dim MDMKopiedrucken As Boolean = False For Each row As DataRow In dt.Rows Dim BelegartenNr = "70" Dim steuerbetrag As Double = 0 Dim SR_DT As DataTable = Nothing Dim RechnungsNr As Integer = -1 Dim DruckDatumZeit As DateTime Dim Rechnungsdatum = Nothing Dim ATTACHMENTS As New List(Of cFakt_MailATTach) If FirmaID = 19 Then 'AKTUELL IMMER MIT KOPIE MDMKopiedrucken = True Dim isEU As Boolean = row.Item("MitgliedslandEU") If isEU Then If row.Item("keineMWST") Then '1. Schritt: kein MWST Kunde -> ORIGINAL-RE per Mail! MDMKopiedrucken = Not row.Item("keineMWST") End If '2. Schritt: MWST Kunde -> wenn kein MWST-BEtrag ->Original sonst Kopie per Mail! If MDMKopiedrucken Then MDMKopiedrucken = CDbl(row.Item("Steuer")) <> 0 End If Else 'immer KOPIE weil Ausdruck aktuell noch gesendet! End If End If SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, _Rechnungsdatum, row.Item("RechnungsKundenNr"),,,,, True) Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr")) Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr")) If RechnungsNr = -1 Then If SR_DT.Rows.Count > 0 Then Dim displayView = New DataView(SR_DT, "RechnungsNr is not null", "RechnungsNr", DataViewRowState.CurrentRows) Dim distinctDT_SR As DataTable = displayView.ToTable(True, "RechnungsNr", "DruckDatumZeit", "Rechnungsdatum") If distinctDT_SR.Rows.Count = 1 Then RechnungsNr = distinctDT_SR.Rows(0).Item("RechnungsNr") DruckDatumZeit = distinctDT_SR.Rows(0).Item("DruckDatumZeit") Rechnungsdatum = distinctDT_SR.Rows(0).Item("Rechnungsdatum") BelegartenNr = SR_DT.Rows(0)("BelegartenNr") For Each r In SR_DT.Rows steuerbetrag += r("steuerpflichtigerGesamtbetrag") If BelegartenNr <> r("BelegartenNr") Then BelegartenNr = "70" : Exit For Next End If End If End If Dim SR As Boolean = True Dim MailTo As String = "" Dim MailtoCC As String = "" Dim MailtoBCC As String = "" setEmpfaengerMail_SR(SR_DT, AD, MailTo, MailtoCC, MailtoBCC, FirmaID, SammelrechungArt) 'im TESTSYSTEM bewusst die Empfänger leeren! If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then MailTo = "" MailtoCC = "" MailtoBCC = setAccountToSend(FirmaID) Else MailtoBCC = setAccountToSend(FirmaID) End If If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoBCC = "") Then Dim Mailsubject As String = "" Dim HTMLMail As String = "" Dim listPDFs As New List(Of String) Dim showError As Boolean = False setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail, SammelrechungArt, dt, BelegartenNr) If do_SR(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError) Then loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs) If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST" If mailoeffnen Then Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID) If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum,,,,,,, Mail) Then Mail.Display() End If Else Dim TextHTML = "" TextHTML &= HTMLMail TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True) HTMLMail = "
" & TextHTML & "
" If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then End If End If End If End If Next Catch ex As System.Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL,,,,,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", "mmdabrechnung@verag.ag")) End Try End Sub Sub sendMailEinzelrechnungen(FirmaID As Integer, Rechnungsdatum As Date, Optional Sachbearbeiter As String = "", Optional RK_ID As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = True) Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL_RKID As String = "" If RK_ID IsNot Nothing Then If RK_ID.Count > 0 Then SQL_RKID = " AND RK_ID IN (" & String.Join(",", RK_ID) & ")" End If End If 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft Dim rechnungenMailversand = "SELECT RK_ID,RechnungsKundenNr,Rechnungsausgang.VermittlerKundenNr,Rechnungsausgang.RechnungsLandKz,Rechnungsausgang.FilialenNr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.UnterNr, Rechnungsausgang.ErfassungsNr , Rechnungsausgang.SteuerpflichtigerGesamtbetrag AS Steuer FROM Rechnungsausgang LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) <= '" & Rechnungsdatum.ToShortDateString & "' and isnull(Rechnungsausgang.Automailversand,0) = 1 AND Automailversand_sent IS NULL " & IIf(Sachbearbeiter <> "", " AND Sachbearbeiter = '" & Sachbearbeiter & "'", "") & SQL_RKID & " ORDER BY RechnungsLandKz, RechnungsKundenNr, Rechnungsausgang.Rechnungsdatum" Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL") Try For Each r In dt.Rows Dim MailTo As String = "" Dim MailtoCC As String = "" Dim MailtoBCC As String = "" Dim FISKAL As cFiskal_Daten = Nothing Dim AD As New cAdressen(r.Item("RechnungsKundenNr")) Dim ATTACHMENTS As New List(Of cFakt_MailATTach) Dim RECHNUNG As New cRechnungsausgang(r.Item("RK_ID")) Dim SPEDBUCH As New cSpeditionsbuch(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr, RECHNUNG.UnterNr) FISKAL = New cFiskal_Daten(r.Item("RechnungsKundenNr")) setEmpfaengerMail_ER(SPEDBUCH, AD, MailTo, MailtoCC, MailtoBCC, "") If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then MailTo = "" MailtoCC = "" MailtoBCC = setAccountToSend(FirmaID) Else MailtoBCC = setAccountToSend(FirmaID) End If If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoBCC = "") Then Dim pathRG As String If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, True) Then Continue For End If 'EINZELBELEG ANFÜGEN If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf"))) Dim Mailsubject As String = "" Dim HTMLMail As String = "" Dim listPDFs As New List(Of String) Dim showError As Boolean = False setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr) loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG) If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST" If mailoeffnen Then Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID) If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG) Then Mail.Display() End If Else Dim TextHTML = "" TextHTML &= HTMLMail TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True) HTMLMail = "
" & TextHTML & "
" If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then End If End If End If Next Catch ex As System.Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL,,, "d.breimaier@verag.ag",,, setAccountToSend(FirmaID)) End Try End Sub Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String, ByRef SammelrechungArt As Integer, dt As DataTable, ByRef BelegartenNr As Integer) Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr) Dim Mailtext As String If SammelrechungArt <> 6 Then 'EINZELRECHNUNGEN - MDM oder ANDERE Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", Firma_ID) Dim spracheRechnung As String = "EN" 'Defaultsprache Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice") Select Case row.Item("RechnungsLandKz") Case "TR" : spracheRechnung = "TR" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura") Case "RO" : spracheRechnung = "RO" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura") Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung") Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch! End Select If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung) If r IsNot Nothing Then Subject = r.txt_betreff Subject = Subject.Replace("%Belegtyp%", belegtyp) Subject = Subject.Replace("%BelegNr%", txtRgNr) TextHTML &= r.txt_text TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp) If Firma_ID = 19 Then Dim KUNDE_ERW As New cKundenErweitert(row("RechnungsKundenNr")) If row.Item("FilialenNr") = 4817 AndAlso row.Item("ErfassungsNr") IsNot Nothing Then Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(row.Item("FilialenNr"), row.Item("AbfertigungsNr"), row.Item("UnterNr")) If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then Dim USTV_ANTRAG As New cUSTVAntrag(row.Item("ErfassungsNr")) If row("VermittlerKundenNr") = 150000 Or row("VermittlerKundenNr") = 140000 Or row("VermittlerKundenNr").ToString.Substring(0, 2) = 18 Then replaceKZ("nichtRMC", TextHTML) TextHTML = TextHTML.ToString.Replace("%RMC:", "") : TextHTML = TextHTML.ToString.Replace("RMC%", "") replaceKZ("KZ1", TextHTML) replaceKZ("KZ4", TextHTML) TextHTML = TextHTML.ToString.Replace("%", "") Else replaceKZ("RMC", TextHTML) TextHTML = TextHTML.ToString.Replace("%nichtRMC:", "") : TextHTML = TextHTML.ToString.Replace("nichtRMC%", "") If USTV_ANTRAG.UStVAn_Sicherheit Then replaceKZ("KZ1", TextHTML) TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "") ElseIf KUNDE_ERW.kde_Erstattungsart = 4 Then replaceKZ("KZ1", TextHTML) TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "") ElseIf KUNDE_ERW.kde_Erstattungsart = 1 Then replaceKZ("KZ4", TextHTML) TextHTML = TextHTML.ToString.Replace("%KZ1:", "") : TextHTML = TextHTML.ToString.Replace("%", "") Else replaceKZ("KZ1", TextHTML) replaceKZ("KZ4", TextHTML) TextHTML = TextHTML.ToString.Replace("%", "") End If End If If Mailtext <> "" Then TextHTML &= Mailtext & vbNewLine End If Else 'sonst alles weg! replaceKZ("nichtRMC", TextHTML) replaceKZ("RMC", TextHTML) replaceKZ("KZ1", TextHTML) replaceKZ("KZ4", TextHTML) TextHTML = TextHTML.ToString.Replace("%", "") End If End If End If End If ElseIf SammelrechungArt = 6 Then 'MDM-SAMMELRECHNUNGEN Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID) Dim spracheRechnung As String = "EN" 'Defaultsprache Select Case row.Item("RechnungsLandKz") Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz") Case "A", "AT", "D", "CH", "DE" : spracheRechnung = "DE" Case "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" End Select If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung) If r IsNot Nothing Then Subject = r.txt_betreff Subject = Subject.Replace("%BelegNr%", txtRgNr) TextHTML &= r.txt_text If Mailtext <> "" Then TextHTML &= Mailtext TextHTML &= vbNewLine & vbNewLine End If End If End If End Sub Private Function do_SR(kdNr As Integer, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, lastAktuelle_RgNr As Integer, DruckDatumZeit As Date, Kopie As Boolean, listPDFs As List(Of String), Optional EinzelAnlagen As Boolean = False, Optional Sammelbericht As Boolean = True, Optional saveInThereFore As Boolean = False, Optional showError As Boolean = True) Dim RechnungsNrisSet As Boolean = False RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(FirmaID, Sammelrechnungsart, Rechnungsdatum, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, kdNr, 4, listPDFs, "", lastAktuelle_RgNr, DruckDatumZeit, , , ,, ,,, True, Kopie, True, saveInThereFore, showError) Return RechnungsNrisSet End Function Private Function createMail(Mailsubject As String, Mailhtml As String, ATTACHMENTS As List(Of cFakt_MailATTach), MailTo As String, MailtoCC As String, MailtoBCC As String, FirmaID As Integer) As Microsoft.Office.Interop.Outlook.MailItem Try Dim outl As New Outlook.Application Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Mail = outl.CreateItem(0) Mail.Subject = Mailsubject Dim TextHTML = "" TextHTML &= Mailhtml TextHTML &= "
" TextHTML &= "
" TextHTML &= "Mit freundlichen Grüßen
" TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
" TextHTML &= "
" TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True) Mail.HTMLBody = "
" & TextHTML & "
" Mail.To = MailTo Mail.BCC = MailtoBCC Mail.CC = MailtoCC For Each att In ATTACHMENTS If att.Pfad.ToString.ToLower.EndsWith("maut_at.pdf") Or att.Pfad.ToString.ToLower.EndsWith("maut_uta.pdf") Or att.Pfad.ToString.ToLower.EndsWith("maut_mse.pdf") Then 'diese Anh. nicht mitanfügen! Else Mail.Attachments.Add(att.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , att.MailName) End If Next Return Mail Catch End Try End Function Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment", ".pdf",, False, "Zusammenfassung") 'Rechnungsanhänge anfügen For Each l In listPDFs ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) Next If RECHNUNG IsNot Nothing Then '----------------------------------------------------------------- EINZELRECHNUNGEN------------------------------------------------ RECHNUNG.LOAD_ANHAENGE() For Each ANH In RECHNUNG.ANHAENGE ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) Next If SPEDBUCH IsNot Nothing Then If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Versandschein.pdf")) 'AT If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Abgabenbescheid.pdf")) If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf")) 'DE If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf")) If SPEDBUCH.DokumentId_VBD IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Abgabenbescheid.pdf")) End If Else '----------------------------------------------------------------- SAMMELRECHNUNGEN------------------------------------------------ If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then 'ATTACHMENTS.Clear() Dim myList As New List(Of String) For Each r As DataRow In SR_DT.Rows Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID")) If RG_ANH IsNot Nothing Then Dim FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0) If FilialenNr = 4817 Then 'diese immer zusammenfassen! For Each ANH In RG_ANH Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId) If Not (path.ToString.ToLower.Contains("sammelrechnung") OrElse path.ToString.Contains("Maut") OrElse path.ToString.Contains("POS") OrElse path.ToString.ToLower.Contains("invoice") OrElse path.ToString.ToLower.Contains("rechnung")) Then If path <> "" Then myList.Add(path) Else ATTACHMENTS.Add(New cFakt_MailATTach(path, ANH.Bezeichnung)) End If Next If myList.Any() Then If FormularManagerNEU.MergePdfFiles(myList, zielPfadZusammenfassung) Then Dim fileInfo As New FileInfo(zielPfadZusammenfassung) ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name)) End If End If Else For Each ANH In RG_ANH ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) Next End If End If Next End If End If End Sub Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing, Optional RECHNUNG As cRechnungsausgang = Nothing, Optional FISKAL As cFiskal_Daten = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) As Boolean Dim accountToSend = setAccountToSend(FirmaID) Dim mailcreated As Boolean = False Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim EMails As String = "" Dim EMails_CC As String = "" Dim EMails_BCC As String = "" Dim EMail_subject As String = "" Dim EMail_HTML As String = "" Dim AttCount As Integer = 0 If Mail IsNot Nothing Then EMails = Mail.To EMails_CC = Mail.CC EMails_BCC = accountToSend 'Mail.BCC EMail_subject = Mail.Subject EMail_HTML = Mail.Body AttCount = Mail.Attachments.Count Else EMails = MailTo EMails_CC = MailtoCC EMails_BCC = accountToSend 'MailtoBCC EMail_subject = Mailsubject EMail_HTML = Mailhtml AttCount = ATTACHMENTS.Count End If Dim AbfertigungsNr As Integer Dim FilialenNr As Integer Dim UnterNr As Integer If SPEDBUCH IsNot Nothing Then FilialenNr = SPEDBUCH.FilialenNr AbfertigungsNr = SPEDBUCH.AbfertigungsNr UnterNr = SPEDBUCH.UnterNr Else If SR_DT.Rows.Count > 0 Then For Each r As DataRow In SR_DT.Rows AbfertigungsNr = IIf(Not IsDBNull(r.Item("AbfertigungsNr")) AndAlso IsNumeric(r.Item("AbfertigungsNr")), CInt(r.Item("AbfertigungsNr")), 0) FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0) Next End If End If Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "SAMMELRECHNUNG_" & FirmaID,,, row.Item("RechnungsKundenNr"), , , FilialenNr, AbfertigungsNr) API.api_EMail = EMails API.api_EMailCC = EMails_CC API.api_EMailBCC = EMails_BCC API.api_EMailSubject = EMail_subject API.api_EMailText = EMail_HTML API.api_EMailAttCnt = AttCount If Mail IsNot Nothing Then API.UPDTAE_OK() If RECHNUNG IsNot Nothing Then ' EINZELRECHNUNG RECHNUNG.Automailversand_sent = Now() RECHNUNG.SAVE() Else ' 'Bei erfolg. SAMMELRECHNUNG SENT-STATUS setzen sql.doSQL("update Rechnungsausgang set Automailversand_sent = getDate() where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "' And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL") End If '---------------------TODO ! ---------------------------- createMailFISKAL(SPEDBUCH, FISKAL, True, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz")) '---------------------TODO ! ---------------------------- mailcreated = True Else Dim attachList As New List(Of String) For Each ATT As cFakt_MailATTach In ATTACHMENTS If ATT.Pfad.ToString.ToLower.EndsWith("maut_at.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_uta.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_mse.pdf") Then 'diese Anh. nicht mitanfügen! Else attachList.Add(ATT.Pfad) End If Next If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, accountToSend, False, False, EMails_CC, EMails_BCC, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend)) Then API.UPDTAE_OK() If RECHNUNG IsNot Nothing Then RECHNUNG.Automailversand_sent = Now() RECHNUNG.SAVE() Else sql.doSQL("update Rechnungsausgang set Automailversand_sent = getDate() where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "' And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL") End If '---------------------TODO ! ---------------------------- createMailFISKAL(SPEDBUCH, FISKAL, False, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz")) '---------------------TODO ! ---------------------------- mailcreated = True Else API.UPDTAE_ERR() 'Bei FEHLER EINZELRECHNUNG VON STATUS 4 auf 2 zurücksetzen! If RECHNUNG IsNot Nothing Then RECHNUNG.Automailversand_sent = Nothing RECHNUNG.Status = 2 RECHNUNG.SAVE() Else 'Bei FEHLER SAMMELRECHNUNG VON STATUS 4 auf 2 zurücksetzen! sql.doSQL("update Rechnungsausgang set Status = 2, Automailversand_sent = NULL where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "' And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL") End If Return mailcreated End If End If Return mailcreated End Function Private Function setAccountToSend(FIRMA_ID) As String Dim accountToSend = "" Select Case FIRMA_ID Case 24 accountToSend = SDL.cFakturierung.getDefaultMail("AMBAR",, True) Case 19 accountToSend = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!! Case 7 accountToSend = "rechnung@atilla-spedition.com" Case Else accountToSend = "rechnungsversand@verag.ag" End Select Return accountToSend End Function Function addRgData_ZF_Passau(RechnungsLandKz As String, RECHNUNG As cRechnungsausgang, SPEDBUCH As cSpeditionsbuch) As String ' NUR EINZELRECHNUNG addRgData_ZF_Passau = vbNewLine & vbNewLine Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Select Case RechnungsLandKz Case "TR" addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case "A", "AT", "D", "DE", "CH" addRgData_ZF_Passau &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_ZF_Passau &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case Else addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If End Select ' addRgData_ZF_Passau = RichTextBox.Text.Replace("Mit freundlichen Grüßen", "") End Function Function addRgData_Parsan(RechnungsLandKz As String, RECHNUNG As cRechnungsausgang, SPEDBUCH As cSpeditionsbuch) As String 'NUR EINZELRECHNUNG addRgData_Parsan = vbNewLine & vbNewLine Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Select Case RechnungsLandKz Case "TR" ' addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case "A", "AT", "D", "DE", "CH" ' addRgData_Parsan &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_Parsan &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case Else 'addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If End Select End Function Public Shared Function automRechnungsversand_deaktivieren(Optional isEinzelrechnung As Boolean = False) Dim RE_Text = "" If isEinzelrechnung Then RE_Text = "diese Rechnung" Else RE_Text = "alle markieren Rechnungen" End If If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand deaktivieren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then Return True Else Return False End If End Function Public Shared Function automRechnungsversand_aktivieren(Optional isEinzelrechnung As Boolean = False) Dim RE_Text = "" If isEinzelrechnung Then RE_Text = "diese Rechnung" Else RE_Text = "alle markieren Rechnungen" End If If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then Return True Else Return False End If End Function Public Shared Function automRechnungsversand_durchführen(Optional isEinzelrechnung As Boolean = False) Dim RE_Text = "" If isEinzelrechnung Then RE_Text = "diese Rechnung" Else RE_Text = "alle markieren Rechnungen" End If If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Return True Else Return False End If End Function Private Sub replaceKZ(KZ As String, ByRef TextHTML As String) If TextHTML = "" Then Exit Sub Dim index_start As Integer = TextHTML.ToString.IndexOf("%" & KZ & ":") If index_start < 0 Then Exit Sub Dim txtKZ = TextHTML.ToString.Substring(index_start) Dim index_end As Integer = txtKZ.ToString.IndexOf("%", 1) If index_start <= 0 AndAlso index_end <= 0 Then Exit Sub End If Dim txtKZ_replace As String = TextHTML.ToString.Substring(index_start, index_end) TextHTML = TextHTML.ToString.Replace(txtKZ_replace, "") End Sub Private Function createMailFISKAL(SPEDBUCH As cSpeditionsbuch, FISKAL As cFiskal_Daten, showMail As Boolean, FirmaID As Integer, kundenNr As Integer, RechnungsLandKz As String) As Boolean Dim MailSteuerberater As String = "" Dim MailFA As String = "" Dim MailSteuerberater_do As Boolean = False Dim MailFA_do As Boolean = False Dim Subject As String = "" Dim TextHTML As String = "" Dim MailTo As String = "" Dim MailCC As String = "" If FISKAL IsNot Nothing AndAlso SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart IsNot Nothing AndAlso IsNumeric(SPEDBUCH.Abfertigungsart) AndAlso (SPEDBUCH.Abfertigungsart = 26 Or SPEDBUCH.Abfertigungsart = 28) AndAlso (SPEDBUCH.FilialenNr = 4805 Or SPEDBUCH.FilialenNr = 4811) Then 'Prüfung MailSteuerberater_do = (If(FISKAL.fisk_schreibenSB_Mail, "") <> "") MailSteuerberater = If(FISKAL.fisk_schreibenSB_Mail, "") MailFA_do = (If(FISKAL.fisk_schreibenFA_Mail, "") <> "") MailFA = If(FISKAL.fisk_schreibenFA_Mail, "") End If If MailSteuerberater_do Or MailFA_do Then If MailSteuerberater <> "" Then MailTo = MailSteuerberater MailCC = MailFA Else MailTo = MailFA End If Dim AD As New cAdressen(kundenNr) Dim KD As New cKunde(kundenNr) Dim Sprache As String = "EN" Dim attachList As New List(Of String) Subject = "Meldung innergemeinschaftlicher Erwerb - " & AD.Ordnungsbegriff Select Case RechnungsLandKz Case "A", "AT", "D", "DE", "CH" : Sprache = "DE" End Select Select Case Sprache Case "DE" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "
EORI-Nr.:" & If(KD.EORITIN, "") & "
UID-Nr.:" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "
Firma:" & If(AD.Name_1, "") & If(AD.Name_2, "") & "
" & If(AD.Straße, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "
" TextHTML &= "
" TextHTML &= "
" TextHTML &= "Sehr geehrte Damen & Herren!" & "
" TextHTML &= "
" TextHTML &= "Wir teilen Ihnen mit, dass wir für oben genanntes Unternehmen eine Zollabfertigung mit anschließender" & "
" TextHTML &= "innergemeinschaftlicher Lieferung (Verfahren 4200) lt. beiliegenden Unterlagen durchgeführt haben." & "
" TextHTML &= "
" TextHTML &= "Dies muss dem Finanzamt als ""innergemeinschaftlicher Erwerb"" gemeldet werden." & "
" TextHTML &= "

" TextHTML &= "Freundliche Grüße" TextHTML &= "

" Case "EN" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "
EORI-Nr.:" & If(KD.EORITIN, "") & "
VAT-ID.:" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "
Company:" & If(AD.Name_1, "") & If(AD.Name_2, "") & "
" & If(AD.Straße, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "
" TextHTML &= "
" TextHTML &= "
" TextHTML &= "Dear Sir or Madam!" & "
" TextHTML &= "
" TextHTML &= "We would like to inform you, that we made the customs clearance and subsequent intra-community supply of goods for the company above-mentioned (Code 4200).
" TextHTML &= "The documents are attached." & "
" TextHTML &= "
" TextHTML &= "This intra-community acquisition has to be reported to the tax office." & "
" TextHTML &= "

" TextHTML &= "Yours faithfully," TextHTML &= "

" End Select If showMail Then Dim outl As New Outlook.Application Dim Mail_StbFA As Microsoft.Office.Interop.Outlook.MailItem Mail_StbFA = outl.CreateItem(0) Mail_StbFA.Subject = Subject If FirmaID = 24 Then Mail_StbFA.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR",, True) TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID,,,, "") TextHTML &= "" Mail_StbFA.HTMLBody = TextHTML Mail_StbFA.To = MailTo Mail_StbFA.CC = MailCC ''----------------------------------------------------------------- ''Steuerbescheid anfügen ''----------------------------------------------------------------- 'getAnhaenge(False) ''Anhang an Mail anfügen ''----------------------------------------------------------------- 'addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked) ''----------------------------------------------------------------- Mail_StbFA.Display() Else Dim accountToSend = setAccountToSend(FirmaID) VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(MailTo, Subject, TextHTML, accountToSend, False, False, MailCC, accountToSend, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend)) ''----------------------------------------------------------------- ''Steuerbescheid anfügen ''----------------------------------------------------------------- 'getAnhaenge(False) ''Anhang an Mail anfügen ''----------------------------------------------------------------- 'addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked) ''----------------------------------------------------------------- End If End If End Function Private Function setEmpfaengerMail_ER(SPEDBUCH As cSpeditionsbuch, AD As cAdressen, EMAILTMP As String, EMAILTMPCC As String, EMAILTMPBCC As String, email_receipt As String) If SPEDBUCH IsNot Nothing Then Dim IMPEXP = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("isnull(IMEX,'')", "Aviso", "AvisoId='" & SPEDBUCH.AvisoID & "'", "AVISO") Select Case IMPEXP Case "IMPORT" If VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an IMPORT") <> "" Then EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an IMPORT"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an IMPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an IMPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) End If Case "EXPORT" If VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an EXPORT") <> "" Then EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an EXPORT"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an EXPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an EXPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) End If End Select End If 'wenn leere Mailadressen, dann Standardadresse holen If EMAILTMP = "" And EMAILTMPCC = "" And EMAILTMPBCC = "" Then EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) End If End Function Private Function setEmpfaengerMail_SR(SR_DT As DataTable, AD As cAdressen, EMAILTMP As String, EMAILTMPCC As String, EMAILTMPBCC As String, FirmaID As Integer, SammelrechungArt As String) If SammelrechungArt <> 6 Then Dim email_receipt As String = "" Dim allAtilla = IIf(FirmaID = 7, True, False) If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then For Each r In SR_DT.Rows If "4801" <> r("FilialenNr") And "4802" <> r("FilialenNr") Then allAtilla = False Exit For End If Next End If email_receipt = IIf(allAtilla, VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)"), "") EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) Else If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then EMAILTMP &= AD.E_Mail & ";" If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then EMAILTMP &= AD.E_Mail2 & ";" End If End Function End Class