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 @@
+