SDL, etc.

This commit is contained in:
2026-04-20 16:48:33 +02:00
parent e02ce96870
commit 4cc813b69c
4 changed files with 109 additions and 54 deletions

View File

@@ -227,13 +227,13 @@ Public Class cAutomailversand
Dim showError As Boolean = False
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr, SPEDBUCH, RECHNUNG)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG, SPEDBUCH)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
If mailoeffnen Then
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG) Then
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG, FISKAL, SPEDBUCH) Then
Mail.Display()
End If
@@ -462,7 +462,7 @@ Public Class cAutomailversand
If att.Pfad.ToString.ToLower.EndsWith("maut_at.pdf") Or att.Pfad.ToString.ToLower.EndsWith("maut_uta.pdf") Or att.Pfad.ToString.ToLower.EndsWith("maut_mse.pdf") Then
'diese Anh. nicht mitanfügen!
Else
Mail.Attachments.Add(att.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , att.MailName)
If att.Pfad <> "" Then Mail.Attachments.Add(att.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , att.MailName)
End If
Next
@@ -497,7 +497,7 @@ Public Class cAutomailversand
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)
If PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID) Then
If PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False) Then
If path <> "" Then
If Not zsmf_ER.Any(Function(p) System.IO.Path.GetFileName(p.ToString).Equals(path, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
zsmf_ER.Add(path)
@@ -521,12 +521,11 @@ Public Class cAutomailversand
Select Case ZOLL
Case "DE"
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf"))
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"))
Case "AT"
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf"))
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 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"))
End Select
@@ -562,7 +561,7 @@ Public Class cAutomailversand
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)
'hier die LOGIK, was alles zusammengefasst werden soll!
If PDFS_zusammenfassen(path, FilialenNr, FIRMA_ID) Then
If PDFS_zusammenfassen(path, FilialenNr, FIRMA_ID, True) Then
If path <> "" Then
If Not zsmf_SR.Any(Function(p) System.IO.Path.GetFileName(p.ToString).Equals(path, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
zsmf_SR.Add(path)
@@ -598,7 +597,7 @@ Public Class cAutomailversand
End Sub
Private Function PDFS_zusammenfassen(path As String, Filiale As Integer, Firma As Integer)
Private Function PDFS_zusammenfassen(path As String, Filiale As Integer, Firma As Integer, isSR As Boolean)
Dim zusammenfassen As Boolean = False
@@ -614,8 +613,44 @@ Public Class cAutomailversand
End If
End If
Case Else
Case 1
If Not isSR Then
Return True
Else
'mit Marlene sprechen!
If Not (path.ToString.ToLower.Contains("flyercbam") OrElse Not (path.ToString.ToLower.Contains("sammelrechnung"))) Then
Return True
End If
End If
Case 20
If Not isSR Then
Return True
Else
'mit ÜMMÜ sprechen!
If Not (path.ToString.ToLower.Contains("flyercbam") OrElse Not (path.ToString.ToLower.Contains("sammelrechnung"))) Then
Return True
End If
End If
Case 11
If Not isSR Then
Return True
Else
'mit WIESNER sprechen!
If Not (path.ToString.ToLower.Contains("flyercbam") OrElse Not (path.ToString.ToLower.Contains("sammelrechnung"))) Then
Return True
End If
End If
Case 7
Return False
End Select
@@ -652,7 +687,13 @@ Public Class cAutomailversand
EMails_BCC = accountToSend 'MailtoBCC
EMail_subject = Mailsubject
EMail_HTML = Mailhtml
AttCount = ATTACHMENTS.Count
If ATTACHMENTS Is Nothing Then
AttCount = 0
Else
AttCount = ATTACHMENTS.Count
End If
End If
@@ -713,63 +754,66 @@ Public Class cAutomailversand
Else
Dim attachList As New List(Of String)
For Each ATT As cFakt_MailATTach In ATTACHMENTS
If ATTACHMENTS IsNot Nothing Then
For Each ATT As cFakt_MailATTach In ATTACHMENTS
If ATT.Pfad.ToString.ToLower.EndsWith("maut_at.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_uta.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_mse.pdf") Then
'diese Anh. nicht mitanfügen!
Else
attachList.Add(ATT.Pfad)
End If
Next
If ATT.Pfad.ToString.ToLower.EndsWith("maut_at.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_uta.pdf") Or ATT.Pfad.ToString.ToLower.EndsWith("maut_mse.pdf") Then
'diese Anh. nicht mitanfügen!
Else
attachList.Add(ATT.Pfad)
End If
Next
End If
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
RECHNUNG.Automailversand_sent = Now()
RECHNUNG.SAVE()
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 & "'
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 & "'
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
'---------------------TODO ! ----------------------------
createMailFISKAL(SPEDBUCH, FISKAL, False, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz"))
'---------------------TODO ! ----------------------------
'---------------------TODO ! ----------------------------
createMailFISKAL(SPEDBUCH, FISKAL, False, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz"))
'---------------------TODO ! ----------------------------
mailcreated = True
Else
API.UPDTAE_ERR()
'Bei FEHLER EINZELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
If RECHNUNG IsNot Nothing Then
RECHNUNG.Automailversand_sent = Nothing
RECHNUNG.Status = 2
RECHNUNG.SAVE()
mailcreated = True
Else
'Bei FEHLER SAMMELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
sql.doSQL("update Rechnungsausgang set Status = 2, Automailversand_sent = NULL where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
API.UPDTAE_ERR()
'Bei FEHLER EINZELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
If RECHNUNG IsNot Nothing Then
RECHNUNG.Automailversand_sent = Nothing
RECHNUNG.Status = 2
RECHNUNG.SAVE()
Else
'Bei FEHLER SAMMELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
sql.doSQL("update Rechnungsausgang set Status = 2, Automailversand_sent = NULL where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL")
End If
Return mailcreated
End If
Return mailcreated
End If
End If
Return mailcreated
Return mailcreated
End Function
Private Function setAccountToSend(FIRMA_ID) As String
Dim accountToSend = ""
'ev aus tabelle TBLFIRMA ziehen??! allerdings IMEX nicht korrekt! -> abklären
Select Case FIRMA_ID
Case 24
@@ -778,6 +822,10 @@ Public Class cAutomailversand
accountToSend = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSend = "rechnung@atilla-spedition.com"
Case 20
accountToSend = "finanz@imex-group.at"
Case 11
accountToSend = "versand@verag.com"
Case Else
accountToSend = "rechnungsversand@verag.ag"
End Select

View File

@@ -1888,6 +1888,7 @@ Public Class frmBelegNeu
Dim client As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
Dim result = client.Echo()
Else
MsgBox("keine Rest-Service URL hinterlegt!")

View File

@@ -3365,15 +3365,21 @@ Public Class usrCntlKundenuebersicht
End If
Dim failureDesc As String = cs.getReport(company, True)
Dim withPDF As Boolean = True '#wenn PDF und JSON in einem geht withPDF aus true!
Dim failureDesc As String = cs.getReport(company, withPDF)
If failureDesc <> "" Then
MsgBox(failureDesc)
Cursor = Cursors.Default
Exit Sub
End If
If Not withPDF Then
pdfObject = cs.getPDF(company, failureDesc)
End If
'#wenn PDF und JSON in einem geht, dann folgende Zeile auskommentieren!
pdfObject = cs.getPDF(company, failureDesc)
'cs.AddCompanyToPortfolio(company)
@@ -3393,12 +3399,12 @@ Public Class usrCntlKundenuebersicht
setCreditSafeEntry(company, pdfObject, kdNr, forecedReqest, beforeRequestCount, afterRequestCount, limit, country)
End If
If beforeRequestCount >= (limit - 20) AndAlso beforeRequestCount <= limit Then 'Benachrichtigung
If beforeRequestCount >= (limit - 100) AndAlso beforeRequestCount <= (limit - 90) Then 'Benachrichtigung
Dim empfanegerMail As String = ""
empfanegerMail = cMitarbeiter.GetEMailRecipientForEmailNotification("Creditsafe-Limit")
If empfanegerMail <> "" Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "Creditsafe-Limit", "ACHTUNG, das Creditsafe-Limit für " & country & " ist fast erreicht! <br><br> Limit: " & limit & " , aktuelle Stand: " & afterRequestCount & " <br><br>*Automatic generated e-mail*",, True,,,)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "Creditsafe-Limit", "ACHTUNG, das Creditsafe-Limit für " & country & " ist fast erreicht! <br><br> Limit: " & limit & " , aktueller Stand: " & afterRequestCount & " <br><br>*Automatic generated e-mail*",, True,,,)
End If
End If

View File

@@ -1127,9 +1127,9 @@ Public Class cCreditSafeAPI
End If
Dim acceptContentType = "application/json"
'If withPDF Then
' acceptContentType &= "+pdf"
'End If
If withPDF Then
acceptContentType &= "+pdf"
End If