API, USTVA, MDM

This commit is contained in:
2024-10-18 09:50:46 +02:00
parent f062f1a0d7
commit 7576ff2266
5 changed files with 522 additions and 1 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -368,6 +368,7 @@
<Compile Include="Classes\cKundenVollmachten.vb" />
<Compile Include="Classes\cLanguageText.vb" />
<Compile Include="Classes\cLeistungenBUKonten.vb" />
<Compile Include="Classes\cMDMFunctions.vb" />
<Compile Include="Classes\cMessangerListender.vb" />
<Compile Include="Classes\cMessenger.vb" />
<Compile Include="Classes\cNCTSGestellungsadressen.vb" />