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