automail, etc.

This commit is contained in:
2026-07-23 18:05:36 +02:00
parent 99f1af3f63
commit 2f1f57d9ee
3 changed files with 35 additions and 12 deletions

View File

@@ -1,12 +1,15 @@
Imports System.IO Imports System.Diagnostics.PerformanceData
Imports System.IO
Imports GrapeCity.Documents.DX.Direct3D11
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Public Class cAutomailversand Public Class cAutomailversand
Sub sendMailSammelrechnung(_Rechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, avisoIDs As List(Of Integer), Optional KundenNrList As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = False, Optional faktGruppe As String = "", Optional datumBis As Date = Nothing, Optional clearBCC As Boolean = False) Function sendMailSammelrechnung(_Rechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, avisoIDs As List(Of Integer), Optional KundenNrList As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = False, Optional faktGruppe As String = "", Optional datumBis As Date = Nothing, Optional clearBCC As Boolean = False, Optional ByRef showCounter As String = "")
Try Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim counterSent As Integer = 0
'BEI SAMMELRECHNUNG WIRD ZUERST INTERN DER STATUS AUF 2 GESETZT 'BEI SAMMELRECHNUNG WIRD ZUERST INTERN DER STATUS AUF 2 GESETZT
@@ -52,7 +55,7 @@ Public Class cAutomailversand
For Each row As DataRow In dt.Rows For Each row As DataRow In dt.Rows
If dt.Rows.Count = 0 Then Exit Sub If dt.Rows.Count = 0 Then Return False
Dim BelegartenNr = "70" Dim BelegartenNr = "70"
Dim steuerbetrag As Double = 0 Dim steuerbetrag As Double = 0
@@ -176,7 +179,7 @@ Public Class cAutomailversand
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>" HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then
counterSent += 1
End If End If
End If End If
@@ -192,11 +195,14 @@ Public Class cAutomailversand
Next Next
showCounter = counterSent & " von " & dt.Rows.Count & " erfolgreich versendet!"
Catch ex As System.Exception 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")) 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 Try
End Sub End Function
Public Shared Function getWhereKundenNr(ids As List(Of Integer)) As String Public Shared Function getWhereKundenNr(ids As List(Of Integer)) As String
If ids Is Nothing Then Return "" If ids Is Nothing Then Return ""
@@ -210,9 +216,10 @@ Public Class cAutomailversand
End Function End Function
Sub sendMailEinzelrechnungen(FirmaID As Integer, Rechnungsdatum As Date, clearBCC As Boolean, Optional Sachbearbeiter As String = "", Optional RK_ID As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = True) Sub sendMailEinzelrechnungen(FirmaID As Integer, Rechnungsdatum As Date, clearBCC As Boolean, Optional Sachbearbeiter As String = "", Optional RK_ID As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = True, Optional ByRef showCounter As String = "")
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim counterSent As Integer = 0
Dim SQL_RKID As String = "" Dim SQL_RKID As String = ""
@@ -306,7 +313,7 @@ Public Class cAutomailversand
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>" HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then
counterSent += 1
End If End If
End If End If
@@ -319,6 +326,8 @@ Public Class cAutomailversand
Next Next
showCounter = counterSent & " von " & dt.Rows.Count & " erfolgreich versendet!"
Catch ex As System.Exception 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)) 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 Try
@@ -1207,6 +1216,7 @@ Public Class cAutomailversand
Dim AbfertigungsNr As Integer Dim AbfertigungsNr As Integer
Dim FilialenNr As Integer Dim FilialenNr As Integer
Dim UnterNr As Integer Dim UnterNr As Integer
Dim RechnungsNr As Integer
If SPEDBUCH IsNot Nothing Then If SPEDBUCH IsNot Nothing Then
FilialenNr = SPEDBUCH.FilialenNr FilialenNr = SPEDBUCH.FilialenNr
@@ -1221,7 +1231,7 @@ Public Class cAutomailversand
AbfertigungsNr = IIf(Not IsDBNull(r.Item("AbfertigungsNr")) AndAlso IsNumeric(r.Item("AbfertigungsNr")), CInt(r.Item("AbfertigungsNr")), 0) 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) FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0)
UnterNr = IIf(Not IsDBNull(r.Item("SpeditionsbuchUnterNr")) AndAlso IsNumeric(r.Item("SpeditionsbuchUnterNr")), CInt(r.Item("SpeditionsbuchUnterNr")), 0) UnterNr = IIf(Not IsDBNull(r.Item("SpeditionsbuchUnterNr")) AndAlso IsNumeric(r.Item("SpeditionsbuchUnterNr")), CInt(r.Item("SpeditionsbuchUnterNr")), 0)
RechnungsNr = IIf(Not IsDBNull(r.Item("RechnungsNr")) AndAlso IsNumeric(r.Item("RechnungsNr")), CInt(r.Item("RechnungsNr")), 0)
Next Next
End If End If
@@ -1263,7 +1273,7 @@ Public Class cAutomailversand
Else Else
' 'Bei erfolg. SAMMELRECHNUNG SENT-STATUS setzen ' '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 & "' 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 Rechnungsausgang.RechnungsNr = " & RechnungsNr & "
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL") 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 End If
@@ -1292,12 +1302,13 @@ Public Class cAutomailversand
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 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() API.UPDTAE_OK()
If RECHNUNG IsNot Nothing Then If RECHNUNG IsNot Nothing Then
RECHNUNG.Automailversand_sent = Now() RECHNUNG.Automailversand_sent = Now()
RECHNUNG.SAVE() RECHNUNG.SAVE()
Else 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 & "' 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 Rechnungsausgang.RechnungsNr = " & RechnungsNr & "
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL") 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 End If

View File

@@ -1031,7 +1031,8 @@ Public Class frmAbrechnungsMaske
Next Next
Dim fun As New cAutomailversand Dim fun As New cAutomailversand
fun.sendMailEinzelrechnungen(cboFirma._value, Today(), cbxMailoeffnen.Checked, cboSachbearbeiter._value, ListOfRK_ID, cbxMailoeffnen.Checked) Dim ShowInfo As String = ""
fun.sendMailEinzelrechnungen(cboFirma._value, Today(), cbxMailoeffnen.Checked, cboSachbearbeiter._value, ListOfRK_ID, cbxMailoeffnen.Checked, ShowInfo)
initDGV() initDGV()
If printAfterSent Then If printAfterSent Then
@@ -1044,6 +1045,11 @@ Public Class frmAbrechnungsMaske
End If End If
If ShowInfo <> "" Then
MsgBox(ShowInfo)
End If
End If End If

View File

@@ -1018,10 +1018,16 @@ Public Class frmFaktSammelRgDrucken
Next Next
Dim fun As New cAutomailversand Dim fun As New cAutomailversand
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, getAvisoIds(), getKundenNr(), cbxMailoeffnen.Checked,, CDate(txtZeitraumBis.Text), cbxMailoeffnen.Checked) Dim ShowInfo As String = ""
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, getAvisoIds(), getKundenNr(), cbxMailoeffnen.Checked,, CDate(txtZeitraumBis.Text), cbxMailoeffnen.Checked, ShowInfo)
If ShowInfo <> "" Then
MsgBox(ShowInfo)
End If
initDGV() initDGV()
End If End If