diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 2d9d9f2e..866fbd85 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -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! diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index 4acc7e90..e9721bd5 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -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 = ""