From 722e32b9b4c44665d5d07a50b8ad749877b949b6 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 1 Apr 2025 17:38:15 +0200 Subject: [PATCH] MDM. USTVA, SammelRE, Leistender, etc. --- SDL/Fakturierung/frmFaktSammelRgDrucken.vb | 6 +- SDL/USTV/frmMDM_USTVAntrag.vb | 98 +++++++++++++++---- .../ustCntlUSTV_AntragPosition.Designer.vb | 26 ++++- SDL/USTV/ustCntlUSTV_AntragPosition.vb | 55 ++++++++++- SDL/cProgramFunctions.vb | 18 +++- SDL/mdm/frmMDMDatenverarbetiung.vb | 25 +++++ SDL/seriendruck/usrCntlFakturierung.vb | 8 +- .../Classes/USTV/cUSTVAntrag.vb | 4 +- .../Classes/USTV/cUStVLeistender.vb | 89 +++++++++++++++-- 9 files changed, 284 insertions(+), 45 deletions(-) diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 20d7a4c6..95f48c9b 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -317,16 +317,16 @@ Public Class frmFaktSammelRgDrucken If isEU Then If MyDatagridview1.Columns.Contains("keineMWST") Then If MyDatagridview1.SelectedRows.Count = 1 Then - '1. Schritt: kein MWST Kunde -> ORIGINAL-RE + '1. Schritt: kein MWST Kunde -> ORIGINAL-RE per Mail! MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value End If End If - '2. Schritt: MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + '2. Schritt: MWST Kunde -> wenn kein MWST-BEtrag ->Original sonst Kopie per Mail! If MDMKopiedrucken Then MDMKopiedrucken = CDbl(MyDatagridview1.SelectedRows(0).Cells("Steuer").Value) <> 0 End If Else - 'NICHT EU IST SCHON IM CntlFakt geregelt, d.b. NICHT EU IMMER MIT KOPIE!!!! + End If End If diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index a8735c07..35c935e4 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -2,9 +2,6 @@ Imports System.IO Imports System.Reflection Imports System.Windows.Documents -Imports com.sun.tools.corba.se.idl.constExpr -Imports GrapeCity.Enterprise.Data.Expressions.Tools -Imports IKVM.internal Imports itextsharp.text.pdf Imports itextsharp.text.pdf.parser Imports Microsoft.Office.Interop @@ -72,10 +69,22 @@ Public Class frmMDM_USTVAntrag If UStVAn_ID <= 0 Then Exit Sub + '.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId] + ' FROM [tblUStVPositionen] + ' left join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender] + ' where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL") + .SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId] - FROM [tblUStVPositionen] - left join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender] - where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL") + FROM [tblUStVPositionen] + LEFT JOIN [tblUStVLeistender] as leist + ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0 + AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId]) + OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0 + AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender]) + where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL") + + + .LOAD() .RowTemplate.Height = 20 .AllowUserToOrderColumns = False @@ -630,11 +639,18 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = "Maut" - USTV_POS.UStVPo_Leistender = ANTRAG.plose_Lieferant - If ANTRAG.plose_Lieferant = "PLOSE Sistem Service" Then - USTV_POS.UStVPo_Leistender = "PLOSE SISTEM SERVICE SPA" + + Dim leistender As New cUStVLeistender(ANTRAG.plose_Lieferant & " " & Antrag_LandKz, Antrag_LandKz) + If leistender.UStV_LeistenderId < 1 Then + leistender = New cUStVLeistender(ANTRAG.plose_Lieferant.ToString) End If + USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender + USTV_POS.UStVPo_LeistenderId = leistender.UStV_LeistenderId + 'If ANTRAG.plose_Lieferant = "PLOSE Sistem Service" Then + ' USTV_POS.UStVPo_Leistender = "PLOSE SISTEM SERVICE SPA" + 'End If + USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() If IsNumeric(USTV_POS.UStVPo_daId) AndAlso USTV_POS.UStVPo_daId > 0 Then @@ -746,7 +762,13 @@ Public Class frmMDM_USTVAntrag If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then Dim sql As New SQL USTV_POS.UStVPo_Schnittstelle = True - USTV_POS.UStVPo_Leistender = "VERAG 360 GmbH" + + Dim leistender As New cUStVLeistender("VERAG 360 GmbH" & " " & Antrag_LandKz, Antrag_LandKz) + If leistender.UStV_LeistenderId < 1 Then + leistender = New cUStVLeistender("VERAG 360 GmbH") + End If + + USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() @@ -859,7 +881,15 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = "Diesel" - USTV_POS.UStVPo_Leistender = "RMC Service GmbH" + + Dim leistender As New cUStVLeistender("RMC Service GmbH" & " " & Antrag_LandKz, Antrag_LandKz) + If leistender.UStV_LeistenderId < 1 Then + leistender = New cUStVLeistender("RMC Service GmbH") + End If + + USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString + + USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() @@ -930,7 +960,13 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = r.Item("specification_page_name") - USTV_POS.UStVPo_Leistender = "MS Europe BV" + + Dim leistender As New cUStVLeistender("MS Europe BV" & " " & Antrag_LandKz, Antrag_LandKz) + If leistender.UStV_LeistenderId < 1 Then + leistender = New cUStVLeistender("MS Europe BV") + End If + + USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() @@ -1001,6 +1037,13 @@ Public Class frmMDM_USTVAntrag If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then USTV_POS.UStVPo_Schnittstelle = True + + Dim Leistender As New cUStVLeistender("Union Tank Eckstein Gmbh&Co KG, Kleinostheim" & " " & Antrag_LandKz, Antrag_LandKz) + + If Leistender IsNot Nothing Then + USTV_POS.UStVPo_LeistenderId = Leistender.UStV_LeistenderId + End If + USTV_POS.UStVPo_Leistungsbezeichnung = "MAUT, DIESEL oder KFZ-Zubehör" USTV_POS.UStVPo_Leistender = "Union Tank Eckstein Gmbh&Co KG, Kleinostheim" USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME @@ -1029,10 +1072,9 @@ Public Class frmMDM_USTVAntrag End If If USTV_POS.INSERT() Then - 'kdnnr von UTA nicht unsere verwenden!!!! cUTA.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdnrUTA, USTV_POS.UStVAn_ID) End If - 'tblUStVPositionen + End If Next @@ -1075,7 +1117,14 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = "Diesel" - USTV_POS.UStVPo_Leistender = "IDS EUROPE B.V." + + Dim leistender As New cUStVLeistender("IDS EUROPE B.V." & " " & Antrag_LandKz, Antrag_LandKz) + If leistender.UStV_LeistenderId < 1 Then + leistender = New cUStVLeistender("IDS EUROPE B.V.") + End If + + USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString + USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() @@ -1140,7 +1189,7 @@ Public Class frmMDM_USTVAntrag Dim FIRMA As New cFirmen(1) If ERW.kde_keineMWSt Then - If Not vbYes = MsgBox("Der ausgewählte Kunde " & ADR.Name_1 & " ist als KEIN MWST-Kunde deklariert!" & vbNewLine & "Trotzdem den Antrag speichern?", vbYesNoCancel) Then Exit Sub + If Not vbYes = MsgBox("Der ausgewählte Kunde " & ADR.Name_1 & " ist als KEIN MWST-Kunde deklariert!" & vbNewLine & "Trotzdem Antrag speichern?", vbYesNoCancel) Then Exit Sub End If USTV_ANTRAG.UStVAn_LandNr = cbxLand._value @@ -1167,7 +1216,13 @@ Public Class frmMDM_USTVAntrag Sub initPosition(UStVPo_ID) If UStVPo_ID > 0 Then Dim ANTR_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen(USTV_ANTRAG.UStVAn_ID, UStVPo_ID) + Dim ANTR_Leistender As New VERAG_PROG_ALLGEMEIN.cUStVLeistender(ANTR_POS.UStVPo_Leistender) + If Not IsDBNull(ANTR_POS.UStVPo_LeistenderId) AndAlso ANTR_POS.UStVPo_LeistenderId > 0 Then + ANTR_Leistender = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(ANTR_POS.UStVPo_LeistenderId) + End If + + UstCntlUSTV_AntragPosition1.Enabled = True UstCntlUSTV_AntragPosition1.setValues(USTV_ANTRAG.UStVAn_KuNr, ANTR_POS, Antrag_LandKz, ANTR_Leistender) Else @@ -2179,6 +2234,7 @@ Public Class frmMDM_USTVAntrag For Each row In dtNew.Rows If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then sumVAT += CDbl(row("UStVPo_USteuerbetrag")) + If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then row("UStVPo_USteuerbetrag") = CDbl(row("UStVPo_USteuerbetrag")) Next Dim drLast = dtNew.NewRow @@ -2191,7 +2247,7 @@ Public Class frmMDM_USTVAntrag If dtNew.Columns.Contains("UstV_Leistender_Stadt") Then drLast.Item("UstV_Leistender_Stadt") = DBNull.Value If dtNew.Columns.Contains("UstV_Leistender_Land") Then drLast.Item("UstV_Leistender_Land") = DBNull.Value If dtNew.Columns.Contains("UstV_Leistender_PLZ") Then drLast.Item("UstV_Leistender_PLZ") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_UstNr") Then drLast.Item("UstV_Leistender_UstNr") = DBNull.Value + If dtNew.Columns.Contains("UstV_Leistender_UstNr") Then drLast.Item("UstV_Leistender_UstNr") = "SUM" If dtNew.Columns.Contains("UStVPo_Leistungsbezeichnung") Then drLast.Item("UStVPo_Leistungsbezeichnung") = DBNull.Value dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count) @@ -2200,21 +2256,21 @@ Public Class frmMDM_USTVAntrag For Each col As DataColumn In dtNew.Columns If col.ColumnName = "UStVPo_ID" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ID", "Number") - If col.ColumnName = "UStVPo_ReDat" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReDat", "Date of invoice/import document") - If col.ColumnName = "UStVPo_ReNr" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReNr", "Number of invoice/import document") + If col.ColumnName = "UStVPo_ReDat" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReDat", "Date of invoice") + If col.ColumnName = "UStVPo_ReNr" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReNr", "Number of invoice") If col.ColumnName = "UStVPo_USteuerbetrag" Then col.ColumnName = col.ColumnName.Replace("UStVPo_USteuerbetrag", "Amount of tax refund applied for") If col.ColumnName = "UStVPo_Leistender" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistender", "Name of supplier") If col.ColumnName = "UstV_Leistender_Strasse" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Strasse", "Street") If col.ColumnName = "UstV_Leistender_Stadt" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Stadt", "City") If col.ColumnName = "UstV_Leistender_Land" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Land", "Country") - If col.ColumnName = "UstV_Leistender_PLZ" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_PLZ", "Postal Code") + If col.ColumnName = "UstV_Leistender_PLZ" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_PLZ", "ZIP-Code") If col.ColumnName = "UstV_Leistender_UstNr" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_UstNr", "VAT") If col.ColumnName = "UStVPo_Leistungsbezeichnung" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistungsbezeichnung", "Name of service") Next - cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & vbNewLine & "Name/Company: " & USTV_ANTRAG.UStVAn_Name, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True) + cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & USTV_ANTRAG.UStVAn_Name & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "E") End If diff --git a/SDL/USTV/ustCntlUSTV_AntragPosition.Designer.vb b/SDL/USTV/ustCntlUSTV_AntragPosition.Designer.vb index 3ee9ff52..49692d00 100644 --- a/SDL/USTV/ustCntlUSTV_AntragPosition.Designer.vb +++ b/SDL/USTV/ustCntlUSTV_AntragPosition.Designer.vb @@ -49,6 +49,7 @@ Partial Class ustCntlUSTV_AntragPosition Me.lblAenderungsdatum = New System.Windows.Forms.Label() Me.lblSachbearbeiter = New System.Windows.Forms.Label() Me.pnl = New System.Windows.Forms.Panel() + Me.cbxAntragsfilter = New VERAG_PROG_ALLGEMEIN.MyCheckBoxValue(Me.components) Me.lblWarning = New System.Windows.Forms.Label() Me.btnLeistenderSave = New System.Windows.Forms.Button() Me.sbLeistender = New VERAG_PROG_ALLGEMEIN.MySearchBox() @@ -157,6 +158,7 @@ Partial Class ustCntlUSTV_AntragPosition Me.scanUSTVVollmachten._DATENSERVER_UOrdner3 = "" Me.scanUSTVVollmachten._OPEN_ORIGINAL = False Me.scanUSTVVollmachten._TYPE = "PDF" + Me.scanUSTVVollmachten.AllowDrop = True Me.scanUSTVVollmachten.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.scanUSTVVollmachten.BackColor = System.Drawing.Color.White Me.scanUSTVVollmachten.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle @@ -187,6 +189,7 @@ Partial Class ustCntlUSTV_AntragPosition Me.scanUSTVFABest._DATENSERVER_UOrdner3 = "" Me.scanUSTVFABest._OPEN_ORIGINAL = False Me.scanUSTVFABest._TYPE = "PDF" + Me.scanUSTVFABest.AllowDrop = True Me.scanUSTVFABest.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.scanUSTVFABest.BackColor = System.Drawing.Color.White Me.scanUSTVFABest.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle @@ -291,9 +294,9 @@ Partial Class ustCntlUSTV_AntragPosition Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.5!) Me.Label3.Location = New System.Drawing.Point(630, 31) Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(101, 15) + Me.Label3.Size = New System.Drawing.Size(100, 15) Me.Label3.TabIndex = 5 - Me.Label3.Text = "Leistungs-Geber:" + Me.Label3.Text = "Leistungsgeber*:" ' 'Label6 ' @@ -388,6 +391,7 @@ Partial Class ustCntlUSTV_AntragPosition 'pnl ' Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.cbxAntragsfilter) Me.pnl.Controls.Add(Me.lblWarning) Me.pnl.Controls.Add(Me.btnLeistenderSave) Me.pnl.Controls.Add(Me.sbLeistender) @@ -421,6 +425,20 @@ Partial Class ustCntlUSTV_AntragPosition Me.pnl.Size = New System.Drawing.Size(1300, 239) Me.pnl.TabIndex = 1 ' + 'cbxAntragsfilter + ' + Me.cbxAntragsfilter._date = Nothing + Me.cbxAntragsfilter._showdate = False + Me.cbxAntragsfilter._value = "" + Me.cbxAntragsfilter.AutoSize = True + Me.cbxAntragsfilter.Location = New System.Drawing.Point(779, 29) + Me.cbxAntragsfilter.Name = "cbxAntragsfilter" + Me.cbxAntragsfilter.Size = New System.Drawing.Size(134, 17) + Me.cbxAntragsfilter.TabIndex = 24 + Me.cbxAntragsfilter.Text = "*nach Antr.-Land filtern" + Me.cbxAntragsfilter.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.cbxAntragsfilter.UseVisualStyleBackColor = True + ' 'lblWarning ' Me.lblWarning.AutoSize = True @@ -757,7 +775,7 @@ Partial Class ustCntlUSTV_AntragPosition Me.cboLeistungsgeber.FormattingEnabled = True Me.cboLeistungsgeber.Location = New System.Drawing.Point(633, 7) Me.cboLeistungsgeber.Name = "cboLeistungsgeber" - Me.cboLeistungsgeber.Size = New System.Drawing.Size(280, 21) + Me.cboLeistungsgeber.Size = New System.Drawing.Size(127, 21) Me.cboLeistungsgeber.TabIndex = 9 Me.cboLeistungsgeber.Visible = False ' @@ -915,6 +933,7 @@ Partial Class ustCntlUSTV_AntragPosition Me.UsrcntlPDFScanList1._DATENSERVER_UOrdner3 = "" Me.UsrcntlPDFScanList1._OPEN_ORIGINAL = False Me.UsrcntlPDFScanList1._TYPE = "PDF" + Me.UsrcntlPDFScanList1.AllowDrop = True Me.UsrcntlPDFScanList1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.UsrcntlPDFScanList1.BackColor = System.Drawing.Color.White Me.UsrcntlPDFScanList1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle @@ -1030,4 +1049,5 @@ Partial Class ustCntlUSTV_AntragPosition Friend WithEvents sbLeistender As VERAG_PROG_ALLGEMEIN.MySearchBox Friend WithEvents btnLeistenderSave As Button Friend WithEvents lblWarning As Label + Friend WithEvents cbxAntragsfilter As VERAG_PROG_ALLGEMEIN.MyCheckBoxValue End Class diff --git a/SDL/USTV/ustCntlUSTV_AntragPosition.vb b/SDL/USTV/ustCntlUSTV_AntragPosition.vb index 875cf11d..3fd45627 100644 --- a/SDL/USTV/ustCntlUSTV_AntragPosition.vb +++ b/SDL/USTV/ustCntlUSTV_AntragPosition.vb @@ -96,7 +96,16 @@ Public Class ustCntlUSTV_AntragPosition scanUSTVFABest.INIT(kdnr, "KUNDENDATEN", "FA_Bestaetigungen") scanUSTVVollmachten.INIT(kdnr, "KUNDENDATEN", "USTV_Vollmachten") - sbLeistender.initSearchBox(Me.FindForm, "[UStV_Leistender], ([UStV_Leistender] + ' ' + isnull([UstV_Leistender_UstNr],'')) as Leistender,[UstV_Leistender_PLZ] as PLZ, ([UstV_Leistender_Strasse] + ' ' +[UstV_Leistender_StrasseNr]) as Strasse, [UstV_Leistender_Stadt] as Stadt FROM [tblUStVLeistender]", {"UStV_Leistender", "UstV_Leistender_UstNr"}, "UstV_aktiv = 1", "UStV_Leistender", "UStV_Leistender", "Leistender", "FMZOLL",, 400, 200, {"UStV_Leistender"}) + Dim filter As String = "UstV_aktiv = 1" + If Antrag_LandKz <> "" Then + If cbxAntragsfilter.Checked Then filter &= " and left(UstV_Leistender_UstNr,2)='" & Antrag_LandKz & "'" + sbLeistender.initSearchBox(Me.FindForm, "[UStV_LeistenderId],[UStV_Leistender], ([UStV_Leistender] + ' ' + isnull([UstV_Leistender_UstNr],'')) as Leistender,[UstV_Leistender_PLZ] as PLZ, ([UstV_Leistender_Strasse] + ' ' +[UstV_Leistender_StrasseNr]) as Strasse, [UstV_Leistender_Stadt] as Stadt FROM [tblUStVLeistender]", {"UStV_Leistender", "UstV_Leistender_UstNr"}, filter, "UStV_Leistender", "UStV_LeistenderId", "Leistender", "FMZOLL",, 400, 200, {"UStV_Leistender", "UStV_LeistenderId"}) + + Else + sbLeistender.initSearchBox(Me.FindForm, "[UStV_LeistenderId],[UStV_Leistender], ([UStV_Leistender] + ' ' + isnull([UstV_Leistender_UstNr],'')) as Leistender,[UstV_Leistender_PLZ] as PLZ, ([UstV_Leistender_Strasse] + ' ' +[UstV_Leistender_StrasseNr]) as Strasse, [UstV_Leistender_Stadt] as Stadt FROM [tblUStVLeistender]", {"UStV_Leistender", "UstV_Leistender_UstNr"}, filter, "UStV_Leistender", "UStV_LeistenderId", "Leistender", "FMZOLL",, 400, 200, {"UStV_Leistender", "UStV_LeistenderId"}) + End If + + 'sbLeistender.initSearchBox(Me.FindForm, "[UStV_LeistenderId],[UStV_Leistender], ([UStV_Leistender] + ' ' + isnull([UstV_Leistender_UstNr],'')) as Leistender,[UstV_Leistender_PLZ] as PLZ, ([UstV_Leistender_Strasse] + ' ' +[UstV_Leistender_StrasseNr]) as Strasse, [UstV_Leistender_Stadt] as Stadt FROM [tblUStVLeistender]", {"UStV_Leistender", "UstV_Leistender_UstNr"}, "UstV_aktiv = 1", "UStV_Leistender", "UStV_LeistenderId", "Leistender", "FMZOLL",, 400, 200, {"UStV_Leistender", "UStV_LeistenderId"}) gridAktiv = True End Sub @@ -144,8 +153,15 @@ Public Class ustCntlUSTV_AntragPosition End If If sbLeistender._value IsNot Nothing AndAlso sbLeistender._value <> "" Then - UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(sbLeistender._value) + + If IsNumeric(sbLeistender._value) Then + UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(CInt(sbLeistender._value)) + Else + UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(sbLeistender._value) + End If + UStV_POS.UStVPo_Leistender = UStV_Leist.UStV_Leistender + If UStV_Leist.UStV_LeistenderId > 0 Then UStV_POS.UStVPo_LeistenderId = UStV_Leist.UStV_LeistenderId Else 'save = False End If @@ -269,6 +285,7 @@ Public Class ustCntlUSTV_AntragPosition btnLeistenderSave.Visible = False UStV_POS.UStVPo_Leistender = UStV_Leist.UStV_Leistender + UStV_POS.UStVPo_LeistenderId = UStV_Leist.UStV_LeistenderId 'RaiseEvent CHANGED(UStV_POS.UStVPo_ID) values_changed() End If @@ -344,6 +361,7 @@ Public Class ustCntlUSTV_AntragPosition cboSchnittstellennr.Items.Add(New MyListItem("IDS neu", 8)) cboSchnittstellennr.Items.Add(New MyListItem("MSE neu", 9)) cboSchnittstellennr.Items.Add(New MyListItem("UTA neu", 10)) + cboSchnittstellennr.Items.Add(New MyListItem("PLOSE neu", 11)) End If End Sub @@ -351,7 +369,12 @@ Public Class ustCntlUSTV_AntragPosition Private Sub sbLeistender_VALUE_CHANGED() Handles sbLeistender.VALUE_CHANGED If sbLeistender._value IsNot Nothing AndAlso sbLeistender._value <> "" Then - UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(sbLeistender._value) + If IsNumeric(sbLeistender._value) Then + UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(CInt(sbLeistender._value)) + Else + UStV_Leist = New VERAG_PROG_ALLGEMEIN.cUStVLeistender(sbLeistender._value) + End If + loadChangedDSToPanel(UStV_Leist) End If @@ -380,6 +403,19 @@ Public Class ustCntlUSTV_AntragPosition If sender Is txtUSTBetrag Then If IsNumeric(txtUSTBetrag.Text) AndAlso IsNumeric(txtUmrechnungskurs.Text) Then + + 'Umrechnung bei Währung <> EUR im Antrag! + Dim antr As New cUSTVAntrag(UStV_POS.UStVAn_ID) + + If antr.UStVAn_Währungscode <> "EUR" AndAlso IsDate(UStV_POS.UStVPo_ReDat) Then + If txtUmrechnungskurs.Text = 1 Or txtUmrechnungskurs.Text = "" Then + Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode) + txtUmrechnungskurs.Text = kurs.ezb_kurs + End If + + End If + + txtUSTBetragEUR.Text = Math.Floor((txtUSTBetrag.Text / txtUmrechnungskurs.Text) * 100 + 0.5) / 100 txtChanged = True End If @@ -416,7 +452,11 @@ Public Class ustCntlUSTV_AntragPosition If UStV_Leist.hasEntry Then + + UStV_POS.UStVPo_Leistender = UStV_Leist.UStV_Leistender + If UStV_Leist.UStV_LeistenderId > 0 Then UStV_POS.UStVPo_LeistenderId = UStV_Leist.UStV_LeistenderId + txtChanged = True 'UStV_POS.SAVE() 'RaiseEvent CHANGED(UStV_POS.UStVPo_ID) @@ -459,4 +499,13 @@ Public Class ustCntlUSTV_AntragPosition UStV_POS.SAVE() End Sub + + Private Sub cbxAntragsfilter_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAntragsfilter.CheckedChanged + + Dim filter As String = "UstV_aktiv = 1" + If Antrag_LandKz <> "" Then + If cbxAntragsfilter.Checked Then filter &= " and left(UstV_Leistender_UstNr,2)='" & Antrag_LandKz & "'" + sbLeistender.initSearchBox(Me.FindForm, "[UStV_LeistenderId],[UStV_Leistender], ([UStV_Leistender] + ' ' + isnull([UstV_Leistender_UstNr],'')) as Leistender,[UstV_Leistender_PLZ] as PLZ, ([UstV_Leistender_Strasse] + ' ' +[UstV_Leistender_StrasseNr]) as Strasse, [UstV_Leistender_Stadt] as Stadt FROM [tblUStVLeistender]", {"UStV_Leistender", "UstV_Leistender_UstNr"}, filter, "UStV_Leistender", "UStV_LeistenderId", "Leistender", "FMZOLL",, 400, 200, {"UStV_Leistender", "UStV_LeistenderId"}) + End If + End Sub End Class diff --git a/SDL/cProgramFunctions.vb b/SDL/cProgramFunctions.vb index e5af8915..bf977f3d 100644 --- a/SDL/cProgramFunctions.vb +++ b/SDL/cProgramFunctions.vb @@ -1124,7 +1124,7 @@ Public Class cProgramFunctions Return "" End Function - Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False) As String + Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "") As String Try Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName @@ -1153,9 +1153,25 @@ Public Class cProgramFunctions wb.Worksheets(0).FirstRow.InsertRowsAbove(2) wb.Worksheets(0).Range("A1").Value = HeaderTxt wb.Worksheets(0).Range("A1").Style.Font.Bold = True + + If mergeHeadersToCell <> "" Then + wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Merge() + wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center + wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center + wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.WrapText = True + End If + If HeaderTxt2 <> "" Then wb.Worksheets(0).Range("A2").Value = HeaderTxt2 wb.Worksheets(0).Row(2).InsertRowsBelow(1) + + If mergeHeadersToCell <> "" Then + wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Merge() + wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center + wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center + wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.WrapText = True + End If + End If End If diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 5820d659..e6324fae 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -91,6 +91,8 @@ Public Class frmMDMDatenverarbetiung Dim errorTmp = False + If Not checkAbrechnungsdatum(CDate(datPloseAnhang.Value)) Then Exit Sub + If test Then If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub End If @@ -4236,17 +4238,22 @@ Public Class frmMDMDatenverarbetiung Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + + If test Then If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub End If If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then + If Not checkAbrechnungsdatum(datPloseAnhang.Value) Then Exit Sub + MautD_Befuellen() End If End Sub Function MautD_Befuellen(Optional kdNr = "", Optional _Lieferant = "") As Boolean + Select Case LIEFERANT Case "PLOSE" : deleteMautD("PLOSE") : Return genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString) Case "ASFINAG" : deleteMautD("AT") : Return genASFINAGInsertMautAT(kdNr) @@ -4817,4 +4824,22 @@ RabattBerechnen: End If End Function + + Private Function checkAbrechnungsdatum(abrDate As Date) + + + Dim checkDate As Boolean = False + + If Not (abrDate.Day = 15 Or abrDate.Day = 30 Or abrDate.Day = 31 Or (abrDate.Month = 2 And abrDate.Day = 28)) Then + If Not vbYes = MsgBox("ACHTUNG, immer als Abrechnungsdatum den 15. bzw. den letzten Tag des Monats angeben!" & vbNewLine & "Dies kann zu Fehlern bei der Verrechnung führen!" & vbNewLine & "Möchten Sie wirklich mit dem " & abrDate.ToShortDateString & " fortfahren?", vbYesNoCancel) Then + checkDate = False + Else + checkDate = True + End If + Else + checkDate = True + End If + + Return checkDate + End Function End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 997036af..7bd825ae 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -1014,10 +1014,10 @@ Public Class usrcntlFakturierung If Not isEU Then If rowRE("keinMWSTKunde") Then - 'kein MWST Kunde -> OROGINAL-RE + 'kein MWST Kunde -> ORIGINAL-RE Ausdruck cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, False) Else - 'MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + 'MWST Kunde -> wenn kein MWST-Betrag ->Original sonst Kopie Ausdruck! cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, rowRE("Steuer") <> 0) End If @@ -1027,10 +1027,10 @@ Public Class usrcntlFakturierung Else If rowRE("keinMWSTKunde") Then - 'kein MWST Kunde -> ORIGINAL-RE + 'kein MWST Kunde -> ORIGINAL-RE Ausdruck cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, False) Else - 'MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + 'MWST Kunde -> wenn kein MWST-Betrag ->Original sonst Kopie Ausdruck! cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, rowRE("Steuer") <> 0) End If diff --git a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb index eba36d4e..e90411d3 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb @@ -293,7 +293,7 @@ Public Class cUStVPositionen Property UStVPo_ReNr As Object = Nothing ' NVARCHAR(20) NULL, Property UStVPo_USteuerbetrag As Object = Nothing ' MONEY Not NULL, Property UStVPo_Leistungsbezeichnung As Object = Nothing ' NVARCHAR(255) NULL, - Property UStVPo_Leistender As Object = Nothing ' NVARCHAR(65) NULL, + Property UStVPo_Leistender As String = "" ''NVARCHAR(65) NULL, Property UStVPo_Schnittstelle As Object = Nothing ' BIT Default ((0)) Not NULL, Property UStVPo_SchnittstellenNr As Object = Nothing ' SMALLINT Default ((0)) Not NULL, Property UStVPo_Umrechnungskurs As Object = Nothing ' FLOAT(53) NULL, @@ -302,6 +302,7 @@ Public Class cUStVPositionen Property UStVPo_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL, Property UStVPo_daId As Object = Nothing Property UStVPo_daId_loeschbar As Boolean = True + Property UStVPo_LeistenderId As Integer ' Dim SQL As New SQL @@ -401,6 +402,7 @@ Public Class cUStVPositionen list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_Zeitstempel", UStVPo_Zeitstempel)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_daId", UStVPo_daId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_daId_loeschbar", UStVPo_daId_loeschbar)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVPo_LeistenderId", UStVPo_LeistenderId)) Return list End Function diff --git a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUStVLeistender.vb b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUStVLeistender.vb index a819894a..6a211939 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUStVLeistender.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUStVLeistender.vb @@ -11,17 +11,28 @@ Public Class cUStVLeistender Property UstV_Leistender_Land As Object = Nothing Property UstV_Leistender_UstNr As Object = Nothing Property UstV_Leistender_Adresse As Boolean + Property UStV_LeistenderId As Integer Public hasEntry = False Dim SQL As New SQL - Sub New(UStV_Leistender) + Sub New(UStV_Leistender As String) Me.UStV_Leistender = UStV_Leistender LOAD() End Sub + Sub New(Id As Integer) + Me.UStV_LeistenderId = Id + LOADBYID() + End Sub + + Sub New(UStV_Leistender As String, Land As String) + Me.UStV_Leistender = UStV_Leistender + LOADByLand(Land) + End Sub + Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) @@ -33,6 +44,7 @@ Public Class cUStVLeistender list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstV_Leistender_Land", UstV_Leistender_Land)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstV_Leistender_UstNr", UstV_Leistender_UstNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstV_Leistender_Adresse", UstV_Leistender_Adresse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStV_LeistenderId", UStV_LeistenderId)) Return list End Function @@ -60,9 +72,9 @@ Public Class cUStVLeistender End Function Public Sub LOAD() - Try - hasEntry = False - Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT * FROM tblUStVLeistender WHERE UStV_Leistender=@UStV_Leistender ", conn) cmd.Parameters.AddWithValue("@UStV_Leistender", UStV_Leistender) Dim dr = cmd.ExecuteReader() @@ -82,14 +94,73 @@ Public Class cUStVLeistender 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 + 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 + Public Sub LOADBYID() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUStVLeistender WHERE UStV_LeistenderId=@UStV_LeistenderId ", conn) + cmd.Parameters.AddWithValue("@UStV_LeistenderId", UStV_LeistenderId) + 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 Sub LOADByLand(Land As String) + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT * FROM tblUStVLeistender WHERE UStV_Leistender=@UStV_Leistender and left(UstV_Leistender_UstNr, 2) = '" & Land & "'", conn) + cmd.Parameters.AddWithValue("@UStV_Leistender", UStV_Leistender) + + 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 Try Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()