From 3556d96d7ac281167af299050963e9fbbead31bc Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 24 Sep 2025 12:12:03 +0200 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/Formulare/KDFormulare/frmFormulare.vb | 26 +++++- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/kunden/frmBonitätsverlauf.Designer.vb | 16 ++++ SDL/kunden/frmBonitätsverlauf.vb | 50 +++++++++- SDL/kunden/usrCntlIDSPreise.vb | 91 ++++++++++++++++--- .../Classes/cRechnungsausgang.vb | 4 +- .../frmUeberstundenauszahlen.vb | 8 +- .../Creditsafe/cCreditSafeAPI.vb | 55 ++++++++--- 8 files changed, 216 insertions(+), 38 deletions(-) diff --git a/SDL/Formulare/KDFormulare/frmFormulare.vb b/SDL/Formulare/KDFormulare/frmFormulare.vb index 9029adce..526e93ed 100644 --- a/SDL/Formulare/KDFormulare/frmFormulare.vb +++ b/SDL/Formulare/KDFormulare/frmFormulare.vb @@ -6678,21 +6678,32 @@ Public Class FormularManagerNEU Dim reader As PdfReader = Nothing + reader.unethicalreading = True ' Damit geschützte PDFs gelesen werden können... ' PdfReader not opened with owner password + + Dim hasPages As Boolean = False + Try - document.Open() + For Each file As String In fileNames + hasPages = False If file.ToUpper.EndsWith(".PDF") Then reader = New PdfReader(file) - addAttachmentToCurrentPDF(reader, pdf) + If reader.NumberOfPages > 0 Then + document.Open() + addAttachmentToCurrentPDF(reader, pdf) - pdf.AddDocument(reader) - reader.Close() + pdf.AddDocument(reader) + reader.Close() + hasPages = True + End If End If Next + + Catch __unusedException1__ As Exception MsgBox(__unusedException1__.Message & __unusedException1__.StackTrace) merged = False @@ -6702,8 +6713,13 @@ Public Class FormularManagerNEU Finally If document IsNot Nothing Then - document.Close() + If hasPages Then + document.Close() + Else + document.Dispose() + End If End If + End Try End Using diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 43a9de77..f61d46c6 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.Designer.vb b/SDL/kunden/frmBonitätsverlauf.Designer.vb index febf424e..4d658066 100644 --- a/SDL/kunden/frmBonitätsverlauf.Designer.vb +++ b/SDL/kunden/frmBonitätsverlauf.Designer.vb @@ -32,6 +32,7 @@ Partial Class frmBonitätsverlauf Me.Label1 = New System.Windows.Forms.Label() Me.lblBonitatsverlauf = New System.Windows.Forms.Label() Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) + Me.btnCreditsafeDetails = New System.Windows.Forms.Button() Me.pnl.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -39,6 +40,7 @@ Partial Class frmBonitätsverlauf 'pnl ' Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.btnCreditsafeDetails) Me.pnl.Controls.Add(Me.btnExcel) Me.pnl.Controls.Add(Me.FlatButton7) Me.pnl.Controls.Add(Me.KdSearchBox1) @@ -89,6 +91,7 @@ Partial Class frmBonitätsverlauf Me.KdSearchBox1._displayWoelflKd = False Me.KdSearchBox1._hideIfListEmpty = True Me.KdSearchBox1._loadKdData = False + Me.KdSearchBox1._searchName1 = True Me.KdSearchBox1._UseFIRMA = "" Me.KdSearchBox1._ValueKdAndName = True Me.KdSearchBox1.dgvpos = "LEFT" @@ -154,6 +157,18 @@ Partial Class frmBonitätsverlauf Me.MyDatagridview1.Size = New System.Drawing.Size(829, 403) Me.MyDatagridview1.TabIndex = 1 ' + 'btnCreditsafeDetails + ' + Me.btnCreditsafeDetails.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnCreditsafeDetails.BackgroundImage = Global.SDL.My.Resources.Resources.creditsafe + Me.btnCreditsafeDetails.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.btnCreditsafeDetails.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCreditsafeDetails.Location = New System.Drawing.Point(632, 5) + Me.btnCreditsafeDetails.Name = "btnCreditsafeDetails" + Me.btnCreditsafeDetails.Size = New System.Drawing.Size(91, 34) + Me.btnCreditsafeDetails.TabIndex = 7 + Me.btnCreditsafeDetails.UseVisualStyleBackColor = True + ' 'frmBonitätsverlauf ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -180,4 +195,5 @@ Partial Class frmBonitätsverlauf Friend WithEvents lblBonitatsverlauf As System.Windows.Forms.Label Friend WithEvents btnExcel As System.Windows.Forms.Button Friend WithEvents FlatButton7 As System.Windows.Forms.Button + Friend WithEvents btnCreditsafeDetails As Button End Class diff --git a/SDL/kunden/frmBonitätsverlauf.vb b/SDL/kunden/frmBonitätsverlauf.vb index 55115008..e505e8ac 100644 --- a/SDL/kunden/frmBonitätsverlauf.vb +++ b/SDL/kunden/frmBonitätsverlauf.vb @@ -1,5 +1,4 @@ -Imports GrapeCity.DataVisualization.Chart -Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN Public Class frmBonitätsverlauf @@ -186,4 +185,51 @@ Public Class frmBonitätsverlauf End Sub + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCreditsafeDetails.Click + + Try + + Dim SQL_String = "SELECT + [createdDate] as Datum + ,[ruleName] as Bezeichnung + ,[globalEventCode] as Code + ,[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 + FROM [VERAG].[dbo].[tblCreditsafeEvents] where [kundenNr] = " & KdSearchBox1.KdNr & " order by eventDate desc" + + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim frm As New Form + frm.Text = "Creditsafe-Details" + Dim dgv As New DataGridView() + Dim dt As DataTable = SQL.loadDgvBySql(SQL_String, "FMZOLL") + dgv.DataSource = dt + If dgv IsNot Nothing Then + frm.Size = New Size(1500, 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.ShowDialog() + End If + + + Catch ex As System.Exception + + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + End Sub End Class \ No newline at end of file diff --git a/SDL/kunden/usrCntlIDSPreise.vb b/SDL/kunden/usrCntlIDSPreise.vb index 4bfee0c3..d49b97c9 100644 --- a/SDL/kunden/usrCntlIDSPreise.vb +++ b/SDL/kunden/usrCntlIDSPreise.vb @@ -1,8 +1,4 @@ -Imports System.Reflection -Imports System.Threading -Imports System.Web.UI.WebControls.Expressions -Imports com.sun.xml.internal.rngom -Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlIDSPreise @@ -159,11 +155,12 @@ Public Class usrCntlIDSPreise ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" Case "LK" - SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter + SQL_ = "SELECT tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN tbl_IDS_Rechenwerte ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode WHERE (((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.OutletCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & " ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" + Case "LSK" SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry,tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode @@ -204,13 +201,57 @@ Public Class usrCntlIDSPreise VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try + If edit Then + + 'Select Case cbxTypes._value + ' Case "L" + ' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID, tbl_IDS_Rechenwerte.OutletCountryCode,tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.ProductTypeCode,tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter + ' FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN tbl_IDS_Rechenwerte ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode + ' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & " + ' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" + + ' Case "LS" + ' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName,tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter + ' FROM tbl_IDS_Produkte + ' INNER JOIN (tbl_IDS_Länder + ' INNER JOIN (tbl_IDS_Stationen + ' INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) + ' ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode + ' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & " + ' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" + + ' Case "LK" + ' FUNC.dgvCellToCbo(dgvOfferteDetails, 1, "OutletCountryCode", "OutletCountryCode", " SELECT [OutletCountryCode], OutletCountry FROM [tbl_IDS_Länder] ORDER BY OutletCountry ", "FMZOLL", 150) + ' 'FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250) + + ' Case "LSK" + ' SQL_ = "SELECT tbl_IDS_Rechenwerte.ID as ID,tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Länder.OutletCountry,tbl_IDS_Rechenwerte.OutletCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.CustomerCode,Adressen.Ordnungsbegriff AS CustomerName, tbl_IDS_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.Rechenwert, tbl_IDS_Rechenwerte.Kz, tbl_IDS_Rechenwerte.KategorieNr, tbl_IDS_Rechenwerte.Zeitstempel, tbl_IDS_Rechenwerte.Sachbearbeiter + ' FROM tbl_IDS_Produkte INNER JOIN (tbl_IDS_Länder INNER JOIN (Adressen INNER JOIN (tbl_IDS_Stationen INNER JOIN tbl_IDS_Rechenwerte ON (tbl_IDS_Stationen.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) AND (tbl_IDS_Stationen.OutletCode = tbl_IDS_Rechenwerte.OutletCode)) ON Adressen.AdressenNr = tbl_IDS_Rechenwerte.CustomerCode) ON tbl_IDS_Länder.OutletCountryCode = tbl_IDS_Rechenwerte.OutletCountryCode) ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Rechenwerte.ProductTypeCode + ' WHERE (((tbl_IDS_Rechenwerte.OutletCode) Is Not Null) AND ((tbl_IDS_Rechenwerte.CustomerCode) Is Not Null) " & IIf(OutletCountryCode > 0, " AND tbl_IDS_Rechenwerte.OutletCountryCode = " & OutletCountryCode & ") ", ") ") & SQL_WHERE & " + ' ORDER BY tbl_IDS_Länder.OutletCountry, tbl_IDS_Rechenwerte.OutletCountryCode, tbl_IDS_Stationen.OutletName, tbl_IDS_Rechenwerte.OutletCode, Adressen.Ordnungsbegriff, tbl_IDS_Rechenwerte.CustomerCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Rechenwerte.ProductTypeCode;" + + ' Case "KRW" + ' SQL_ = "SELECT tbl_IDS_Kategorien_Rechenwerte.ID as ID, tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Kategorien_Rechenwerte.Rechenwert, tbl_IDS_Kategorien_Rechenwerte.Zeitstempel, tbl_IDS_Kategorien_Rechenwerte.Sachbearbeiter + ' FROM tbl_IDS_Produkte INNER JOIN tbl_IDS_Kategorien_Rechenwerte ON tbl_IDS_Produkte.ProductTypeCode = tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode + ' WHERE 1 = 1 " & SQL_WHERE & " + ' ORDER BY tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode;" + + + ' Case "KOR" + ' SQL_ = "SELECT tbl_IDS_Kunden_ohne_Rabatt.CustomerCode, tbl_IDS_Kunden_ohne_Rabatt.Zeitstempel, tbl_IDS_Kunden_ohne_Rabatt.Sachbearbeiter + ' FROM tbl_IDS_Kunden_ohne_Rabatt + ' WHERE 1 = 1 " & SQL_WHERE & " + ' ORDER BY tbl_IDS_Kunden_ohne_Rabatt.CustomerCode;" + + 'End Select + End If + '.DataSource = SQL.loadDgvBySql(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung] " & ' " FROM [Offertenpositionen] " & ' " WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr ", "FMZOLL") - 'FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Kz", "Kz", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150) - 'FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250) + If .Columns.Contains("ID") Then .Columns("ID").Visible = False If .Columns.Contains("Kz") Then .Columns("Kz").Width = 25 @@ -449,15 +490,36 @@ Public Class usrCntlIDSPreise Private Sub dgvOfferteDetails_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles dgvOfferteDetails.CellValueChanged Try Select Case cbxTypes._value - Case "L", "LS", "LSK", "KRW", "LSK" + Case "L", "LS", "LSK", "KRW", "LSK", "LK" If loaded = True Then If currentIDS IsNot Nothing Then currentIDS.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME currentIDS.Zeitstempel = Now - Select Case dgvOfferteDetails.CurrentCell.ColumnIndex - Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value) - Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString + Select Case cbxTypes._value + Case "L" + Select Case dgvOfferteDetails.CurrentCell.ColumnIndex + ' Case 0 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.OutletCode = CInt(dgvOfferteDetails.CurrentCell.Value) + Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value) + Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString + End Select + + Case "LS" + + Select Case dgvOfferteDetails.CurrentCell.ColumnIndex + Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value) + Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString + End Select + + Case "LK" + + Select Case dgvOfferteDetails.CurrentCell.ColumnIndex + ' Case 1 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.OutletCode = CInt(dgvOfferteDetails.CurrentCell.Value) + ' Case 2 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" Then dgvOfferteDetails.CurrentRow.Cells("").Value = + Case 5 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso IsNumeric(dgvOfferteDetails.CurrentCell.Value) Then currentIDS.Rechenwert = CDbl(dgvOfferteDetails.CurrentCell.Value) + Case 6 : If dgvOfferteDetails.CurrentCell.Value IsNot Nothing AndAlso dgvOfferteDetails.CurrentCell.Value <> "" AndAlso (dgvOfferteDetails.CurrentCell.Value = "R" Or dgvOfferteDetails.CurrentCell.Value = "P") Then currentIDS.Kz = dgvOfferteDetails.CurrentCell.Value.ToString + End Select + End Select @@ -528,7 +590,7 @@ Public Class usrCntlIDSPreise For Each c As DataGridViewColumn In .Columns If isVerag360 Then - If (c.Name = "Rechenwert" Or c.Name = "Kz") Then + If (c.Name = "Rechenwert" Or c.Name = "Kz" Or c.Name = "OutletCountryCode" Or c.Name = "OutletCountry" Or c.Name = "ProductTypeCode" Or c.Name = "ProductDescription" Or c.Name = "KategorieNr" Or c.Name = "CustomerCode" Or c.Name = "CustomerName") Then If edit Then c.ReadOnly = False handleEditMode(edit) @@ -698,6 +760,9 @@ Public Class usrCntlIDSPreise End If + Else + + 'currentIDS = New cIDSDieselpreisRW() End If diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index dd9a7d3c..da6ad4d4 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -557,8 +557,8 @@ Public Class cRechnungsausgang If FIRMA.Firma_ID = 19 Then Select Case Me.BelegartenKz - Case "AR" : If (Me.SteuerfreierGesamtbetrag + Me.SteuerpflichtigerGesamtbetrag) < 0 Then errMsg = "ERROR: Vorzeichenfehler!" : Return False - Case "AG" : If (Me.SteuerfreierGesamtbetrag + Me.SteuerpflichtigerGesamtbetrag) > 0 Then errMsg = "ERROR: Vorzeichenfehler!" : Return False + Case "AR" : If (Me.SteuerfreierGesamtbetrag + Me.SteuerpflichtigerGesamtbetrag) > 0 Then errMsg = "ERROR: Vorzeichenfehler!" : Return False + Case "AG" : If (Me.SteuerfreierGesamtbetrag + Me.SteuerpflichtigerGesamtbetrag) < 0 Then errMsg = "ERROR: Vorzeichenfehler!" : Return False End Select End If diff --git a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb index c30b42e1..a3c09400 100644 --- a/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb +++ b/VERAG_PROG_ALLGEMEIN/Mitarbeiterverzeichnis/frmUeberstundenauszahlen.vb @@ -408,12 +408,14 @@ Public Class frmUeberstundenauszahlen Next If (stunden100bereitsausbezahl + stunden50bereitsausbezahlt + stunden25bereitsausbezahlt) > 0 Then + If MA.mit_firma = "ATILLA" Then GoTo sonderRegelungAtilla : picDel.Visible = True Button1.Enabled = False txtAusz.Enabled = False picShow.Visible = True Else - Button1.Enabled = True +sonderRegelungAtilla: + Button1.Enabled = True txtAusz.Enabled = True picShow.Visible = False @@ -816,6 +818,10 @@ Public Class frmUeberstundenauszahlen If istTeilzeit Then txtAusgabe.Append("25% ÜS: " & CDbl(txtberAusz25.Text) & vbNewLine) 'txtAusgabe.Append("ÜS gesamt: " & CDbl(txtberAusz100.Text) + CDbl(txtberAusz50.Text) + CDbl(txtberAusz25.Text)) + If cbxabwDatum.Checked Then + MsgBox("Das Zurücksetzen von bereits ausgezahlten Stunden bei abweichenden Datum wird aktuell (noch) nicht unterstützt!") + Exit Sub + End If Dim aksAuszahlung As MsgBoxResult = MsgBox(txtAusgabe.ToString, vbYesNo) If aksAuszahlung = vbYes Then diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb index 405d1131..35a6f83a 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/Creditsafe/cCreditSafeAPI.vb @@ -2,16 +2,9 @@ Imports System.Data.SqlClient Imports System.IO Imports System.Net -Imports System.Numerics Imports System.Reflection -Imports System.Runtime.InteropServices.ComTypes Imports System.Text.RegularExpressions Imports System.Threading -Imports System.Web.UI -Imports com.sun.org.apache.xalan.internal.xsltc -Imports com.sun.source.tree -Imports Microsoft.VisualBasic.ApplicationServices -Imports Org.BouncyCastle.Ocsp Public Class cCreditSafeAPI @@ -497,14 +490,14 @@ Public Class cCreditSafeAPI If failureDesc <> "" Then If showError Then MsgBox(failureDesc) - Return "Error" + Return "Error" & vbNewLine & failureDesc & vbNewLine & myUrl End If Dim json As New Chilkat.JsonObject Dim success As Boolean = json.Load(jsonRespString) If (success <> True) Then Debug.WriteLine(json.LastErrorText) - Return "Verbindungsfehler" + Return "Verbindungsfehler" & vbNewLine & json.LastErrorText End If If dtEvents.Columns.Count = 0 Then @@ -575,7 +568,7 @@ Public Class cCreditSafeAPI dtEvents.Rows.Add(R) - Dim cEvent As New cCreditsafeEvent(CLng(R("eventId"))) + Dim cEvent As New cCreditsafeEvent(CLng(R("eventId")), company.kdNr) cEvent.eventId = R("eventId") cEvent.companyId = R("companyId") @@ -1409,9 +1402,16 @@ Public Class cCreditSafeAPI Me.eventId = eventId LOAD() End Sub + + Sub New(eventId, kundenNr) 'zwei unterschiedliche KundenNr können dieselbe eventID besitzen (weil bei uns alles tlw. doppelt angelegt ist!!!!!) + Me.eventId = eventId + kundenNr = kundenNr + LOADKDNR() + End Sub 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("eventId", eventId,, True)) + 'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eventId", eventId,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eventId", eventId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("companyId", companyId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portfolioId", portfolioId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ruleName", ruleName)) @@ -1443,7 +1443,7 @@ Public Class cCreditSafeAPI Public Function SAVE() As Boolean Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() - Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblCreditsafeEvents WHERE eventId=@eventId) " & + Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblCreditsafeEvents WHERE eventId=@eventId AND kundenNr=@kundenNr) " & " BEGIN " & getUpdateCmd() & " END " & " Else " & " BEGIN " & getInsertCmd() & " END " & @@ -1480,6 +1480,35 @@ Public Class cCreditSafeAPI End Try End Sub + Public Sub LOADKDNR() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblCreditsafeEvents WHERE eventId=@eventId AND kundenNr=@kundenNr ", conn) + cmd.Parameters.AddWithValue("@eventId", eventId) + cmd.Parameters.AddWithValue("@kundenNr", kundenNr) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each li In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable) + + If dr.Item(li.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(li.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End Sub + Public Function getUpdateCmd() As String @@ -1493,7 +1522,7 @@ Public Class cCreditSafeAPI End If Next str = str.Substring(0, str.Length - 1) 'wg. ',' - Return (" UPDATE tblCreditsafeEvents SET " & str & " WHERE eventId=@eventId ") + Return (" UPDATE tblCreditsafeEvents SET " & str & " WHERE eventId=@eventId AND kundenNr=@kundenNr") Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)