From 9769c6fac178a7d8ccfb28408c69f61b107e745d Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Thu, 4 Sep 2025 17:03:36 +0200 Subject: [PATCH] Creditsafe, Datenserver, Bonit., Kundenuebersicht, etc. --- SDL/Fakturierung/cFakturierung.vb | 28 +++++++++++++------ SDL/kunden/frmBonitätsverlauf.vb | 3 +- SDL/kunden/usrCntlKundenuebersicht.vb | 22 +++++++-------- VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb | 4 +-- .../DATENSERVER/cDATENSERVER.vb | 4 ++- .../Creditsafe/cCreditSafeAPI.vb | 10 +++---- 6 files changed, 42 insertions(+), 29 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index c8d50159..d4222c4d 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -1878,7 +1878,7 @@ Public Class cFakturierung Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") If enableZugpferd Then - tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(True, RECHNUNG)) + tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(True, RECHNUNG,), "ZUGFeRD-invoice.xml") Else Dim Zugferdpath = createZUGFeRD(True, RECHNUNG) @@ -2088,10 +2088,13 @@ Public Class cFakturierung '--------------------------------EINZELRECHNUNG----------------------------------- '--------------------------------------------------------------------------------- + Dim RECHNUNG_AD As cAdressen + Dim RECHNUNG_KD As cKunde + If RECHNUNG.RechnungsKundenNr > 0 Then - Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr) - Dim RECHNUNG_KD As New VERAG_PROG_ALLGEMEIN.cKunde(RECHNUNG.RechnungsKundenNr) + RECHNUNG_AD = New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr) + RECHNUNG_KD = New VERAG_PROG_ALLGEMEIN.cKunde(RECHNUNG.RechnungsKundenNr) If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then ZZTage = RECHNUNG_KD.Zahlungsziel @@ -2115,9 +2118,12 @@ Public Class cFakturierung If RECHNUNG.Text IsNot Nothing Then desc.AddNote(RECHNUNG.Text.ToString, SubjectCodes.AAI) desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK) - desc.SetBuyer(RECHNUNG.RechnungsName_1, RECHNUNG.RechnungsOrt, RECHNUNG.RechnungsOrt, RECHNUNG.RechnungsStraße, GetCountryCodeFromLandKZ(RECHNUNG.RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(RECHNUNG.KundenNrZentrale), RECHNUNG.KundenNrZentrale, "")) + desc.SetBuyer(RECHNUNG.RechnungsName_1, IIf(RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD.Postfach <> "", RECHNUNG_AD.Postfach, RECHNUNG.RechnungsOrt), IIf(RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Ort IsNot Nothing AndAlso RECHNUNG_AD.Ort <> "", RECHNUNG_AD.Ort, RECHNUNG.RechnungsOrt), RECHNUNG.RechnungsStraße, GetCountryCodeFromLandKZ(RECHNUNG.RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(RECHNUNG.KundenNrZentrale), RECHNUNG.KundenNrZentrale, "")) - desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_Ort, FIRMA.Firma_Ort, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller)) + Dim FirmaOrt = FIRMA.Firma_Ort + FirmaOrt = FirmaOrt.Replace(FIRMA.Firma_LandKz & "-" & FIRMA.Firma_PLZ & " ", "") + + desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_PLZ, FirmaOrt, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller)) desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA) ' Optionally, to support Peppol----------------------------- @@ -2354,9 +2360,13 @@ Public Class cFakturierung End If + Dim FirmaOrt = FIRMA.Firma_Ort + FirmaOrt = FirmaOrt.Replace(FIRMA.Firma_LandKz & "-" & FIRMA.Firma_PLZ & " ", "") - desc.SetBuyer(ROW("RechnungsName 1") & " " & Rechnugnsname2, RechnungsOrt, RechnungsOrt, RechnungsStraße, GetCountryCodeFromLandKZ(RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(ROW("RechnungsKundenNr")), ROW("RechnungsKundenNr"), "")) - desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_Ort, FIRMA.Firma_Ort, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller)) + + desc.SetBuyer(ROW("RechnungsName 1") & " " & Rechnugnsname2, IIf(RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD.Postfach <> "", RECHNUNG_AD.Postfach, RECHNUNG.RechnungsOrt), IIf(RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Ort IsNot Nothing AndAlso RECHNUNG_AD.Ort <> "", RECHNUNG_AD.Ort, RECHNUNG.RechnungsOrt), RechnungsStraße, GetCountryCodeFromLandKZ(RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(ROW("RechnungsKundenNr")), ROW("RechnungsKundenNr"), "")) + + desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_PLZ, FirmaOrt, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller)) If FIRMA.Firma_Steuernummer IsNot Nothing Then desc.AddSellerTaxRegistration(FIRMA.Firma_Steuernummer, TaxRegistrationSchemeID.FC) desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA) @@ -4213,7 +4223,7 @@ Public Class cFakturierung Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") If enableZugpferd Then - tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, SammelrechnungsDT, , rpt)) + tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, SammelrechnungsDT, , rpt), "ZUGFeRD-invoice.xml") Else Dim Zugferdpath = createZUGFeRD(False, Nothing, SammelrechnungsDT,, rpt) If Zugferdpath IsNot Nothing AndAlso Zugferdpath <> "" Then @@ -4883,7 +4893,7 @@ Public Class cFakturierung Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") If enableZugpferd Then - tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, dt, rpt)) + tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, dt, rpt), "ZUGFeRD-invoice.xml") Else Dim Zugferdpath = createZUGFeRD(False, Nothing, dt, rpt) If Zugferdpath IsNot Nothing AndAlso Zugferdpath <> "" Then diff --git a/SDL/kunden/frmBonitätsverlauf.vb b/SDL/kunden/frmBonitätsverlauf.vb index 45b40759..55115008 100644 --- a/SDL/kunden/frmBonitätsverlauf.vb +++ b/SDL/kunden/frmBonitätsverlauf.vb @@ -59,13 +59,14 @@ Public Class frmBonitätsverlauf Dim sqlNewViewAdd As String = " UNION ALL SELECT - CAST(e.eventDate AS DATE) AS ba_Datum,MAX(e.crValue) AS " & sqlIndex & ",NULL AS ba_GruendundsDatum,NULL AS ba_Umsatz,NULL AS ba_Mitarbeiter,MAX(e.clValue) AS ba_Hoechstkredit,MAX(e.sachbearbeiter) AS ba_Sachbearbeiter,NULL AS ba_Zahlungsweise,NULL AS ba_GFName,NULL AS ba_Risikostufe,NULL AS ba_CreditSaveRisikoklasse,Source AS ba_Pruefungstool,NULL AS ba_GSName,NULL AS ba_Geschaeftszweck,NULL AS ba_datenarchivId + CAST(e.eventDate AS DATE) AS ba_Datum,MAX(e.crValue) AS " & sqlIndex & ",NULL AS ba_GruendundsDatum,NULL AS ba_Umsatz,NULL AS ba_Mitarbeiter,MAX(e.clValue) AS ba_Hoechstkredit,MAX(e.sachbearbeiter) AS ba_Sachbearbeiter,NULL AS ba_Zahlungsweise,NULL AS ba_GFName,NULL AS ba_Risikostufe,MAX(e.newRiskClass) AS ba_CreditSaveRisikoklasse,Source AS ba_Pruefungstool,NULL AS ba_GSName,NULL AS ba_Geschaeftszweck,NULL AS ba_datenarchivId FROM ( SELECT e.companyId, e.portfolioId, e.eventDate, e.sachbearbeiter, + e.newRiskClass, CASE WHEN e.localEventCode = 'CR' OR e.globalEventCode = 'CR' THEN " & IIf(Not KD_ERW.kde_CreditSaveId.ToLower.Contains("at"), "e.newValueCRIndex", "e.newValueCR") & " ELSE 0 END AS crValue, CASE WHEN e.localEventCode = 'CL' OR e.globalEventCode = 'CL' THEN e.newValueCL ELSE 0 END AS clValue, 'creditsafe API' AS Source diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index 8c71e8e9..f9ec093c 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -3364,7 +3364,6 @@ Public Class usrCntlKundenuebersicht Exit Sub End If - If dt.Rows.Count > 0 Then Dim frm As New Form Dim dgv As New DataGridView() @@ -3380,16 +3379,16 @@ Public Class usrCntlKundenuebersicht dgv.DataSource = dt - If dgv IsNot Nothing Then + If dgv IsNot Nothing Then - frm.Size = New Size(750, 500) - dgv.Size = New Size(frm.Size.Width - 10, frm.Size.Height - 10) - dgv.Dock = DockStyle.Fill - dgv.Anchor = AnchorStyles.Left - dgv.Anchor = AnchorStyles.Top - dgv.ReadOnly = True - frm.Controls.Add(dgv) - frm.StartPosition = FormStartPosition.CenterScreen + frm.Size = New Size(750, 500) + dgv.Size = New Size(frm.Size.Width - 10, frm.Size.Height - 10) + dgv.Dock = DockStyle.Fill + dgv.Anchor = AnchorStyles.Left + dgv.Anchor = AnchorStyles.Top + dgv.ReadOnly = True + frm.Controls.Add(dgv) + frm.StartPosition = FormStartPosition.CenterScreen If frm.ShowDialog().Cancel Then initCreditsave() @@ -3401,8 +3400,9 @@ Public Class usrCntlKundenuebersicht End If + MsgBox("Creditsafe-Daten wurden aktualisiert!") - Else + Else MsgBox("Keine Creditsafe-Änderungen seit " & lastChecked.ToShortDateString) End If diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb index 5b73dafb..a0d39e53 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cFirmen.vb @@ -29,8 +29,8 @@ Public Class cFirmen Property Firma_Webadresse As Object = Nothing ' NVARCHAR (40) NULL, Property Firma_LandKz As Object = Nothing ' NVARCHAR (40) NULL, Property Firma_Steuernummer As Object = Nothing - Property Firmengruppe As Object = Nothing + Property Firma_PLZ As Object = Nothing Dim SQL As New SQL @@ -46,7 +46,6 @@ Public Class cFirmen Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID, , True, True)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Bez", Firma_Bez)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_BackColor", Firma_BackColor)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Logo", Firma_Logo)) @@ -74,6 +73,7 @@ Public Class cFirmen list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_LandKz", Firma_LandKz)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firmengruppe", Firmengruppe)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Steuernummer", Firma_Steuernummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_PLZ", Firma_PLZ)) Return list diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 2a136b64..2ea0d9ce 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -2283,7 +2283,7 @@ Public Class DATENVERVER_OPTIONS End Function - Public Shared Function addAttachementToPDF(File As String, attPath As String) As String + Public Shared Function addAttachementToPDF(File As String, attPath As String, Optional renameFile As String = "") As String Try Dim pdf As New Spire.Pdf.PdfDocument() @@ -2295,6 +2295,8 @@ Public Class DATENVERVER_OPTIONS Dim attachment As PdfAttachment = New PdfAttachment(attPath) + If renameFile <> "" Then attachment.FileName = renameFile + docPdf.Attachments.Add(attachment) docPdf.SaveToFile(File) End If diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb index 2b46eaeb..8d03854c 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb @@ -420,7 +420,7 @@ Public Class cCreditSafeAPI End Function - Shared Function getCompanyEvents(company As Company, ByRef dtEvents As DataTable, Optional checklastChecked As Boolean = False, Optional updateKunden As Boolean = False) As String + Shared Function getCompanyEvents(company As Company, ByRef dtEvents As DataTable, Optional checklastChecked As Boolean = False, Optional updateKunden As Boolean = False, Optional showError As Boolean = False) As String VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() @@ -431,7 +431,7 @@ Public Class cCreditSafeAPI Dim jsonRespString = SendGetRequestWithAuthHeader(myUrl, company, "application/json", "GET", token, failureDesc) If failureDesc <> "" Then - MsgBox(failureDesc) + If showError Then MsgBox(failureDesc) Return "Error" End If @@ -617,20 +617,20 @@ Public Class cCreditSafeAPI If KUNDE_ERW.kde_CreditSaveBonitaetsIndex <> Index Then KUNDE_ERW.kde_CreditSaveBonitaetsIndex = Index KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass - KUNDE.Bonitätsdatum = CDate(CR_Datum) + KUNDE.Bonitätsdatum = Today() End If Else If KUNDE_ERW.kde_CreditSaveBonitaetsScore <> CR AndAlso CR <> defaultCR Then KUNDE_ERW.kde_CreditSaveBonitaetsScore = CR KUNDE_ERW.kde_CreditSaveBonitaetsklasse = riskClass - KUNDE.Bonitätsdatum = CDate(CR_Datum) + KUNDE.Bonitätsdatum = Today() End If End If If KUNDE.Höchstkredit <> CL AndAlso CL <> defaultCL Then KUNDE.Höchstkredit = CL If KUNDE.Bonitätsdatum <= CDate(CL_Datum) Then - KUNDE.Bonitätsdatum = CDate(CL_Datum) + KUNDE.Bonitätsdatum = Today() End If End If