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 VERAG_PROG_ALLGEMEIN
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
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim counterSent As Integer = 0
'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
If dt.Rows.Count = 0 Then Exit Sub
If dt.Rows.Count = 0 Then Return False
Dim BelegartenNr = "70"
Dim steuerbetrag As Double = 0
@@ -176,7 +179,7 @@ Public Class cAutomailversand
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
counterSent += 1
End If
End If
@@ -192,11 +195,14 @@ Public Class cAutomailversand
Next
showCounter = counterSent & " von " & dt.Rows.Count & " erfolgreich versendet!"
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
End Function
Public Shared Function getWhereKundenNr(ids As List(Of Integer)) As String
If ids Is Nothing Then Return ""
@@ -210,9 +216,10 @@ Public Class cAutomailversand
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 counterSent As Integer = 0
Dim SQL_RKID As String = ""
@@ -306,7 +313,7 @@ Public Class cAutomailversand
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
counterSent += 1
End If
End If
@@ -319,6 +326,8 @@ Public Class cAutomailversand
Next
showCounter = counterSent & " von " & dt.Rows.Count & " erfolgreich versendet!"
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
@@ -1207,6 +1216,7 @@ Public Class cAutomailversand
Dim AbfertigungsNr As Integer
Dim FilialenNr As Integer
Dim UnterNr As Integer
Dim RechnungsNr As Integer
If SPEDBUCH IsNot Nothing Then
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)
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)
RechnungsNr = IIf(Not IsDBNull(r.Item("RechnungsNr")) AndAlso IsNumeric(r.Item("RechnungsNr")), CInt(r.Item("RechnungsNr")), 0)
Next
End If
@@ -1263,7 +1273,7 @@ Public Class cAutomailversand
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 & "'
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")
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
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 & "'
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")
End If

View File

@@ -1031,7 +1031,8 @@ Public Class frmAbrechnungsMaske
Next
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()
If printAfterSent Then
@@ -1044,6 +1045,11 @@ Public Class frmAbrechnungsMaske
End If
If ShowInfo <> "" Then
MsgBox(ShowInfo)
End If
End If

View File

@@ -1018,10 +1018,16 @@ Public Class frmFaktSammelRgDrucken
Next
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()
End If