From 4cc813b69caeab72c827ea8580606135f62c1d8c Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 20 Apr 2026 16:48:33 +0200 Subject: [PATCH 1/3] SDL, etc. --- SDL/Fakturierung/cAutomailversand.vb | 140 ++++++++++++------ SDL/kassenbuch/frmBelegNeu.vb | 1 + SDL/kunden/usrCntlKundenuebersicht.vb | 16 +- .../Creditsafe/cCreditSafeAPI.vb | 6 +- 4 files changed, 109 insertions(+), 54 deletions(-) diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index d26a6da1..43217f7b 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -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 diff --git a/SDL/kassenbuch/frmBelegNeu.vb b/SDL/kassenbuch/frmBelegNeu.vb index 9e12126e..6d373079 100644 --- a/SDL/kassenbuch/frmBelegNeu.vb +++ b/SDL/kassenbuch/frmBelegNeu.vb @@ -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!") diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index ca994e6a..07d2283d 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -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!

Limit: " & limit & " , aktuelle Stand: " & afterRequestCount & "

*Automatic generated e-mail*",, True,,,) + VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "Creditsafe-Limit", "ACHTUNG, das Creditsafe-Limit für " & country & " ist fast erreicht!

Limit: " & limit & " , aktueller Stand: " & afterRequestCount & "

*Automatic generated e-mail*",, True,,,) End If End If diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb index a537e5fc..a9d35bd0 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb @@ -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 From 63fec5fa9f258c954b4439ddf697acce6cf2d6e2 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 21 Apr 2026 10:28:25 +0200 Subject: [PATCH 2/3] fakt, etc. --- SDL/Fakturierung/cAutomailversand.vb | 2 +- .../frmFaktSammelRgDrucken.Designer.vb | 4 + SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 139 +++++++++++++----- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/kunden/frmBonitätsverlauf.vb | 16 +- 5 files changed, 117 insertions(+), 48 deletions(-) diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 43217f7b..7dac8cd6 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -1163,7 +1163,7 @@ Public Class cAutomailversand End Function - Private Function setEmpfaengerMail_SR(SR_DT As DataTable, AD As cAdressen, EMAILTMP As String, EMAILTMPCC As String, EMAILTMPBCC As String, FirmaID As Integer, SammelrechungArt As String) + Private Function setEmpfaengerMail_SR(ByRef SR_DT As DataTable, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef FirmaID As Integer, ByRef SammelrechungArt As String) If SammelrechungArt <> 6 Then diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb index 2f8d7479..f3ffe2a8 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb @@ -639,6 +639,7 @@ Partial Class frmFaktSammelRgDrucken ' 'btnNurImport ' + Me.btnNurImport.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnNurImport.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnNurImport.Location = New System.Drawing.Point(836, 437) Me.btnNurImport.Margin = New System.Windows.Forms.Padding(0) @@ -662,6 +663,7 @@ Partial Class frmFaktSammelRgDrucken ' 'btnKeine ' + Me.btnKeine.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnKeine.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnKeine.Location = New System.Drawing.Point(985, 437) Me.btnKeine.Margin = New System.Windows.Forms.Padding(0) @@ -682,6 +684,7 @@ Partial Class frmFaktSammelRgDrucken ' 'btnNurExport ' + Me.btnNurExport.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.btnNurExport.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnNurExport.Location = New System.Drawing.Point(911, 437) Me.btnNurExport.Margin = New System.Windows.Forms.Padding(0) @@ -693,6 +696,7 @@ Partial Class frmFaktSammelRgDrucken ' 'Label6 ' + Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label6.AutoSize = True Me.Label6.Location = New System.Drawing.Point(833, 412) Me.Label6.Name = "Label6" diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index c7c4777f..278fb913 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -1,5 +1,4 @@ Imports System.Web.UI.WebControls.Expressions -Imports com.sun.jndi.toolkit Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlFaktAbrechnung @@ -346,7 +345,7 @@ Public Class usrCntlFaktAbrechnung Button2.Enabled = (RECHNUNG.Status = 0) btnOK.Enabled = (RECHNUNG.Status = 0) - cbxAUTOMailversand.Enabled = setAutoMailversandVisiblity() + 'RECHNUNG.OffertenNr = OfferteNrTmp ' RECHNUNG.OffertenNr = OfferteNrTmp @@ -378,6 +377,8 @@ Public Class usrCntlFaktAbrechnung setControlsEnabled(pnlAuftraggeber, pnlEnabled) setControlsEnabled(pnlAvisierer, pnlEnabled) + cbxAUTOMailversand.Enabled = setAutoMailversandVisiblity() + 'If RECHNUNG.Sachbearbeiter = "AUTO" AndAlso RECHNUNG.VermittlerKundenNr = "3013401" Then 'sperren, damit autom. generierte Email neu mit Offerte initialisiwert werden kann! ' dgvOffertenSperrliste.Enabled = False 'Else @@ -947,6 +948,7 @@ Public Class usrCntlFaktAbrechnung End Sub Private Sub cboRechnungAn_TextChanged(sender As Object, e As EventArgs) Handles cboRechnungAn.SelectedIndexChanged Button15.Enabled = (cboRechnungAn._value <> "") + cbxAUTOMailversand.Enabled = setAutoMailversandVisiblity() End Sub Private Sub cboSteuerschlüssel_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboSteuerschlüssel.SelectedIndexChanged @@ -3513,7 +3515,8 @@ Public Class usrCntlFaktAbrechnung If Not checkUIDNR() Then Exit Sub If RECHNUNG.Sammelrechnung = 0 Then 'nur bei ER - If cbxAUTOMailversand.Checked AndAlso Not RECHNUNG.Automailversand Then + + If cbxAUTOMailversand.Checked AndAlso (Not RECHNUNG.Automailversand Or RECHNUNG.RechnungsDatum Is Nothing) Then If cAutomailversand.automRechnungsversand_aktivieren(RECHNUNG.Sammelrechnung = 0) Then If RECHNUNG.RechnungsDatum Is Nothing Then @@ -4920,6 +4923,7 @@ Nächste_Textzeile_lesen: Private Sub cboSammelrechnung_SelectedValueChanged(sender As Object, e As EventArgs) Handles cboSammelrechnung.SelectedValueChanged btnZoll_EUST.Enabled = IIf(cboSammelrechnung._value = 0, True, False) + cbxAUTOMailversand.Enabled = setAutoMailversandVisiblity() End Sub @@ -5511,49 +5515,110 @@ mwst: Dim enableAUTOMAIL As Boolean = False - If RECHNUNG Is Nothing Then Return enableAUTOMAIL - If RECHNUNG.Rechnung_an = 0 Then Return enableAUTOMAIL - - Dim RD_DRUCK = -1 - Dim AD As cAdressen - Select Case RECHNUNG.Rechnung_an - Case 1 - If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.AbsenderKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 2 - If RECHNUNG.EmpfängerKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.EmpfängerKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 3 - If RECHNUNG.VermittlerKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.VermittlerKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 4 - If RECHNUNG.AvisiererKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.AvisiererKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case Else - Return enableAUTOMAIL - End Select + If RECHNUNG Is Nothing Then - 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + If cboRechnungAn._value = "" Then Return enableAUTOMAIL + + + Dim RD_DRUCK = -1 + Dim AD As cAdressen + + Select Case cboRechnungAn._value + Case "1" + If kdFirmaAbsender.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAbsender.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "2" + If kdFirmaEmpfaenger.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaEmpfaenger.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "3" + If kdFirmaAuftraggeber.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAuftraggeber.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "4" + If kdFirmaAvisierer.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAvisierer.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case Else + Return enableAUTOMAIL + End Select + + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + + If cboSammelrechnung._value = 0 AndAlso lblDruckDatum.Text = "" AndAlso RD_DRUCK = 2 Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + If RECHNUNG IsNot Nothing AndAlso (RECHNUNG.Status <> 0 AndAlso RECHNUNG.Status <> 2) Then + Return enableAUTOMAIL = False + Else + enableAUTOMAIL = True + End If + + + Else + enableAUTOMAIL = False + End If - 'STATUS 0-_> Rechnung angelegt - 'STATUS 1-_> Einzel-Rg gedruckt - 'STATUS 2-_> Anlagen zur Rg gedruckt - 'STATUS 3-_> Sammel-Rg gedruckt - 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? - enableAUTOMAIL = True Else - enableAUTOMAIL = False + + + If RECHNUNG.Rechnung_an = 0 Then Return enableAUTOMAIL + + Dim RD_DRUCK = -1 + Dim AD As cAdressen + Select Case RECHNUNG.Rechnung_an + Case 1 + If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.AbsenderKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 2 + If RECHNUNG.EmpfängerKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.EmpfängerKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 3 + If RECHNUNG.VermittlerKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.VermittlerKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 4 + If RECHNUNG.AvisiererKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.AvisiererKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case Else + Return enableAUTOMAIL + End Select + + + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + + If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + enableAUTOMAIL = True + Else + enableAUTOMAIL = False + End If + + + + End If + Return enableAUTOMAIL + End Function + End Class \ No newline at end of file diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 0cd8acb6..02de115d 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/kunden/frmBonitätsverlauf.vb b/SDL/kunden/frmBonitätsverlauf.vb index e505e8ac..3e159691 100644 --- a/SDL/kunden/frmBonitätsverlauf.vb +++ b/SDL/kunden/frmBonitätsverlauf.vb @@ -196,14 +196,14 @@ Public Class frmBonitätsverlauf ,[oldValue] as alterWert ,[newValue] as neuerWert ,[sachbearbeiter] as Sachbearbeiter - ,[oldValueCL] as KreditlimitAlt - ,[newValueCL] as KreditlimitNeu - ,[oldValueCR] as BonRateAlt - ,[newValueCR] as BonRateNeu - ,[newValueCRIndex] as BonIndexNeu - ,[oldValueCRIndex] as BonIndexAlt - ,[oldRiskClass] as RiskoklasseAlt - ,[newRiskClass] as RiskoklasseNeu + ,[oldValueCL] as Kreditlimit_Alt + ,[newValueCL] as Kreditlimit_Neu + ,[oldValueCR] as BonRate_Alt + ,[newValueCR] as BonRate_Neu + ,[oldValueCRIndex] as BonIndex_Alt + ,[newValueCRIndex] as BonIndex_Neu + ,[oldRiskClass] as Riskoklasse_Alt + ,[newRiskClass] as Riskoklasse_Neu FROM [VERAG].[dbo].[tblCreditsafeEvents] where [kundenNr] = " & KdSearchBox1.KdNr & " order by eventDate desc" From aa6be2876bbf79d1a02e3193de9e54ff7363edb6 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 21 Apr 2026 10:57:49 +0200 Subject: [PATCH 3/3] kundenubersicht, etc. --- SDL/kunden/usrCntlKundenuebersicht.vb | 9 ++++++++- .../Schnittstellen/Creditsafe/cCreditSafeAPI.vb | 16 +++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index 07d2283d..d70a6b9e 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -3370,7 +3370,14 @@ Public Class usrCntlKundenuebersicht Dim withPDF As Boolean = True '#wenn PDF und JSON in einem geht withPDF aus true! - Dim failureDesc As String = cs.getReport(company, withPDF) + Dim failureDesc As String = "" + + If withPDF Then + cs.getReport(company, withPDF, pdfObject) + Else + cs.getReport(company, withPDF, Nothing) + End If + If failureDesc <> "" Then MsgBox(failureDesc) Cursor = Cursors.Default diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb index a9d35bd0..6ab93367 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb @@ -5,6 +5,7 @@ Imports System.Net Imports System.Reflection Imports System.Text.RegularExpressions Imports System.Threading +Imports iTextSharp.text.pdf Public Class cCreditSafeAPI @@ -1111,7 +1112,7 @@ Public Class cCreditSafeAPI End Sub - Shared Function getReport(ByRef company As Company, withPDF As Boolean) As String 'Shared Function getReport(ByRef company As Company, withPDF As Boolean, ByRef bytes As Byte()) As String + Shared Function getReport(ByRef company As Company, withPDF As Boolean, Optional ByRef bytes As Byte() = Nothing) As String Dim failureDesc As String = "" Dim myUrl As String = API_STRING & "/v1/companies/" & company.creditSafeId & "/" If company.country = "DE" Then @@ -1289,6 +1290,19 @@ Public Class cCreditSafeAPI company.csFailure = json.StringOf("details") End If + + If jsonRespString IsNot Nothing Then + Dim PDFReport As Chilkat.JsonObject = json.ObjectOf("pdfReportStream") + Dim pdfString = json.StringOf("pdfReportStream") + Dim pdfData2 As New Chilkat.BinData + success = pdfData2.AppendEncoded(pdfString, "base64") + If success Then + bytes = pdfData2.GetBinary + End If + Return failureDesc + End If + + Return failureDesc End Function