From 7576ff226622583044bc0675c866869ac85561c1 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Fri, 18 Oct 2024 09:50:46 +0200 Subject: [PATCH] API, USTVA, MDM --- SDL/USTV/usrCntlUSTV.Designer.vb | 15 + SDL/USTV/usrCntlUSTV.vb | 8 +- VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb | 3 + .../Classes/cMDMFunctionsAllgemein.vb | 496 ++++++++++++++++++ .../VERAG_PROG_ALLGEMEIN.vbproj | 1 + 5 files changed, 522 insertions(+), 1 deletion(-) create mode 100644 VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb diff --git a/SDL/USTV/usrCntlUSTV.Designer.vb b/SDL/USTV/usrCntlUSTV.Designer.vb index 54edf529..df6150a3 100644 --- a/SDL/USTV/usrCntlUSTV.Designer.vb +++ b/SDL/USTV/usrCntlUSTV.Designer.vb @@ -60,6 +60,7 @@ Partial Class usrCntlUSTV Me.Button8 = New System.Windows.Forms.Button() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.btnKundendatenaktualisieren = New System.Windows.Forms.Button() CType(Me.dgvUSTV, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() Me.Panel2.SuspendLayout() @@ -107,6 +108,7 @@ Partial Class usrCntlUSTV 'Panel1 ' Me.Panel1.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.Panel1.Controls.Add(Me.btnKundendatenaktualisieren) Me.Panel1.Controls.Add(Me.txtVZBetrag) Me.Panel1.Controls.Add(Me.Label8) Me.Panel1.Controls.Add(Me.txt3470Betrag) @@ -615,6 +617,18 @@ Partial Class usrCntlUSTV Me.ContextMenuStrip2.Name = "ContextMenuStrip1" Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' + 'btnKundendatenaktualisieren + ' + Me.btnKundendatenaktualisieren.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnKundendatenaktualisieren.ForeColor = System.Drawing.Color.Black + Me.btnKundendatenaktualisieren.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnKundendatenaktualisieren.Location = New System.Drawing.Point(1468, 6) + Me.btnKundendatenaktualisieren.Name = "btnKundendatenaktualisieren" + Me.btnKundendatenaktualisieren.Size = New System.Drawing.Size(127, 39) + Me.btnKundendatenaktualisieren.TabIndex = 33 + Me.btnKundendatenaktualisieren.Text = "Kundendaten aktualisieren" + Me.btnKundendatenaktualisieren.UseVisualStyleBackColor = True + ' 'usrCntlUSTV ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -670,4 +684,5 @@ Partial Class usrCntlUSTV Friend WithEvents txt3470Betrag As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents Label7 As Label Friend WithEvents ContextMenuStrip2 As ContextMenuStrip + Friend WithEvents btnKundendatenaktualisieren As Button End Class diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index 94b1ca40..ea798f8d 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -1,5 +1,6 @@ Imports System.ComponentModel Imports System.Data.SqlClient +Imports MDM_Worker Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN @@ -22,6 +23,7 @@ Public Class usrCntlUSTV Me.kdNr = kdNr KdSearchBox1.KdNr = kdNr KdSearchBox1.Enabled = False + btnKundendatenaktualisieren.Enabled = True End If btnPLOSEAlle.Enabled = KdSearchBox1.KdNr > 0 @@ -575,5 +577,9 @@ Public Class usrCntlUSTV init() End Sub - + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnKundendatenaktualisieren.Click + If VERAG_PROG_ALLGEMEIN.cMDMFunctions.Update_UStVASummenNeuBerechnen(kdNr) Then + ok = VERAG_PROG_ALLGEMEIN.cMDMFunctions.UStVAKunden_SummenNeuBerechnen(kdNr) + End If + End Sub End Class diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb index b340bcf1..0b177762 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb @@ -24,6 +24,9 @@ Public Enum cAPI_ART VERAG_OUT_NCTS = 10 VERAG_OUT_EZA = 11 + AVISO_IN_MSE = 80 + + End Enum Public Class cAPI_Type diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb new file mode 100644 index 00000000..d4e71502 --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -0,0 +1,496 @@ +Public Class cMDMFunctionsAllgemein + + Shared Function Update_UStVASummenNeuBerechnen(KundenNr As Integer) As Boolean + Try + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + If KundenNr < 0 Then Return False + + Dim dtKundenAntrage As DataTable = SQL.loadDgvBySql("SELECT tblUStVAntrag.UStVAn_ID, tblUStVAntrag.UStVAn_KuNr FROM tblUStVAntrag ORDER BY tblUStVAntrag.UStVAn_ID where UStVAn_KuNr = " & KundenNr, "FMZOLL") + + If dtKundenAntrage.Rows.Count < 1 Then Return False + + Dim updated = False + + For Each r As DataRow In dtKundenAntrage.Rows + + + Dim sqltext = "UPDATE tblUStVAntrag + SET + UStVAn_USteuerbetrag = COALESCE( + (SELECT SUM(UStVPo_USteuerbetrag) + FROM tblUStVPositionen + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_Erstattungsbetrag = COALESCE( + (SELECT SUM(UStVEr_USteuerbetrag) + FROM tblUStVErstattung + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_USteuerbetragEUR = COALESCE( + (SELECT SUM(UStVPo_USteuerbetragEUR) + FROM tblUStVPositionen + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_ErstattungsbetragEUR = COALESCE( + (SELECT SUM(UStVEr_USteuerbetragEUR) + FROM tblUStVErstattung + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0) + WHERE + UStVAn_ID =" & r.Item("UStVAn_ID") + + updated = SQL.doSQL(sqltext, "FMZOLL") + If Not updated Then Return updated + Next + + Return updated + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return False + + End Try + End Function + + Shared Function Update_UStVASummenNeuBerechnen() As Boolean + Try + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Dim sqltext = "UPDATE tblUStVAntrag + SET + UStVAn_USteuerbetrag = COALESCE( + (SELECT SUM(UStVPo_USteuerbetrag) + FROM tblUStVPositionen + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_Erstattungsbetrag = COALESCE( + (SELECT SUM(UStVEr_USteuerbetrag) + FROM tblUStVErstattung + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_USteuerbetragEUR = COALESCE( + (SELECT SUM(UStVPo_USteuerbetragEUR) + FROM tblUStVPositionen + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + UStVAn_ErstattungsbetragEUR = COALESCE( + (SELECT SUM(UStVEr_USteuerbetragEUR) + FROM tblUStVErstattung + WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0)" + + Return SQL.doSQL(sqltext, "FMZOLL") + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return False + + End Try + End Function + + Shared Function UStVAKunden_SummenNeuBerechnen(Optional KundenNr As Integer = 0) As Boolean + Try + + Dim sql As New VERAG_PROG_ALLGEMEIN.SQL + Dim sqlWhere = "" + If KundenNr > 0 Then + sqlWhere = " = " & KundenNr + Else + sqlWhere = "in (SELECT DISTINCT tblSteuernummern.AdressenNr AS UStVAn_KuNr + FROM tblSteuernummern + where AdressenNr is not null)" + End If + + 'alle Kunden, die eine SteuerNr hinterlegt haben inkl. deren hinterlegte Summen! + Dim sqlKunden = "SELECT Kunden.KundenNr as KundenNr, Kunden.UStV_SummeUmsatzsteuerbetragEUR, Kunden.UStV_SummeErstattungsbetragEUR, Kunden.UStV_Summe3470BetragEUR, Kunden.UStV_SummeVZBetragEUR, Kunden.UStV_SummeVorschaubetragEUR_VERAG, Kunden.UStV_SummeVorschaubetragEUR_IDS, Kunden.UStV_SummeVorschaubetragEUR_IT, Kunden.UStV_SummeVorschaubetragEUR_MSE, Kunden.UStV_SummeVorschaubetragEUR_UTA, Kunden.UStV_SummeVorschaubetragEUR + FROM Kunden + WHERE Kunden.KundenNr " & sqlWhere & + "order by Kunden.KundenNr" + + 'Neuberechnung der Steuerbeträge aus den Anträgen + Dim sqlSummeBilden = "SELECT + tblUStVAntrag.UStVAn_KuNr, + SUM(tblUStVAntrag.UStVAn_USteuerbetragEUR) As UStVKu_SummeUmsatzsteuer, + SUM(tblUStVAntrag.UStVAn_ErstattungsbetragEUR) As UStVKu_SummeErstattung, + SUM(ISNULL(tblUStVAntrag.UStVAn_3470, 0)) As UStVKu_SummeKonto3470, + SUM( + CASE + WHEN (ISNULL(tblUStVAntrag.UStVAn_VZBetrag, 0) - ISNULL(tblUStVAntrag.UStVAn_RZBetragVZ, 0)) > tblUStVAntrag.UStVAn_ErstattungsbetragEUR + THEN (ISNULL(tblUStVAntrag.UStVAn_VZBetrag, 0) - ISNULL(tblUStVAntrag.UStVAn_RZBetragVZ, 0)) - tblUStVAntrag.UStVAn_ErstattungsbetragEUR + Else 0 + End + ) AS UStVKu_SummeVorauszahlung + From tblUStVAntrag + Where tblUStVAntrag.UStVAn_KuNr " & sqlWhere & + " Group By tblUStVAntrag.UStVAn_KuNr" + + Dim dtKunden As DataTable = sql.loadDgvBySql(sqlKunden, "FMZOLL") + + Dim dtKundenSummen As DataTable = sql.loadDgvBySql(sqlSummeBilden, "FMZOLL") + + If dtKunden.Rows.Count > 0 Then + For Each r As DataRow In dtKunden.Rows + + Dim curUStV_SummeVorschaubetragEUR As Double + Dim curUStV_SummeVorschaubetragEUR_VERAG As Double + Dim curUStV_SummeVorschaubetragEUR_IDS As Double + Dim curUStV_SummeVorschaubetragEUR_IT As Double + Dim curUStV_SummeVorschaubetragEUR_MSE As Double + Dim curUStV_SummeVorschaubetragEUR_UTA As Double + + Dim curUStV_SummeUmsatzsteuerbetragEUR As Double + Dim curUStV_SummeErstattungsbetragEUR As Double + Dim curUStV_Summe3470BetragEUR As Double + Dim curUStV_SummeVZBetragEUR As Double + Dim invoiceDate = If(Date.Now > New Date(Date.Now.Year, 6, 30), New Date(Date.Now.Year, 1, 1), New Date(Date.Now.Year - 1, 1, 1)) + + 'Neuberechnung der Vorschausummen + curUStV_SummeVorschaubetragEUR_VERAG = UStVKunden_Summen_lesen_Vorschau_VERAG(r.Item("KundenNr"), invoiceDate) + curUStV_SummeVorschaubetragEUR_IDS = UStVKunden_Summen_lesen_Vorschau_IDS(r.Item("KundenNr"), invoiceDate) + curUStV_SummeVorschaubetragEUR_IT = UStVKunden_Summen_lesen_Vorschau_IT(r.Item("KundenNr"), invoiceDate) + curUStV_SummeVorschaubetragEUR_MSE = UStVKunden_Summen_lesen_Vorschau_MSE(r.Item("KundenNr"), invoiceDate) + curUStV_SummeVorschaubetragEUR_UTA = UStVKunden_Summen_lesen_Vorschau_UTA(r.Item("KundenNr"), invoiceDate) + + curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_VERAG + curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_IDS + curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_IT + curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_MSE + curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_UTA + + Dim displayViewKundenSummen = New DataView(dtKundenSummen, "", "UStVAn_KuNr", DataViewRowState.CurrentRows) + Dim KundenDTSummenNeuBerechnet As DataTable = displayViewKundenSummen.ToTable(False) + + If KundenDTSummenNeuBerechnet.Rows.Count = 1 Then + curUStV_SummeUmsatzsteuerbetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString), 0) + curUStV_SummeErstattungsbetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString), 0) + curUStV_Summe3470BetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString), 0) + curUStV_SummeVZBetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString), 0) + + End If + Dim sumChanged As Boolean = False + + If Not (CDbl(r.Item("UStV_SummeUmsatzsteuerbetragEUR")) = curUStV_SummeUmsatzsteuerbetragEUR And + CDbl(r.Item("UStV_SummeErstattungsbetragEUR")) = curUStV_SummeErstattungsbetragEUR And + CDbl(r.Item("UStV_Summe3470BetragEUR")) = curUStV_Summe3470BetragEUR And + CDbl(r.Item("UStV_SummeVZBetragEUR")) = curUStV_SummeVZBetragEUR And + CDbl(r.Item("UStV_SummeVorschaubetragEUR_VERAG")) = curUStV_SummeVorschaubetragEUR_VERAG And + CDbl(r.Item("UStV_SummeVorschaubetragEUR_IDS")) = curUStV_SummeVorschaubetragEUR_IDS And + CDbl(r.Item("UStV_SummeVorschaubetragEUR_IT")) = curUStV_SummeVorschaubetragEUR_IT And + CDbl(r.Item("UStV_SummeVorschaubetragEUR_MSE")) = curUStV_SummeVorschaubetragEUR_MSE And + CDbl(r.Item("UStV_SummeVorschaubetragEUR_UTA")) = curUStV_SummeVorschaubetragEUR_UTA And + CDbl(r.Item("UStV_SummeVorschaubetragEUR")) = curUStV_SummeVorschaubetragEUR) Then + 'sumChanged = True + End If + + If sumChanged Then + 'updateSummen + sql.doSQL("Update Kunden set Kunden.UStV_SummeUmsatzsteuerbetragEUR = " & curUStV_SummeUmsatzsteuerbetragEUR & ", + Kunden.UStV_SummeErstattungsbetragEUR = " & curUStV_SummeErstattungsbetragEUR & ", + Kunden.UStV_Summe3470BetragEUR = " & curUStV_Summe3470BetragEUR & ", + Kunden.UStV_SummeVZBetragEUR = " & curUStV_SummeVZBetragEUR & ", + Kunden.UStV_SummeVorschaubetragEUR_VERAG = " & curUStV_SummeVorschaubetragEUR_VERAG & ", + Kunden.UStV_SummeVorschaubetragEUR_IDS = " & curUStV_SummeVorschaubetragEUR_IDS & ", + Kunden.UStV_SummeVorschaubetragEUR_IT = " & curUStV_SummeVorschaubetragEUR_IT & ", + Kunden.UStV_SummeVorschaubetragEUR_MSE = " & curUStV_SummeVorschaubetragEUR_MSE & ", + Kunden.UStV_SummeVorschaubetragEUR_UTA = " & curUStV_SummeVorschaubetragEUR_UTA & ", + Kunden.UStV_SummeVorschaubetragEUR = " & curUStV_SummeVorschaubetragEUR, "FMZOLL") + + + 'UStVKunden_Summen_speichern_Vorschau_VERAG + 'UPDATE Kunden SET Kunden.UStV_SummeVorschaubetragEUR_VERAG = CCur(Nz(DSum("[SteuerbetragEUR]","qryUStVVorschau_VERAG","[RechnungsKundenNr] = " & [Kunden]![KundenNr]),0)) + 'WHERE (((Kunden.KundenNr)=[prmUStVKu_KuNr])); + + 'UStVKunden_Summen_speichern_Vorschau_IDS + 'UPDATE Kunden SET Kunden.UStV_SummeVorschaubetragEUR_IDS = CCur(Nz(DSum("[SteuerbetragEUR]","qryUStVVorschau_IDS","[RechnungsKundenNr] = " & [Kunden]![KundenNr]),0)) + 'WHERE (((Kunden.KundenNr)=[prmUStVKu_KuNr])); + + + + End If + + Next + End If + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return False + + End Try + End Function + + Shared Function UStVKunden_Summen_lesen_Vorschau_VERAG(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double + 'Return 0 + ' Public Function UStVKunden_Summen_lesen_Vorschau_VERAG(ByRef varUStVAn_KuNr As Variant) As Currency + + ' Dim qdf As DAO.QueryDef + ' Dim rst As DAO.Recordset + ' Dim strParameter As String + ' Dim dtmRechnungsdatum As Date + + '2420 On Error GoTo PROC_Error + '2430 UStVKunden_Summen_lesen_Vorschau_VERAG = 0 + + '2440 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1)) + '2450 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) + '2460 Set qdf = dbs.CreateQueryDef("") + '2470 With qdf + '2480 .Connect = AktuelleVerbindungszeichenfolge(0) + '2490 .ReturnsRecords = True + '2500 .SQL = "EXEC [dbo].[spUStVVorschau_VERAG_Summe] " & strParameter + '2510 Set rst = qdf.OpenRecordset() + '2520 End With + '2530 If Not rst.EOF Then + '2540 UStVKunden_Summen_lesen_Vorschau_VERAG = rst![Vorschaubetrag] + '2550 End If + + + + Dim sql = "SELECT dbo.tblTrdinInvoice.RechnungsKundenNr AS AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblTrdinInvoice.SteuerbetragLokal) As Vorschaubetrag From dbo.tblTrdinInvoice + INNER Join dbo.tblSteuernummern ON dbo.tblTrdinInvoice.RechnungsKundenNr = dbo.tblSteuernummern.AdressenNr + Where (dbo.tblTrdinInvoice.RechnungsKundenNr = " & varUStVAn_KuNr & ") And (dbo.tblTrdinInvoice.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') And (dbo.tblTrdinInvoice.UStVAn_ID Is NULL) And (dbo.tblSteuernummern.LandNr = 38) And (dbo.tblSteuernummern.UStV = 1) + GROUP BY dbo.tblTrdinInvoice.RechnungsKundenNr, dbo.tblSteuernummern.LandNr" + + Dim summe As Double = CDbl((New SQL).getValueTxtBySql(sql, "FMZOLL",,, 0, 10000)) + + Return summe + + End Function + + Shared Function UStVKunden_Summen_lesen_Vorschau_IDS(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double + + '1300 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1)) + '1310 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) + '1320 Set qdf = dbs.CreateQueryDef("") + '1330 With qdf + '1340 .Connect = AktuelleVerbindungszeichenfolge(0) + '1350 .ReturnsRecords = True + '1360 .SQL = "EXEC [dbo].[spUStVVorschau_IDS_Summe] " & strParameter + '1370 Set rst = qdf.OpenRecordset() + '1380 End With + '1390 Do Until rst.EOF + '1400 UStVKunden_Summen_lesen_Vorschau_IDS = UStVKunden_Summen_lesen_Vorschau_IDS + rst![Vorschaubetrag] + '1410 rst.MoveNext + '1420 Loop + Try + + + Dim sqlFMZollDaten = "SELECT dbo.tblDieselArchiv.KdNrVERAG AS AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblDieselArchiv.[VAT Amount]) AS Vorschaubetrag + FROM dbo.tblDieselArchiv INNER JOIN + dbo.tblSteuernummern ON dbo.tblDieselArchiv.KdNrVERAG = dbo.tblSteuernummern.AdressenNr INNER JOIN + dbo.tbl_IDS_Länder ON dbo.tblSteuernummern.LandNr = dbo.tbl_IDS_Länder.LandNr AND dbo.tblDieselArchiv.[Outlet Country Code] = dbo.tbl_IDS_Länder.OutletCountryCode + WHERE (dbo.tblDieselArchiv.KdNrVERAG = " & varUStVAn_KuNr & " ) AND (dbo.tblDieselArchiv.[Year Month Day] >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblDieselArchiv.UStVAn_ID IS NULL) AND + (dbo.tblSteuernummern.UStV = 1) + GROUP BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr + ORDER BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr" + + Dim summeAlteSchnittstelle As Double = CDbl((New SQL).getValueTxtBySql(sqlFMZollDaten, "FMZOLL",,, 0, 10000)) + + Return summeAlteSchnittstelle + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return 0 + + End Try + + End Function + + Shared Function UStVKunden_Summen_lesen_Vorschau_IT(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double + + ' Dim qdf As DAO.QueryDef + ' Dim rst As DAO.Recordset + ' Dim strParameter As String + ' Dim dtmRechnungsdatum As Date + + '1550 On Error GoTo PROC_Error + '1560 UStVKunden_Summen_lesen_Vorschau_IT = 0 + + '1570 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1)) + '1580 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) + '1590 Set qdf = dbs.CreateQueryDef("") + '1600 With qdf + '1610 .Connect = AktuelleVerbindungszeichenfolge(0) + '1620 .ReturnsRecords = True + '1630 .SQL = "EXEC [dbo].[spUStVVorschau_IT_Summe] " & strParameter + '1640 Set rst = qdf.OpenRecordset() + '1650 End With + '1660 Do Until rst.EOF + '1670 UStVKunden_Summen_lesen_Vorschau_IT = UStVKunden_Summen_lesen_Vorschau_IT + rst![Vorschaubetrag] + '1680 rst.MoveNext + '1690 Loop + + 'PROC_Exit: + '1700 On Error Resume Next + '1710 If Not rst Is Nothing Then + '1720 rst.Close + '1730 Set rst = Nothing + '1740 End If + '1750 If Not qdf Is Nothing Then + '1760 qdf.Close0v + '1770 Set qdf = Nothing + '1780 End If + Try + Dim sql = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMautITArchiv.Verrechnungsdatum AS Rechnungsdatum, + dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs AS Rechnungsnummer, + SUM(CAST(ROUND((dbo.tblMautITArchiv.Betrag_mit_Preisnachlass_oder_Preisnachlass - dbo.tblMautITArchiv.Nicht_mehrwertsteuerpflichtiger_Betrag) / 1.22 * 0.22, 2) AS money)) + AS Vorschaubetrag + FROM dbo.tblSteuernummern INNER JOIN + dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN + dbo.tblMautITArchiv ON dbo.Adressen.[TELEPASS-Kd-Nr] = dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs + WHERE (dbo.tblMautITArchiv.UStVAn_ID IS NULL) AND (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.LandNr = 5) AND (dbo.tblSteuernummern.UStV = 1) + AND (dbo.tblMautITArchiv.Verrechnungsdatum >= '" & invoiceDate.ToShortDateString & "') + GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMautITArchiv.Verrechnungsdatum, dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs" + + Dim summeAlteSchnitttelle As Double = CDbl((New SQL).getValueTxtBySql(sql, "FMZOLL",,, 0, 10000)) + + Return summeAlteSchnitttelle + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return 0 + + End Try + + End Function + + Shared Function UStVKunden_Summen_lesen_Vorschau_MSE(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double + 'Return 0 + ' dtmRechnungsdatum = IIf(Date > DateSerial(Year(Of Date), 6, 30), DateSerial(Year(Of Date), 1, 1), DateSerial(Year(Of Date)() - 1, 1, 1)) + '1850 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) + '1860 Set qdf = dbs.CreateQueryDef("") + '1870 With qdf + '1880 .Connect = AktuelleVerbindungszeichenfolge(0) + '1890 .ReturnsRecords = True + '1900 .SQL = "EXEC [dbo].[spUStVVorschau_MSE_Summe] " & strParameter + '1910 Set rst = qdf.OpenRecordset() + '1920 End With + '1930 Do Until rst.EOF + '1940 curUmrechnungskurs = Nz(fktEurokurs(rst![Währungscode], rst![RechnungsDatum]), 0) + '1950 If curUmrechnungskurs = 0 Then + '1960 curVorschaubetragEUR = 0 + '1970 Else + '1980 curVorschaubetragEUR = Int(rst![Vorschaubetrag] / curUmrechnungskurs * 100 + 0.5) / 100 + '1990 End If + '2000 UStVKunden_Summen_lesen_Vorschau_MSE = UStVKunden_Summen_lesen_Vorschau_MSE + curVorschaubetragEUR + '2010 rst.MoveNext + Try + Dim sqlFMZollDaten = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date] AS Rechnungsdatum, SUM(dbo.tblMSETransactionsArchiv.[Original VAT Amount]) AS Vorschaubetrag, dbo.tblMSETransactionsArchiv.[Original Currency] AS Währungscode + FROM dbo.tblSteuernummern INNER JOIN + dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN + dbo.tblMSETransactionsArchiv ON dbo.Adressen.MSEKundenNr = dbo.tblMSETransactionsArchiv.[Customer ID] INNER JOIN + dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND + dbo.tblMSETransactionsArchiv.[Transaction Country] = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz + WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblMSETransactionsArchiv.[Invoice Date] >= '" & invoiceDate.ToShortDateString & "') AND + (dbo.tblMSETransactionsArchiv.[Original VAT Amount] <> 0) AND (dbo.tblMSETransactionsArchiv.UStVAn_ID IS NULL) + GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency] + ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency] " + + Dim summealteSchnittstelle As Double = CDbl((New SQL).getValueTxtBySql(sqlFMZollDaten, "FMZOLL",,, 0, 10000)) + + 'TODO + 'Dim sql = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date] AS Rechnungsdatum, SUM(dbo.tblMSETransactionsArchiv.[Original VAT Amount]) AS Vorschaubetrag, dbo.tblMSETransactionsArchiv.[Original Currency] AS Währungscode + ' FROM dbo.tblSteuernummern INNER JOIN + ' dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN + ' dbo.tblMSETransactionsArchiv ON dbo.Adressen.MSEKundenNr = dbo.tblMSETransactionsArchiv.[Customer ID] INNER JOIN + ' dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND + ' dbo.tblMSETransactionsArchiv.[Transaction Country] = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz + ' WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblMSETransactionsArchiv.[Invoice Date] >= '" & invoiceDate.ToShortDateString & "') AND + ' (dbo.tblMSETransactionsArchiv.[Original VAT Amount] <> 0) AND (dbo.tblMSETransactionsArchiv.UStVAn_ID IS NULL) + ' GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency] + ' ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency] " + + 'Dim summeNeueSchnittstelle As Double = CDbl((New SQL).getValueTxtBySql(sql, "FMZOLL",,,, 10000)) + + + Return summealteSchnittstelle '+ summeNeueSchnittstelle + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return 0 + + End Try + + + + End Function + + Shared Function UStVKunden_Summen_lesen_Vorschau_UTA(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double + 'Return 0 + ' Dim qdf As DAO.QueryDef + ' Dim rst As DAO.Recordset + ' Dim strParameter As String + ' Dim dtmRechnungsdatum As Date + + '2150 On Error GoTo PROC_Error + '2160 UStVKunden_Summen_lesen_Vorschau_UTA = 0 + + '2170 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1)) + '2180 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) + '2190 Set qdf = dbs.CreateQueryDef("") + '2200 With qdf + '2210 .Connect = AktuelleVerbindungszeichenfolge(0) + '2220 .ReturnsRecords = True + '2230 .SQL = "EXEC [dbo].[spUStVVorschau_UTA_Summe] " & strParameter + '2240 Set rst = qdf.OpenRecordset() + '2250 End With + '2260 Do Until rst.EOF + ' 'Der Vorschaubetrag wird durch das Feld dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung bereitgestellt und ist EUR. + '2270 UStVKunden_Summen_lesen_Vorschau_UTA = UStVKunden_Summen_lesen_Vorschau_UTA + rst![Vorschaubetrag] + '2280 rst.MoveNext + '2290 Loop + + 'PROC_Exit: + '2300 On Error Resume Next + '2310 If Not rst Is Nothing Then + '2320 rst.Close + '2330 Set rst = Nothing + '2340 End If + '2350 If Not qdf Is Nothing Then + '2360 qdf.Close + '2370 Set qdf = Nothing + '2380 End If + '2390 Exit Function + + 'PROC_Error: + '2400 ErrNotify Err, "basUStV", "UStVKunden_Summen_lesen_Vorschau_UTA", eNormalError + '2410 Resume PROC_Exit + + Try + Dim sqlFMZollDaten = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Vorschaubetrag + FROM dbo.tblSteuernummern INNER JOIN + dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN + dbo.tblUTAArchiv ON dbo.Adressen.UTAKundenNr = dbo.tblUTAArchiv.Kundennummer INNER JOIN + dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND + dbo.tblUTAArchiv.Lieferland = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3 + WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAArchiv.UStVAn_ID IS NULL) AND + (dbo.tblUTAArchiv.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0) + GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr + ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr" + + Dim summeAlteSchnittstelle As Double = CDbl((New SQL).getValueTxtBySql(sqlFMZollDaten, "FMZOLL",,, 0, 10000)) + + Dim sql = " SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Vorschaubetrag + FROM dbo.tblSteuernummern INNER JOIN + dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN + dbo.tblUTAImportNew ON dbo.Adressen.UTAKundenNr = dbo.tblUTAImportNew.Kundennummer INNER JOIN + dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND + dbo.tblUTAImportNew.Lieferland = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3 + WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAImportNew.archiv IS NULL) AND + (dbo.tblUTAImportNew.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0) + GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr + ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr" + + Dim summeNeueSchnittstelle As Double = CDbl((New SQL).getValueTxtBySql(sql, "FMZOLL",,, 0, 10000)) + + Return summeAlteSchnittstelle + summeNeueSchnittstelle + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + Return 0 + + End Try + End Function + +End Class diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj index 4b84fb4a..4e590302 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj +++ b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj @@ -368,6 +368,7 @@ +