From 1256a2aa64dfdb1e56c431c2e2833a062a9713a7 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Thu, 19 Feb 2026 18:13:10 +0100 Subject: [PATCH] Datumsabfrage, Sammelrechnunsdruck, offeneAnrtaege, etc. --- SDL/Fakturierung/frmFaktSammelRgDrucken.vb | 6 +- SDL/USTV/frmUSTVoffeneAntraege.vb | 2 +- SDL/USTV/usrCntlUSTV.vb | 3 +- VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb | 2 +- .../frmDatumsabfrage.Designer.vb | 72 +++++++++++++++++++ VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.vb | 57 ++++++++++++++- 6 files changed, 132 insertions(+), 10 deletions(-) diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index eff14f35..bf9a5f82 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -1,8 +1,4 @@ -Imports com.sun.tools.javadoc -Imports GrapeCity.ActiveReports.ReportsCore.Tools -Imports GrapeCity.Viewer.Common.Model -Imports Microsoft.Office.Interop -Imports VERAG_PROG_ALLGEMEIN +Imports Microsoft.Office.Interop Public Class frmFaktSammelRgDrucken diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index 11a93fe8..54e33786 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -1118,7 +1118,7 @@ Public Class frmUSTVoffeneAntraege Dim dt = IDS.checkInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value) If dt.Rows.Count > 0 Then - cProgramFunctions.genExcelFromDT_NEW(dt,,, "Fehlende PDF-Teilrechnungen inkl. Datensatz" & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString) + cProgramFunctions.genExcelFromDT_NEW(dt,,, "Fehlende PDF-Teilrechnungen inkl. Datensatz " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString) If dt.Rows.Count <= 10 Then If vbYes = MsgBox(dt.Rows.Count & " Gesamtrechnungen der fehlenden PDF-Teilrechnungen anzeigen?", vbYesNo) Then For Each row In dt.Rows diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index 66a037e1..19418932 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -1237,13 +1237,14 @@ Public Class usrCntlUSTV If f.DialogResult = DialogResult.OK Then Dim pruefdatum As Date = CDate(f.Datum) + Dim laenderausnahmen = f.exceptedCountries Dim sqlQery = "Select A.AdressenNr, A.[E-Mail], A.[E-Mail2], A.LandKz as KundeLand, A.Ordnungsbegriff,L.LandKz as SteuerLandKz, S.StNrFürRückerstattungUSt, S.StNrGültigkeitsdatum, CAST('" & pruefdatum & "' AS DATE) AS Prüfdatum, CASE WHEN S.StNrGültigkeitsdatum > CAST('" & pruefdatum & "' AS DATE) THEN 1 ELSE 0 END AS Gültig FROM [Länderverzeichnis für die Außenhandelsstatistik] L INNER JOIN (Adressen A INNER JOIN Währungstabelle W ON A.LandKz = W.LandKz INNER JOIN tblSteuernummern S ON A.AdressenNr = S.AdressenNr) ON L.LandNr = S.LandNr - WHERE S.StNrGültigkeitsdatum IS NOT NULL AND W.MitgliedslandEU = 0 " & IIf(sqlKunde <> "", sqlKunde, "") & IIf(f.cbxKunden.Checked, " AND A.AdressenNr between " & f.cboKundenkreis._value.Replace("-", " AND "), "") + WHERE S.StNrGültigkeitsdatum IS NOT NULL AND W.MitgliedslandEU = 0 " & IIf(sqlKunde <> "", sqlKunde, "") & IIf(f.cbxKunden.Checked, " AND A.AdressenNr between " & f.cboKundenkreis._value.Replace("-", " AND "), "") & IIf(laenderausnahmen <> "", " AND L.LandKz NOT IN (" & laenderausnahmen & ")", "") Dim dtVorschau As DataTable = SQL.loadDgvBySql(sqlQery, "FMZOLL") diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb index 1e007358..fb22d244 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb @@ -669,7 +669,7 @@ Public Class cIDS Dim SQLstr = " " - If IsDate(reDatVon) AndAlso cDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso cDate(reDatBis) > "01.01.2020" Then + If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then SQLstr &= "select Invoicenumber as RechnungsNr ,YearMonthDay as Rechnungsdatum, Adressen.AdressenNr as KundenNr,Adressen.[Name 1] as Kunde, kde_keineMWSt,daId from tblIDSInvoicesNew Inner join [tbl_IDS_Kunden] on [tbl_IDS_Kunden].CustomerCode =tblIDSInvoicesNew.CustomerCode and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 Inner join Adressen on Adressen.AdressenNr = [tbl_IDS_Kunden].KdNrVERAG INNER JOIN tblKundenErweitert on Adressen.AdressenNr = kde_KundenNr where invoice_id not in (select TotalInvoiceId from tblIDSInvoicesNewSplittedByCountry) AND YearMonthDay >= '" & reDatVon.ToShortDateString & "' and YearMonthDay < '" & reDatBis.ToShortDateString & "'" Else SQLstr &= "select * from tblIDSInvoicesNew where invoice_id not in (select TotalInvoiceId from tblIDSInvoicesNewSplittedByCountry) AND Year(YearMonthDay) >= 2025" diff --git a/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.Designer.vb b/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.Designer.vb index 674b0ba1..2404239b 100644 --- a/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.Designer.vb +++ b/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.Designer.vb @@ -26,6 +26,11 @@ Partial Class frmDatumsabfrage Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components) + Me.MyPanel2 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components) + Me.Label2 = New System.Windows.Forms.Label() + Me.lbLaender = New VERAG_PROG_ALLGEMEIN.MyListBox() + Me.btnKeine = New System.Windows.Forms.Button() + Me.btnAlle = New System.Windows.Forms.Button() Me.pnlKunde = New System.Windows.Forms.Panel() Me.cbxKunden = New System.Windows.Forms.CheckBox() Me.cboKundenkreis = New VERAG_PROG_ALLGEMEIN.MyComboBox() @@ -35,13 +40,17 @@ Partial Class frmDatumsabfrage Me.lbl = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() Me.MyPanel1.SuspendLayout() + Me.MyPanel2.SuspendLayout() Me.pnlKunde.SuspendLayout() Me.SuspendLayout() ' 'MyPanel1 ' + Me.MyPanel1.AutoSize = True + Me.MyPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.MyPanel1.BackColor = System.Drawing.Color.White Me.MyPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.MyPanel1.Controls.Add(Me.MyPanel2) Me.MyPanel1.Controls.Add(Me.pnlKunde) Me.MyPanel1.Controls.Add(Me.dtp_date) Me.MyPanel1.Controls.Add(Me.btnClose) @@ -54,6 +63,60 @@ Partial Class frmDatumsabfrage Me.MyPanel1.Size = New System.Drawing.Size(286, 84) Me.MyPanel1.TabIndex = 3 ' + 'MyPanel2 + ' + Me.MyPanel2.AutoSize = True + Me.MyPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink + Me.MyPanel2.Controls.Add(Me.Label2) + Me.MyPanel2.Controls.Add(Me.lbLaender) + Me.MyPanel2.Controls.Add(Me.btnKeine) + Me.MyPanel2.Controls.Add(Me.btnAlle) + Me.MyPanel2.Location = New System.Drawing.Point(3, 82) + Me.MyPanel2.Name = "MyPanel2" + Me.MyPanel2.Size = New System.Drawing.Size(253, 364) + Me.MyPanel2.TabIndex = 49 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(22, 3) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(40, 13) + Me.Label2.TabIndex = 50 + Me.Label2.Text = "Länder" + ' + 'lbLaender + ' + Me.lbLaender._value = "" + Me.lbLaender.FormattingEnabled = True + Me.lbLaender.Location = New System.Drawing.Point(25, 16) + Me.lbLaender.Name = "lbLaender" + Me.lbLaender.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple + Me.lbLaender.Size = New System.Drawing.Size(225, 316) + Me.lbLaender.TabIndex = 46 + ' + 'btnKeine + ' + Me.btnKeine.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnKeine.Location = New System.Drawing.Point(150, 338) + Me.btnKeine.Margin = New System.Windows.Forms.Padding(0) + Me.btnKeine.Name = "btnKeine" + Me.btnKeine.Size = New System.Drawing.Size(100, 26) + Me.btnKeine.TabIndex = 47 + Me.btnKeine.Text = "Keine" + Me.btnKeine.UseVisualStyleBackColor = True + ' + 'btnAlle + ' + Me.btnAlle.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnAlle.Location = New System.Drawing.Point(25, 338) + Me.btnAlle.Margin = New System.Windows.Forms.Padding(0) + Me.btnAlle.Name = "btnAlle" + Me.btnAlle.Size = New System.Drawing.Size(100, 26) + Me.btnAlle.TabIndex = 48 + Me.btnAlle.Text = "Alle" + Me.btnAlle.UseVisualStyleBackColor = True + ' 'pnlKunde ' Me.pnlKunde.Controls.Add(Me.cbxKunden) @@ -149,6 +212,7 @@ Partial Class frmDatumsabfrage ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoSize = True Me.ClientSize = New System.Drawing.Size(286, 84) Me.Controls.Add(Me.MyPanel1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None @@ -157,9 +221,12 @@ Partial Class frmDatumsabfrage Me.Text = "frmDatumsabfrage" Me.MyPanel1.ResumeLayout(False) Me.MyPanel1.PerformLayout() + Me.MyPanel2.ResumeLayout(False) + Me.MyPanel2.PerformLayout() Me.pnlKunde.ResumeLayout(False) Me.pnlKunde.PerformLayout() Me.ResumeLayout(False) + Me.PerformLayout() End Sub @@ -172,4 +239,9 @@ Partial Class frmDatumsabfrage Friend WithEvents pnlKunde As Panel Public WithEvents cboKundenkreis As VERAG_PROG_ALLGEMEIN.MyComboBox Public WithEvents cbxKunden As CheckBox + Friend WithEvents btnAlle As Button + Friend WithEvents lbLaender As MyListBox + Friend WithEvents btnKeine As Button + Friend WithEvents MyPanel2 As MyPanel + Friend WithEvents Label2 As Label End Class diff --git a/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.vb b/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.vb index 42edf1ec..1f43963f 100644 --- a/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.vb +++ b/VERAG_PROG_ALLGEMEIN/frmDatumsabfrage.vb @@ -1,10 +1,10 @@ Imports System.Windows.Forms -Imports GrapeCity.Viewer.Common.Model -Imports VERAG_PROG_ALLGEMEIN Public Class frmDatumsabfrage Dim onlypastDate As Boolean = True Dim panelKunde As Boolean = False + Dim panelLaender As Boolean = False + Sub New() @@ -31,9 +31,13 @@ Public Class frmDatumsabfrage onlypastDate = _onlypastDate lbl.Text = title panelKunde = _mitKundengruppe + panelLaender = _mitKundengruppe End Sub + + Public Datum As Date = CDate(Now.ToShortDateString) + Public exceptedCountries As String Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click Label1.Text = "" @@ -43,6 +47,9 @@ Public Class frmDatumsabfrage Exit Sub End If Datum = CDate(dtp_date.Value) + If panelLaender Then + exceptedCountries = getValues() + End If Me.DialogResult = DialogResult.OK End Sub @@ -54,12 +61,26 @@ Public Class frmDatumsabfrage Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click Datum = CDate(Now.ToShortDateString) + + If panelLaender Then + exceptedCountries = getValues() + End If + + Me.Close() End Sub Private Sub frmDatumsabfrage(sender As Object, e As EventArgs) Handles Me.Load dtp_date.Value = Now.ToShortDateString pnlKunde.Visible = panelKunde + MyPanel2.Visible = panelLaender + + If panelLaender Then + Me.Height = 462 + Else + Me.Height = 84 + End If + If panelKunde Then cboKundenkreis.Items.Clear() @@ -74,10 +95,42 @@ Public Class frmDatumsabfrage cboKundenkreis.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(" 400000-499999: YU - KUNDEN", "400000-499999")) End If + If panelLaender Then + lbLaender.fillWithSQL(" select L.LandKz, L.LandBez FROM [Länderverzeichnis für die Außenhandelsstatistik] L + INNER JOIN (Adressen A INNER JOIN Währungstabelle W ON A.LandKz = W.LandKz INNER JOIN tblSteuernummern S ON A.AdressenNr = S.AdressenNr) ON L.LandNr = S.LandNr + WHERE S.StNrGültigkeitsdatum IS NOT NULL AND W.MitgliedslandEU = 0 GROUP BY L.LandBez, L.LandKz + order by L.LandBez ", , "FMZOLL") + End If End Sub Private Sub cbxKunden_CheckedChanged(sender As Object, e As EventArgs) Handles cbxKunden.CheckedChanged cboKundenkreis.Enabled = cbxKunden.Checked End Sub + + Private Sub btnAlle_Click(sender As Object, e As EventArgs) Handles btnAlle.Click + For i = 0 To lbLaender.Items.Count - 1 + lbLaender.SetSelected(i, True) + Next + End Sub + + Private Sub btnKeine_Click(sender As Object, e As EventArgs) Handles btnKeine.Click + For i = 0 To lbLaender.Items.Count - 1 + lbLaender.SetSelected(i, False) + Next + End Sub + + Function getValues() As String + Dim s As String = "" + + For Each i As VERAG_PROG_ALLGEMEIN.MyListItem In lbLaender.Items + If Not lbLaender.GetSelected(lbLaender.Items.IndexOf(i)) Then + s += "'" & i.Value & "', " + End If + Next + If s.EndsWith(", ") Then + s = s.Substring(0, s.Length - 2) + End If + Return s + End Function End Class \ No newline at end of file