From 1b677dee85bb04d9900f5268634d5750fdc5458f Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Thu, 7 May 2026 17:07:52 +0200 Subject: [PATCH] Handling-Abrechnung, etc. --- ...sbericht_HandlingAussenstellen.Designer.vb | 2 +- ...editionsbericht_HandlingAussenstellen.resx | 2 +- .../usrCntlSpeditionsBuchSuche.Designer.vb | 29 +- .../usrCntlSpeditionsBuchSuche.resx | 7 +- .../usrCntlSpeditionsBuchSuche.vb | 584 ++++++++++++++++-- SDL/kunden/usrCntlOfferte.vb | 32 +- .../Classes/cHandlingssaetzeIntern.vb | 27 +- 7 files changed, 614 insertions(+), 69 deletions(-) diff --git a/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.Designer.vb b/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.Designer.vb index 42ee4e1e..b8af43de 100644 --- a/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.Designer.vb +++ b/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.Designer.vb @@ -471,7 +471,7 @@ Partial Public Class rptSpeditionsbericht_HandlingAussenstellen Me.txtUebersicht.Style = "font-family: Microsoft Sans Serif; font-size: 8.25pt; ddo-char-set: 1" Me.txtUebersicht.Text = Nothing Me.txtUebersicht.Top = 0.638189! - Me.txtUebersicht.Width = 3.75! + Me.txtUebersicht.Width = 7.47441! ' 'GroupHeader1 ' diff --git a/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.resx b/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.resx index 6e92ebde..3d4ba943 100644 --- a/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.resx +++ b/SDL/Speditionsbuch/Nacherfassung/rptSpeditionsbericht_HandlingAussenstellen.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 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 diff --git a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.Designer.vb b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.Designer.vb index 5dec8bf4..12e71232 100644 --- a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.Designer.vb +++ b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.Designer.vb @@ -101,7 +101,6 @@ Partial Class usrCntlSpeditionsBuchSuche Me.ZFThyrnauZeitraumAuswählenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.AuswertungDiversZeitraumAuswählenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Button20 = New System.Windows.Forms.Button() - Me.Label46 = New System.Windows.Forms.Label() Me.Button19 = New System.Windows.Forms.Button() Me.Button18 = New System.Windows.Forms.Button() Me.Button16 = New System.Windows.Forms.Button() @@ -214,6 +213,7 @@ Partial Class usrCntlSpeditionsBuchSuche Me.Label45 = New System.Windows.Forms.Label() Me.cboFilialeHandling = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.SplitContainer = New System.Windows.Forms.SplitContainer() + Me.cbxHandlingAbrechnen = New System.Windows.Forms.CheckBox() Me.cntxtCntxtSpeditionsbuch.SuspendLayout() Me.pnlRechts.SuspendLayout() CType(Me.DataGridView, System.ComponentModel.ISupportInitialize).BeginInit() @@ -1069,6 +1069,7 @@ Partial Class usrCntlSpeditionsBuchSuche ' Me.pnlBerichte.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.pnlBerichte.Controls.Add(Me.cbxHandlingAbrechnen) Me.pnlBerichte.Controls.Add(Me.CheckBox4) Me.pnlBerichte.Controls.Add(Me.cbxDetailbericht) Me.pnlBerichte.Controls.Add(Me.MyComboBox2) @@ -1079,7 +1080,6 @@ Partial Class usrCntlSpeditionsBuchSuche Me.pnlBerichte.Controls.Add(Me.cboHandlingssatz) Me.pnlBerichte.Controls.Add(Me.MenuStrip1) Me.pnlBerichte.Controls.Add(Me.Button20) - Me.pnlBerichte.Controls.Add(Me.Label46) Me.pnlBerichte.Controls.Add(Me.Button19) Me.pnlBerichte.Controls.Add(Me.Button18) Me.pnlBerichte.Controls.Add(Me.Button16) @@ -1267,17 +1267,6 @@ Partial Class usrCntlSpeditionsBuchSuche Me.Button20.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.Button20.UseVisualStyleBackColor = True ' - 'Label46 - ' - Me.Label46.AutoSize = True - Me.Label46.BackColor = System.Drawing.Color.WhiteSmoke - Me.Label46.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label46.Location = New System.Drawing.Point(4, 121) - Me.Label46.Name = "Label46" - Me.Label46.Size = New System.Drawing.Size(61, 13) - Me.Label46.TabIndex = 58 - Me.Label46.Text = "Handling:" - ' 'Button19 ' Me.Button19.FlatStyle = System.Windows.Forms.FlatStyle.Flat @@ -2968,6 +2957,18 @@ Partial Class usrCntlSpeditionsBuchSuche Me.SplitContainer.SplitterWidth = 2 Me.SplitContainer.TabIndex = 3 ' + 'cbxHandlingAbrechnen + ' + Me.cbxHandlingAbrechnen.AutoSize = True + Me.cbxHandlingAbrechnen.BackColor = System.Drawing.Color.WhiteSmoke + Me.cbxHandlingAbrechnen.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxHandlingAbrechnen.Location = New System.Drawing.Point(7, 115) + Me.cbxHandlingAbrechnen.Name = "cbxHandlingAbrechnen" + Me.cbxHandlingAbrechnen.Size = New System.Drawing.Size(140, 17) + Me.cbxHandlingAbrechnen.TabIndex = 96 + Me.cbxHandlingAbrechnen.Text = "Handling abrechnen" + Me.cbxHandlingAbrechnen.UseVisualStyleBackColor = False + ' 'usrCntlSpeditionsBuchSuche ' Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None @@ -3160,7 +3161,6 @@ Partial Class usrCntlSpeditionsBuchSuche Friend WithEvents cboFilialeHandling As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents Label45 As Label Friend WithEvents Button20 As Button - Friend WithEvents Label46 As Label Friend WithEvents Panel2 As Panel Friend WithEvents MyComboBox1 As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents lstFilialeHandling As VERAG_PROG_ALLGEMEIN.MyListBox @@ -3200,4 +3200,5 @@ Partial Class usrCntlSpeditionsBuchSuche Friend WithEvents CheckBox4 As CheckBox Friend WithEvents cbxfehlZahlung_AVISOID As CheckBox Friend WithEvents cbxfehlZahlung_SENDUNG As CheckBox + Friend WithEvents cbxHandlingAbrechnen As CheckBox End Class diff --git a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.resx b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.resx index 3e1be91e..e2a16688 100644 --- a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.resx +++ b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.resx @@ -126,8 +126,8 @@ 431, 17 - - 431, 17 + + 546, 17 @@ -299,7 +299,4 @@ 546, 17 - - 546, 17 - \ No newline at end of file diff --git a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb index ed0d1e90..55f87c88 100644 --- a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb +++ b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb @@ -1,8 +1,5 @@ -Imports System.Data.SqlClient -Imports System.Globalization -Imports GrapeCity.ActiveReports.Viewer.Common.Internal +Imports System.Globalization Imports VERAG_PROG_ALLGEMEIN -Imports VERAG_PROG_ALLGEMEIN.IDEV_Intrastat Public Class usrCntlSpeditionsBuchSuche @@ -416,7 +413,7 @@ Public Class usrCntlSpeditionsBuchSuche ' txtBestimmungszollstelle.initSearchBox(Me.FindForm, "[basncd_dstnr] ,[basncd_dstnr] +' - ' + [basncd_name] +' (' +[basncd_alpha]+')' as displayPARAM,[basncd_dstnr] as Nr,[basncd_name] as Dienststelle,[basncd_alpha] as Land FROM basncd", {" [basncd_dstnr]", "basncd_name"}, " [basncd_gbdat] >= getdate() ", " basncd_alpha,[basncd_name]", "basncd_dstnr", "displayPARAM", "ATLAS", , 400, 200, {"displayPARAM", "basncd_dstnr"}) txtZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) - cboHandlingssatz.fillWithSQL("SELECT [hs_Bezeichnung] FROM [tblHandlingssaetzeIntern] group by [hs_Bezeichnung] ", False, "FMZOLL", True) + cboHandlingssatz.fillWithSQL("SELECT hs_RgAn,[hs_Bezeichnung] FROM [tblHandlingssaetzeIntern] group by [hs_Bezeichnung],hs_RgAn ", False, "FMZOLL", True) If VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE <> "" And Not VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER And FirmaTmp <> "VERAGIMEX" Then If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER = "FRONTOFFICE" Then @@ -1648,26 +1645,21 @@ Public Class usrCntlSpeditionsBuchSuche End Sub - Function getrHandlingAussenstellen(Optional showDok As Boolean = True, Optional Handlingssatz As String = "", Optional whereOpt As String = "", Optional ignoreFiliale As Boolean = False) 'Firma As String, kdnrTmp As Integer, Optional showDok As Boolean = False, Optional ByRef VBNr As Integer = -1) As String + Function getrHandlingAussenstellen(ByRef year As Integer, ByRef dtAbrechnung As DataTable, Optional showDok As Boolean = True, Optional Handlingssatz As String = "", Optional whereOpt As String = "", Optional ignoreFiliale As Boolean = False) 'Firma As String, kdnrTmp As Integer, Optional showDok As Boolean = False, Optional ByRef VBNr As Integer = -1) As String Dim displayFilter = cbxFilterInBericht.Checked If ignoreFiliale Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ZOLL_Auswertungen", "SDL") Then Dim sqlstr As String = "" - ' If CheckBox1.Checked Then - Dim sql_KdAuftragsNr = "" '",Speditionsbuch.KdAuftragsNr as KdAuftragsNr" + Dim dtAbrechnungLocal As DataTable = dtAbrechnung - - 'sqlstr &= " SELECT FilialenNr, AbfertigungsNr,UnterNr, Speditionsbuch.Abfertigungsart as Abfertigungsart ,Abfertigungsdatum, BelegNr, Rohmasse, Vermerk, Packstücke, AbsenderKundenNr, Absender, EmpfängerKundenNr, Empfänger,EndEmpfänger,EndEmpfängerKundenNr, VermittlerKundenNr, Vermittler, " - 'sqlstr &= " FrachtführerKundenNr, Frachtführer, AvisiererKundenNr, Avisierer,Währungscode,Barzahlungsbetrag,Rechnungsbetrag, [LKW Kennzeichen]," - 'sqlstr &= " Abfertigungsanzahl, Speditionsbuch.Abfertigungsart, Abfertigungsbezeichnung,AvisoID" & sql_KdAuftragsNr & ",Speditionsbuch.KdAuftragsNrAvisierer,Speditionsbuch.KdAuftragsNrEmpfaenger,Speditionsbuch.KdAuftragsNrFrachtfuehrer, Speditionsbuch.Bemerkungen " + Dim sql_KdAuftragsNr = "" sqlstr &= " SELECT Speditionsbuch.*,Abfertigungsbezeichnung" sqlstr &= " FROM Speditionsbuch LEFT JOIN Abfertigungsarten ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart " sqlstr &= " WHERE 1=1 " sqlstr &= getSpedBuchWhere(ignoreFiliale) sqlstr &= whereOpt - ' sqlstr &= " order by FilialenNr, AvisoId,Speditionsbuch.Abfertigungsart,Abfertigungsdatum" sqlstr &= " order by Speditionsbuch.Abfertigungsart,FilialenNr,Abfertigungsdatum" - ' MsgBox(sqlstr) + Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", , getSpedbuchList()) Dim header = "Handling / Front-Office " @@ -1675,19 +1667,20 @@ Public Class usrCntlSpeditionsBuchSuche Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Case "IMEX" : header &= "IMEX Customs Service GmbH" Case "ATILLA" : header &= "ATILLA Spedition" - Case "AMBAR" : header = "AMBAR Logistc Services GmbH - Handling / AMBAR Bad Reichenhall" - + Case "AMBAR" : header = "AMBAR Logistic Services GmbH - Handling / AMBAR Bad Reichenhall" Case Else End Select + If showDok Then + If vbYes = MsgBox("Möchten Sie den Bericht ZUSÄTZLICH als Excel exportieren?", vbYesNoCancel) Then - If vbYes = MsgBox("Möchten Sie den Bericht ZUSÄTZLICH als Excel exportieren?", vbYesNoCancel) Then - - cProgramFunctions.genExcelFromDT_NEW(dt,,, header) + cProgramFunctions.genExcelFromDT_NEW(dt,,, header) + End If End If + Dim print As New frmPrintLayout print.Text = "Handling / Front-Office" @@ -1718,27 +1711,24 @@ Public Class usrCntlSpeditionsBuchSuche Dim sum = 0 rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME - 'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung Dim defaultHandlingPreis As Double = 15 Dim HandlingList As VERAG_PROG_ALLGEMEIN.cHandlingssaetzeInternLIST = Nothing If Handlingssatz <> "" Then - HandlingList = New VERAG_PROG_ALLGEMEIN.cHandlingssaetzeInternLIST(Handlingssatz) + HandlingList = New VERAG_PROG_ALLGEMEIN.cHandlingssaetzeInternLIST(Handlingssatz, year) End If - 'Dim cnt As Integer = 0 rpt.lblDat.Text = Now.ToLongDateString - 'Dim sumRg As Double = 0 - 'Dim gesSumAnz As Double = 0 - 'Dim gesSumBar As Double = 0 - 'Dim gesSumRg As Double = 0 - 'Dim gesgesSumAnz As Double = 0 - 'Dim gesgesSumBar As Double = 0 - 'Dim gesgesSumRg As Double = 0 - 'Dim SumAnzLKW As Double = 0 - 'Dim gesSumAnzLKW As Double = 0 - 'Dim gesgesSumAnzLKW As Double = 0 + + Dim dt_summen As New DataTable + + dt_summen.Columns.Add("Anzahl", GetType(Double)) + dt_summen.Columns.Add("BAR", GetType(Double)) + dt_summen.Columns.Add("HANDLING", GetType(Double)) + dt_summen.Columns.Add("zu_kassieren_BAR", GetType(Double)) + dt_summen.Columns.Add("Grenzstelle", GetType(String)) + Dim gesAnz As Double = 0 @@ -1800,6 +1790,31 @@ Public Class usrCntlSpeditionsBuchSuche rpt.lblzuKassierenHandling.Visible = False End Select + If Not IsDBNull(rpt.Fields.Item("Grenzstelle").Value) Then + Dim grenzstelle As String = rpt.Fields.Item("Grenzstelle").Value.ToString() + Dim existingRow = dt_summen.AsEnumerable().FirstOrDefault(Function(r) r.Field(Of String)("Grenzstelle") = grenzstelle) + + If existingRow IsNot Nothing Then + + existingRow("Anzahl") = CInt(existingRow("Anzahl")) + anz + existingRow("BAR") = CDbl(existingRow("BAR")) + bar + existingRow("HANDLING") = CDbl(existingRow("HANDLING")) + handling + existingRow("zu_kassieren_BAR") = CDbl(existingRow("zu_kassieren_BAR")) + zukassBAR + Else + + Dim R As DataRow = dt_summen.NewRow() + R("Anzahl") = anz + R("BAR") = bar + R("HANDLING") = handling + R("zu_kassieren_BAR") = zukassBAR + R("Grenzstelle") = grenzstelle + + dt_summen.Rows.Add(R) + End If + + + End If + sumAnz += anz sumBar += bar sumhandling += handling @@ -1810,6 +1825,8 @@ Public Class usrCntlSpeditionsBuchSuche geshandling += handling geszukassBAR += zukassBAR + + End Sub Dim bezeichnung = "" @@ -1819,6 +1836,27 @@ Public Class usrCntlSpeditionsBuchSuche rpt.lblSumzuKassierenHandling.Text = sumzukassBAR.ToString("N2") rpt.lblSumHandlingsgebuehr.Text = sumhandling.ToString("N2") + + Dim sb As New System.Text.StringBuilder + + sb.AppendLine(String.Format("{0,-15} {1,6} {2,12} {3,15} {4,15}", "Grenzstelle", "Anz", "Bar", "Kassiert BAR", "Handling")) + + sb.AppendLine(New String("-"c, 65)) + + For Each r_ As DataRow In dt_summen.Rows + + Dim grenzstelle As String = If(IsDBNull(r_("Grenzstelle")), "", r_("Grenzstelle").ToString()) + Dim anz As Integer = If(IsDBNull(r_("Anzahl")), 0, CInt(r_("Anzahl"))) + Dim bar As Double = If(IsDBNull(r_("BAR")), 0, CDbl(r_("BAR"))) + Dim kass As Double = If(IsDBNull(r_("zu_kassieren_BAR")), 0, CDbl(r_("zu_kassieren_BAR"))) + Dim handling As Double = If(IsDBNull(r_("HANDLING")), 0, CDbl(r_("HANDLING"))) + + sb.AppendLine(String.Format("{0,-15} {1,6} {2,12:N2} {3,15:N2} {4,15:N2}", grenzstelle, anz, bar, kass, handling)) + Next + + SumText = sb.ToString() + + rpt.txtUebersicht.Font = New Font("Consolas", 10) rpt.txtUebersicht.Text = SumText Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA @@ -1844,7 +1882,10 @@ Public Class usrCntlSpeditionsBuchSuche rpt.lblGesBarzahlungsbetrag.Text = gesBar.ToString("N2") rpt.lblGeszuKassierenHandling.Text = geszukassBAR.ToString("N2") rpt.lblGesHandlingsgebuehr.Text = geshandling.ToString("N2") - SumText &= gesAnz.ToString("N0") & vbTab & bezeichnung & vbNewLine + + 'SumText &= gesAnz.ToString("N0") & vbTab & bezeichnung & vbNewLine + + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Case "AMBAR" @@ -1855,6 +1896,10 @@ Public Class usrCntlSpeditionsBuchSuche If showDok Then print.Viewer.LoadDocument(rpt) print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous + If dt_summen.Rows.Count > 0 Then + dtAbrechnungLocal = dt_summen.Copy() + End If + dtAbrechnung = dtAbrechnungLocal print.Show() Else @@ -1865,6 +1910,10 @@ Public Class usrCntlSpeditionsBuchSuche p.Export(rpt.Document, tmpPath) rpt.Dispose() + If dt_summen.Rows.Count > 0 Then + dtAbrechnungLocal = dt_summen.Copy() + End If + dtAbrechnung = dtAbrechnungLocal Return tmpPath End If @@ -1873,6 +1922,7 @@ Public Class usrCntlSpeditionsBuchSuche End If + Return "" End Function @@ -2091,7 +2141,22 @@ Public Class usrCntlSpeditionsBuchSuche End Sub Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click - getrHandlingAussenstellen(, cboHandlingssatz._value) + If CDate(txtAbfertDat.Text).Year <> CDate(txtAbfertDatBis.Text).Year Then + MsgBox("keine jahresüberschneidende Handlingsauswertung möglich!") + Exit Sub + End If + Dim dtAbrechnung As New DataTable + getrHandlingAussenstellen(CDate(txtAbfertDat.Text).Year, dtAbrechnung, Not cbxHandlingAbrechnen.Checked, cboHandlingssatz.Text.Trim) + + If cbxHandlingAbrechnen.Checked Then + + If lstFiliale.SelectedItems.Count > 1 Then + MsgBox("Es darf nur eine Filiale ausgewählt werden!") + Exit Sub + End If + + createHandlingAbrechnung(dtAbrechnung, cboHandlingssatz.Text.Trim, cboHandlingssatz._value, CInt(lstFiliale._value), CDate(txtAbfertDat.Text), CDate(txtAbfertDatBis.Text)) + End If End Sub Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged @@ -2805,6 +2870,12 @@ Public Class usrCntlSpeditionsBuchSuche End Function Private Sub Button25_Click(sender As Object, e As EventArgs) Handles Button25.Click + + If CDate(txtAbfertDat.Text).Year <> CDate(txtAbfertDatBis.Text).Year Then + MsgBox("keine jahresüberschneidende Handlingsauswertung möglich!") + Exit Sub + End If + Dim where = "" Select Case MyComboBox2._value Case "VERAG" : where = " AND FilialenNr IN (SELECT Filialen.FilialenNr FROM Filialen WHERE Filialen.Firma='VERAG' AND Filialen.FilialenNr NOT IN (4801,4802)) " @@ -2813,8 +2884,17 @@ Public Class usrCntlSpeditionsBuchSuche 'Case "ATILLA" : where = " AND FilialenNr IN (SELECT Filialen.FilialenNr FROM Filialen WHERE Filialen.Firma='VERAG' AND Filialen.FilialenNr NOT IN (5601)) " End Select where &= " and Grenzstelle='AMB' " + Dim dtAbrechnung As New DataTable + getrHandlingAussenstellen(CDate(txtAbfertDat.Text).Year, dtAbrechnung, Not cbxHandlingAbrechnen.Checked, "AMBAR an ALL", where, True) + If cbxHandlingAbrechnen.Checked Then - getrHandlingAussenstellen(, "AMBAR an ALL", where, True) + If lstFiliale.SelectedItems.Count > 1 Then + MsgBox("Es darf nur eine Filiale ausgewählt werden!") + Exit Sub + End If + + createHandlingAbrechnung(dtAbrechnung, MyComboBox2._value, MyComboBox2._value, lstFiliale._value, CDate(txtAbfertDat.Text), CDate(txtAbfertDatBis.Text)) + End If End Sub Private Sub SendungsdetailsÖffnenToolStripMenuItem_Click( @@ -2839,6 +2919,439 @@ Public Class usrCntlSpeditionsBuchSuche End Sub + Private Shared Function createHandlingAbrechnung(dt As DataTable, title As String, anFirma As String, filiale As Integer, von As Date, bis As Date) As Boolean + + Try + + If dt Is Nothing OrElse dt.Rows.Count = 0 Then + MessageBox.Show("Keine Daten vorhanden.", "Handling-Abrechnung", + MessageBoxButtons.OK, + MessageBoxIcon.Information) + Return False + End If + + + + Using frm As New Form + Using dgv As New DataGridView + Using pnlBottom As New Panel + Using btnOk As New Button + Using btnCancel As New Button + + ' ========================= + ' FORM + ' ========================= + frm.Text = anFirma & " Handling-Abrechnung - PL:" & title + frm.StartPosition = FormStartPosition.CenterScreen + frm.Size = New Size(1400, 900) + frm.BackColor = Color.White + frm.Font = New Font("Segoe UI", 10) + + ' ========================= + ' DATAGRIDVIEW + ' ========================= + dgv.DataSource = dt + dgv.Dock = DockStyle.Fill + dgv.ReadOnly = True + dgv.MultiSelect = True + dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect + dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill + dgv.AllowUserToAddRows = False + dgv.AllowUserToDeleteRows = False + dgv.AllowUserToResizeRows = False + dgv.RowHeadersVisible = False + dgv.BackgroundColor = Color.White + dgv.BorderStyle = BorderStyle.None + dgv.EnableHeadersVisualStyles = False + + ' Header Style + dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.FromArgb(45, 45, 48) + dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White + dgv.ColumnHeadersDefaultCellStyle.Font = New Font("Segoe UI", 10, FontStyle.Bold) + dgv.ColumnHeadersHeight = 40 + + ' Row Style + dgv.DefaultCellStyle.SelectionBackColor = Color.FromArgb(0, 120, 215) + dgv.DefaultCellStyle.SelectionForeColor = Color.White + dgv.DefaultCellStyle.Font = New Font("Segoe UI", 10) + dgv.RowTemplate.Height = 32 + dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.FromArgb(245, 245, 245) + + ' ========================= + ' BUTTON PANEL + ' ========================= + pnlBottom.Dock = DockStyle.Bottom + pnlBottom.Height = 60 + pnlBottom.Padding = New Padding(10) + pnlBottom.BackColor = Color.WhiteSmoke + + ' OK BUTTON + btnOk.Text = "Rechnung erstellen" + btnOk.Width = 180 + btnOk.Height = 35 + btnOk.Anchor = AnchorStyles.Right + btnOk.BackColor = Color.FromArgb(0, 120, 215) + btnOk.ForeColor = Color.White + btnOk.FlatStyle = FlatStyle.Flat + btnOk.FlatAppearance.BorderSize = 0 + btnOk.DialogResult = DialogResult.OK + + ' CANCEL BUTTON + btnCancel.Text = "Abbrechen" + btnCancel.Width = 120 + btnCancel.Height = 35 + btnCancel.Left = btnOk.Right + 10 + btnCancel.BackColor = Color.LightGray + btnCancel.FlatStyle = FlatStyle.Flat + btnCancel.DialogResult = DialogResult.Cancel + + ' Position Buttons + btnCancel.Dock = DockStyle.Right + btnOk.Dock = DockStyle.Right + + pnlBottom.Controls.Add(btnCancel) + pnlBottom.Controls.Add(btnOk) + + ' ========================= + ' ADD CONTROLS + ' ========================= + frm.Controls.Add(dgv) + frm.Controls.Add(pnlBottom) + + frm.AcceptButton = btnOk + frm.CancelButton = btnCancel + + ' ========================= + ' SHOW FORM + ' ========================= + If frm.ShowDialog() = DialogResult.OK Then + Dim kdNr As Integer = -1 + Select Case anFirma.Trim() + Case "UNISPED" : kdNr = 704028 + Case "IMEX" : kdNr = 550574 + Case "AMBAR" : kdNr = 725012 + Case Else + MsgBox("falscher Kunde!") + Return False + End Select + + Dim counter = 0 + + For Each row As DataGridViewRow In dgv.SelectedRows + + doRechnung(filiale, kdNr, row.Cells("Grenzstelle").Value, row.Cells("Anzahl").Value, von, bis, row.Cells("HANDLING").Value, row.Cells("zu_kassieren_BAR").Value, counter) + + Next + + MsgBox("Es wurden " & counter & " Belege erstellt!") + + Return True + End If + + End Using + End Using + End Using + End Using + End Using + + Return False + + Catch ex As Exception + + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR( + ex.Message, + ex.StackTrace, + Reflection.MethodInfo.GetCurrentMethod.Name) + + Return False + + End Try + + End Function + + Private Shared Function doRechnung(filiale As Integer, kdNr As Integer, grenzstelle As String, Anzahl As Integer, von As Date, bis As Date, AB_Handling As Double, AB_Handling_BAR As Double, ByRef counter As Integer) As Boolean + + Dim verarbOK As Boolean = True + Dim AbfertigungNr As Integer = 0 + + For i = 0 To 1 + + + Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing + Dim RK_ID As Integer = -1 + Dim isGutschrift As Boolean = False + Dim nettobetrag As Double = 0 + Dim bruttobetrag As Double = 0 + Dim Ust As Double = 0 + If i = 1 Then + isGutschrift = True + nettobetrag = AB_Handling_BAR + bruttobetrag = AB_Handling_BAR + Ust = 0 + Else + nettobetrag = AB_Handling + bruttobetrag = AB_Handling + End If + + If bruttobetrag <> 0 AndAlso nettobetrag <> 0 Then + If Not gen_SPEDBUCH_ByKdNr(kdNr, SPEDBUCH, filiale, AbfertigungNr, Anzahl, von, bis) Then verarbOK = False + If Not gen_RECHNUNG_BySPEDBUCH(kdNr, SPEDBUCH, RK_ID, grenzstelle, isGutschrift, nettobetrag, bruttobetrag, Ust) Then verarbOK = False + If verarbOK Then + counter += 1 + End If + End If + + + Next + + + + + + Return verarbOK + + End Function + + + Private Shared Function gen_SPEDBUCH_ByKdNr(ByRef KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef Filiale As Integer, ByRef AbfertigungsNr As Integer, ByRef anzahl As Integer, ByRef von As Date, ByRef bis As Date) + Try + If KdNr = "" Then Return False + + Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) + SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch + Dim OffertenNr As Integer + Dim Abfertigungsart As Integer + + OffertenNr = 2 : Abfertigungsart = 23 : SPEDBUCH.FilialenNr = Filiale + + + Dim GJ = Now.Year + If IsDate(bis) AndAlso bis > Now.AddYears(-5) Then GJ = cRKSV.getGJ(bis, 1) + + If AbfertigungsNr > 0 Then + SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(Filiale, AbfertigungsNr) + Else + SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, GJ) + AbfertigungsNr = SPEDBUCH.AbfertigungsNr + End If + + SPEDBUCH.NewUNTER_NR() + + SPEDBUCH.Vermittler = AD.Ordnungsbegriff + SPEDBUCH.VermittlerKundenNr = KdNr + SPEDBUCH.VermittlerOffertenNr = OffertenNr + SPEDBUCH.Abfertigungsdatum = bis.ToShortDateString + SPEDBUCH.Zollsystem_Land = "DE" + + SPEDBUCH.Abfertigungsart = Abfertigungsart + SPEDBUCH.Bar = 0 + SPEDBUCH.Fakturiert = 1 + SPEDBUCH.AnzahlSonstiges = 1 + SPEDBUCH.Abfertigungsanzahl = 1 + + SPEDBUCH.AvisUhrzeit = Nothing + SPEDBUCH.Umrechnungskurs = Nothing + SPEDBUCH.veoerz_basbtg = Nothing + SPEDBUCH.Sicherheitsbetrag = Nothing + + SPEDBUCH.Abfertigungsanzahl = anzahl + SPEDBUCH.Bemerkungen = "Sammelrechnung " & von.ToShortDateString & " - " & bis.ToShortDateString & " / Abfertigungen: " & anzahl + + SPEDBUCH.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + + Return SPEDBUCH.SAVE + + Catch ex As System.Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + + End Function + + Private Shared Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef grenzstelle As String, isGutschrift As Boolean, Nettobetrag As Double, Bruttobetrag As Double, UstBetrag As Double) + Try + + If KdNr = "" Then Return False + + Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr) + Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr) + Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang + + Dim OffertenNr As Integer + Dim Abfertigungsart As Integer + + OffertenNr = 2 : Abfertigungsart = 23 + If isGutschrift Then + RG.Anlage_1 = "SA Handling " & grenzstelle + Else + RG.Anlage_1 = "SA Gutschrift " & grenzstelle + End If + + If grenzstelle = "NKD" AndAlso VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID = 1 Then + RG.Firma_ID = 11 'wenn NKD + Else + RG.Firma_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID + End If + + + RG.FilialenNr = SPEDBUCH.FilialenNr + RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr + RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr + RG.UnterNr = RG.getMaxRGUnterNr() + + RG.Buchungsjahr = cRKSV.getGJ(SPEDBUCH.Abfertigungsdatum, RG.Firma_ID) 'If(Now.Month = 1, Now.Year - 1, Now.Year) + RG.FilialenNr = SPEDBUCH.FilialenNr + RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum + RG.Sammelrechnung = 0 + + If isGutschrift Then + + RG.[BelegartenKz] = "AG" + RG.[BelegartenNr] = 71 + RG.Vorzeichen = "-" + RG.BelegartenBez = "Gutschrift" + RG.Steuerschlüssel = 10 'RC weil Bar! + + Else + + RG.BelegartenKz = "AR" + RG.BelegartenNr = 70 + RG.BelegartenBez = "Rechnung" + RG.Vorzeichen = "+" + RG.Steuerschlüssel = KD.Steuerschlüssel + + End If + + + RG.VermittlerKundenNr = AD.AdressenNr + RG.VermittlerLandKz = AD.LandKz + RG.VermittlerName_1 = AD.Name_1 + RG.VermittlerName_2 = AD.Name_2 + RG.VermittlerOffertenNr = OffertenNr + RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + RG.VermittlerStraße = AD.Straße + RG.Rechnung_an = 3 + RG.OffertenNr = OffertenNr + + RG.KundenNrZentrale = KD.KundenNrZentrale + RG.RechnungsKundenNr = AD.AdressenNr + RG.RechnungsLandKz = AD.LandKz + RG.RechnungsName_1 = AD.Name_1 + RG.RechnungsName_2 = AD.Name_2 + RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + RG.RechnungsStraße = AD.Straße + + RG.RechnungsUstIdKz = AD.UstIdKz + RG.RechnungsUstIdNr = AD.UstIdNr + RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft + + RG.Lastschrift = KD.Lastschrift + RG.Kunden_SVS = KD.SVS + + RG.Vorkasse = KD.Vorkasse + RG.Vorlageprovision_Proz = KD.Vorlageprovision + RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen + RG.RechnungSprache = "DE" + + RG.Anlage_2 = "" + RG.Anlage_3 = "" + RG.Anlage_4 = "" + RG.Anlage_5 = "" + RG.Anlage_6 = "" + + RG.Nettozahlungsziel = KD.Zahlungsziel + RG.Grenze = grenzstelle + + RG.SteuerpflichtigerGesamtbetrag = 0 + RG.SteuerfreierGesamtbetrag = 0 + RG.Status = 0 + + RG.[Vorkosten] = 0 + RG.[Erlös] = 0 + RG.[Währungscode] = "EUR" + RG.ReErfZeitstempel = Now + + RG.Vermerk = SPEDBUCH.Vermerk + + RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + Dim sqlstr As String = "" + Dim useNettogesamtbetrag As Boolean = False + + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + + If isGutschrift Then + allPos(RG, OFFERTE, 496, Nettobetrag, Bruttobetrag, UstBetrag, "Barinkasso Handling " & grenzstelle) + Else + allPos(RG, OFFERTE, 345, Nettobetrag, Bruttobetrag, UstBetrag, "Handling " & grenzstelle) + End If + + Dim dtSt As DataTable = (New SQL).loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL") + If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then + RG.Steuersatz_Proz = dtSt.Rows(0)(0) + End If + + cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag) + + RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim + + If RG.SAVE Then + RK_ID = RG.RK_ID + Return True + Else + Return False + End If + + Catch ex As System.Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + + End Function + + + + Private Shared Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0, Optional leistungsBez As String = "") + Try + + For Each o In OFFERTE.POSITIONEN + If o.LeistungsNr = LeistungsNr Then + + Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen() + Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr) + POS.LeistungsNr = o.LeistungsNr + POS.LeistungsBez = IIf(leistungsBez <> "", leistungsBez, o.LeistungsBez) + + POS.BerechnungsartNr = o.BerechnungsartNr + POS.Anzahl = 1 + POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig + POS.BGebBgl = NettoBetrag - UstBetrag + + + If POS.Steuerpflichtig Then + POS.SteuerpflichtigerBetrag = NettoBetrag + POS.Preis = NettoBetrag + Else + POS.SteuerfreierBetrag = BruttoBetrag + POS.Preis = BruttoBetrag + End If + POS.BGebLeistungsNr = o.BGebLeistungsNr + POS.BGebProzent = o.BGebProzent + POS.BGebMinBetrag = o.BGebMinBetrag + + RG.POSITIONEN.Add(POS) + + Return True + End If + Next + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click, ToolStripMenuItem19.Click Dim kdnrsrch As Integer = -1 @@ -4582,4 +5095,5 @@ Class cSpeditionsbuchReport Return headerDocs & " || " & itemDocs End Function + End Class \ No newline at end of file diff --git a/SDL/kunden/usrCntlOfferte.vb b/SDL/kunden/usrCntlOfferte.vb index c8bec129..3946b3ef 100644 --- a/SDL/kunden/usrCntlOfferte.vb +++ b/SDL/kunden/usrCntlOfferte.vb @@ -1,5 +1,6 @@ -Imports Microsoft.Office.Interop - + +Imports Microsoft.Office.Interop +Imports Microsoft.Office.Interop.Excel Public Class usrCntlOfferte Dim FUNC As New cProgramFunctions @@ -12,7 +13,7 @@ Public Class usrCntlOfferte Dim OFFERTEBind As cEasyBinding Dim table Public BIND_DB = "FMZOLL" - Dim tmpDataTable As New DataTable + Dim tmpDataTable As New System.Data.DataTable Dim currentOffert As VERAG_PROG_ALLGEMEIN.cOfferte Dim currentOffertArchiv As VERAG_PROG_ALLGEMEIN.cOfferteArchiv Dim edit As Boolean @@ -262,7 +263,7 @@ Public Class usrCntlOfferte btnAddLeistung.ContextMenuStrip = cntxtAddSdl ' cntxtAddSdl - Dim ptLowerLeft As New Point(sender.width, sender.Height) + Dim ptLowerLeft As New System.Drawing.Point(sender.width, sender.Height) ptLowerLeft = sender.PointToScreen(ptLowerLeft) ptLowerLeft.X -= sender.width cntxtAddSdl.Show(ptLowerLeft) @@ -894,7 +895,7 @@ Public Class usrCntlOfferte If dgvOfferteDetails.Rows.Count = 0 Then Exit Sub - Dim dtKostenkalk As DataTable = cProgramFunctions.dgridViewTods(dgvOfferteDetails) + Dim dtKostenkalk As System.Data.DataTable = cProgramFunctions.dgridViewTods(dgvOfferteDetails) If dtKostenkalk.Rows.Count < 1 Then MsgBox("keine Daten!") @@ -968,7 +969,7 @@ Public Class usrCntlOfferte Dim currentRow As Integer = 13 - Dim dtkeineMdtKostenkalk_mitPreise As DataTable = dtKostenkalk.Select("Preis <> ''").CopyToDataTable + Dim dtkeineMdtKostenkalk_mitPreise As System.Data.DataTable = dtKostenkalk.Select("Preis <> ''").CopyToDataTable dtkeineMdtKostenkalk_mitPreise.Columns.Add("price_new", System.Type.GetType("System.Int32")) Dim DatumDerZollabf As String = dtkeineMdtKostenkalk_mitPreise.Rows(0).Item("Geändert am") @@ -1018,6 +1019,19 @@ Public Class usrCntlOfferte Select Case sender.name Case "btnKK_Mail" + + exclApp.Visible = False + + ' Datei öffnen + + + ' Als PDF exportieren + Dim tmpPath_Report = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(ExcelBez & kdNr & ".pdf", ".pdf", , False) + + Datei.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, tmpPath_Report, XlFixedFormatQuality.xlQualityStandard, True, False) + + + Dim outl As New Outlook.Application Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Mail = outl.CreateItem(0) @@ -1034,11 +1048,11 @@ Public Class usrCntlOfferte
  • Personalkostenerhöhungen in der Branche
  • Verlagerung der Aufgaben von der Zollverwaltung zu den Spediteuren
  • Verschärfte gesetzliche Bestimmungen (CBAM, NCTS5,..)
  • -
  • Permanentes Update der elektronischen Zollsysteme
  • +
  • Permanente Updates der elektronischen Zollsysteme
  • Fortlaufende Weiterbildung unserer Zollsachbearbeitenden
  • Verlängerte Öffnungszeiten
  • Inflation, Wirtschaftskrise
  • -
  • Gesteigerte Energiekosten, Versorgungskosten
  • +
  • Gestiegene Energiekosten, Versorgungskosten

  • Beiliegend erhalten Sie eine Aufstellung mit den angepassten Abfertigungssätzen, gültig ab 01. Juni 2026.
    @@ -1055,7 +1069,7 @@ Public Class usrCntlOfferte Mail.HTMLBody = "
    " & TextHTML & "
    " Mail.Subject = "Preiserhöhung " & Today().Year - Mail.Attachments.Add(Path) + Mail.Attachments.Add(tmpPath_Report) Mail.Display() diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb b/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb index a3be93ca..20d9b3c6 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cHandlingssaetzeIntern.vb @@ -5,26 +5,45 @@ Imports System.Data.SqlClient Public Class cHandlingssaetzeInternLIST Property hs_Bezeichnung As Object = Nothing + Property hs_jahr As Object = Nothing ' Property OffertenNr As Object = Nothing Public LIST As New List(Of cHandlingssaetzeIntern) Dim SQL As New SQL 'Dim listTodelete As New List(Of cHandlingssaetzeIntern) - Sub New(hs_Bezeichnung) + Sub New(hs_Bezeichnung, hs_jahr) Me.hs_Bezeichnung = hs_Bezeichnung + Me.hs_jahr = hs_jahr ' Me.OffertenNr = OffertenNr - LOAD_LIST(Me.hs_Bezeichnung) + LOAD_LIST(Me.hs_Bezeichnung, Me.hs_jahr) End Sub Public Sub CLEAR() LIST.Clear() End Sub - Public Sub LOAD_LIST(hs_Bezeichnung) + Public Sub LOAD_LIST(hs_Bezeichnung, Jahr) + + Dim SQLString = " AND ISNULL(hs_gueltigAbJahr, " & Jahr & ") = + CASE + WHEN EXISTS ( + SELECT 1 + FROM [VERAG].[dbo].[tblHandlingssaetzeIntern] + WHERE hs_Bezeichnung = @hs_Bezeichnung + AND ISNULL(hs_gueltigAbJahr, " & Jahr & ") = " & Jahr & " + ) + THEN 2023 + ELSE ( + SELECT MAX(ISNULL(hs_gueltigAbJahr, " & Jahr & ")) + FROM [VERAG].[dbo].[tblHandlingssaetzeIntern] + WHERE hs_Bezeichnung = @hs_Bezeichnung + ) + END" + Try LIST.Clear() Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() - Using cmd As New SqlCommand("SELECT * FROM tblHandlingssaetzeIntern WHERE hs_Bezeichnung=@hs_Bezeichnung ", conn) + Using cmd As New SqlCommand("SELECT * FROM tblHandlingssaetzeIntern WHERE hs_Bezeichnung=@hs_Bezeichnung " & SQLString, conn) cmd.Parameters.AddWithValue("@hs_Bezeichnung", hs_Bezeichnung) ' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr) Dim dr = cmd.ExecuteReader()