autmailversand

This commit is contained in:
2026-06-16 16:21:20 +02:00
parent cf9bbdc308
commit 0a036590c1
2 changed files with 94 additions and 31 deletions

View File

@@ -575,11 +575,53 @@ Public Class cAutomailversand
Select Case ZOLL
Case "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"))
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_ER.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Steuerbescheid.pdf"))
End If
End If
If SPEDBUCH.DokumentId_VBD IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_ER.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Abgabenbescheid.pdf"))
End If
End If
Case "AT"
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"))
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"))
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_ER.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Verzollungsnachweis.pdf"))
End If
End If
If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_ER.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Versandschein.pdf"))
End If
End If
End Select
@@ -588,10 +630,17 @@ Public Class cAutomailversand
If zsmf_ER.Any() Then
If FormularManagerNEU.MergePdfFiles(zsmf_ER, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
If zsmf_ER.Count = 1 Then
Dim fileInfo As New FileInfo(zsmf_ER(0))
ATTACHMENTS.Add(New cFakt_MailATTach(zsmf_ER(0), fileInfo.Name))
Else
If FormularManagerNEU.MergePdfFiles(zsmf_ER, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
End If
End If
End If
If mergeAllPDFS Then 'also Beleg + Anhänge in Beleg
@@ -621,6 +670,10 @@ Public Class cAutomailversand
'ATTACHMENTS.Clear()
Dim zsmf_SR As New List(Of String)
For Each l In listPDFs
zsmf_SR.Add(l)
Next
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
@@ -653,17 +706,27 @@ Public Class cAutomailversand
Next
If zsmf_SR.Any() Then
If FormularManagerNEU.MergePdfFiles(zsmf_SR, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
End If
End If
End If
Next
If zsmf_SR.Any() Then
If zsmf_SR.Count = 1 Then
Dim fileInfo As New FileInfo(zsmf_SR(0))
ATTACHMENTS.Add(New cFakt_MailATTach(zsmf_SR(0), fileInfo.Name))
Else
If FormularManagerNEU.MergePdfFiles(zsmf_SR, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
End If
End If
End If
'nicht bei SR!

View File

@@ -535,7 +535,7 @@ Public Class frmFaktEmail
Mail = outl.CreateItem(0)
Mail.Subject = txtSubject.Text
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 Then
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""
@@ -554,25 +554,25 @@ Public Class frmFaktEmail
End Select
If accountToSent <> "" Then
If outl.Session.Accounts.Count > 0 Then
For Each oAccount In outl.Session.Accounts
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
Mail.SendUsingAccount = oAccount
Exit For
End If
Next
If outl.Session.Accounts.Count > 0 Then
For Each oAccount In outl.Session.Accounts
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
Mail.SendUsingAccount = oAccount
Exit For
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Next
End If
End If
'Mail-Adressen eintragen
'-----------------------------------------------------------------
For Each r In dgvEmail.Rows
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
'Mail-Adressen eintragen
'-----------------------------------------------------------------
For Each r In dgvEmail.Rows
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
Next
For Each r In dgvEmailCC.Rows
@@ -677,7 +677,7 @@ Public Class frmFaktEmail
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 Then
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""