autoversand, etc.

This commit is contained in:
2025-04-17 09:28:31 +02:00
2 changed files with 26 additions and 14 deletions

View File

@@ -106,17 +106,17 @@ Public Class cAutomailversand
If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoCC = "") Then
Dim Mailsubject As String
Dim HTMLMail As String
Dim Mailsubject As String = ""
Dim HTMLMail As String = ""
Dim listPDFs As New List(Of String)
setEmailText(row, AD, FirmaID, RechnungsNr, Mailsubject, HTMLMail)
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail)
If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs) Then
loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs)
If mailoeffnen Then
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC)
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
If setLog(row.Item("RechnungsKundenNr"),,,,,,, Mail) Then
Mail.Display()
End If
@@ -141,7 +141,7 @@ Public Class cAutomailversand
End Try
End Sub
Private Sub setEmailText(row As DataRow, AD As cAdressen, Firma_ID As Integer, RechnungsNr As Integer, Subject As String, TextHTML As String)
Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String)
Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr)
Dim Mailtext As String
@@ -154,9 +154,9 @@ Public Class cAutomailversand
Dim spracheRechnung As String = "EN" 'Defaultsprache
Select Case AD.LandKz
Case "TR", "RO", "DE", "SRB" : spracheRechnung = AD.LandKz
Case "A", "AT", "D", "CH" : spracheRechnung = "DE"
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
@@ -186,7 +186,7 @@ Public Class cAutomailversand
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) As Microsoft.Office.Interop.Outlook.MailItem
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
@@ -195,7 +195,18 @@ Public Class cAutomailversand
Mail = outl.CreateItem(0)
Mail.Subject = Mailsubject
Mail.Body = Mailhtml
Mail.HTMLBody =
Dim TextHTML = ""
TextHTML &= Mailhtml
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Mit freundlichen Grüßen<br>"
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
TextHTML &= "<br>"
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True)
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
Mail.To = MailTo
Mail.BCC = MailtoBCC
@@ -272,7 +283,7 @@ Public Class cAutomailversand
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.AVISO_OUT_BELEGMAIL, "SAMMELRECHNUNG",,, kdNr)
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.AVISO_OUT_BELEGMAIL, "SAMMELRECHNUNG-MDM",,, kdNr)
API.api_EMail = EMails
API.api_EMailCC = EMails_CC
@@ -280,7 +291,6 @@ Public Class cAutomailversand
API.api_EMailSubject = EMail_subject
API.api_EMailText = EMail_HTML
API.api_EMailAttCnt = AttCount
'API.api_EMailSubject = API.api_EMailSubject.Replace(vbNewLine, "").Replace(vbCr, "").Replace(vbLf, "").Replace(vbCrLf, "").Replace(System.Environment.NewLine, " ")
If Mail IsNot Nothing Then

View File

@@ -639,10 +639,12 @@ Public Class frmFaktSammelRgDrucken
If Not vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand JETZT versenden?" & vbNewLine & "Ansonten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Exit Sub
Dim fun As New cAutomailversand
For Each r In MyDatagridview1.SelectedRows
For Each r In MyDatagridview1.SelectedRows
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), 6, 19, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked)
Next
End If
initDGV()
End If
End Sub