Imports javax.validation.constraints 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 where UStVAn_KuNr = " & KundenNr & "ORDER BY tblUStVAntrag.UStVAn_ID", "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, Optional saveValues As Boolean = True, Optional dt As DataTable = Nothing, Optional sendMail As Boolean = False) As Boolean Try Dim sumChangedPLOSEOK As Boolean = True Dim sumChangedPLOSE As Boolean = True 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, kde_UStV_SummeVorschaubetragEUR_PLOSE as UStV_SummeVorschaubetragEUR_PLOSE FROM Kunden left JOIN [tblKundenErweitert] on [kde_KundenNr] = Kunden.KundenNr WHERE Kunden.KundenNr " & sqlWhere & " order by Kunden.KundenNr" Dim dtKunden As DataTable = sql.loadDgvBySql(sqlKunden, "FMZOLL") If dtKunden.Rows.Count > 0 Then For Each r As DataRow In dtKunden.Rows '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 = " & r.Item("KundenNr") & " Group By tblUStVAntrag.UStVAn_KuNr" Dim dtKundenSummen As DataTable = sql.loadDgvBySql(sqlSummeBilden, "FMZOLL") Dim curUStV_SummeVorschaubetragEUR As Double = 0 Dim curUStV_SummeVorschaubetragEUR_VERAG As Double = 0 Dim curUStV_SummeVorschaubetragEUR_IDS As Double = 0 Dim curUStV_SummeVorschaubetragEUR_IT As Double = 0 Dim curUStV_SummeVorschaubetragEUR_MSE As Double = 0 Dim curUStV_SummeVorschaubetragEUR_UTA As Double = 0 Dim curUStV_SummeVorschaubetragEUR_PLOSE As Double = 0 Dim curUStV_SummeUmsatzsteuerbetragEUR As Double = 0 Dim curUStV_SummeErstattungsbetragEUR As Double = 0 Dim curUStV_Summe3470BetragEUR As Double = 0 Dim curUStV_SummeVZBetragEUR As Double = 0 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 (also alle noch nicht verrechneten Transaktionen , die aber schon eingelesen wurden) 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_PLOSE = UStVKunden_Summen_lesen_Vorschau_PLOSE(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 curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_PLOSE 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 Dim sumChangedOK As Boolean = False If Not ( Math.Round(CDbl(r.Item("UStV_SummeUmsatzsteuerbetragEUR")), 2) = curUStV_SummeUmsatzsteuerbetragEUR And Math.Round(CDbl(r.Item("UStV_SummeErstattungsbetragEUR")), 2) = curUStV_SummeErstattungsbetragEUR And Math.Round(CDbl(r.Item("UStV_Summe3470BetragEUR")), 2) = curUStV_Summe3470BetragEUR And Math.Round(CDbl(r.Item("UStV_SummeVZBetragEUR")), 2) = curUStV_SummeVZBetragEUR And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_VERAG")), 2) = curUStV_SummeVorschaubetragEUR_VERAG And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_IDS")), 2) = curUStV_SummeVorschaubetragEUR_IDS And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_IT")), 2) = curUStV_SummeVorschaubetragEUR_IT And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_MSE")), 2) = curUStV_SummeVorschaubetragEUR_MSE And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_UTA")), 2) = curUStV_SummeVorschaubetragEUR_UTA And Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR")), 2) = curUStV_SummeVorschaubetragEUR) Then sumChanged = True sumChangedOK = False End If If IsDBNull(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")) Then sumChangedPLOSE = True sumChangedPLOSEOK = False ElseIf Not Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")), 2) = curUStV_SummeVorschaubetragEUR_PLOSE Then sumChangedPLOSE = True sumChangedPLOSEOK = False End If If sumChanged And saveValues Then 'updateSummen sumChangedOK = sql.doSQL("Update Kunden set Kunden.UStV_SummeUmsatzsteuerbetragEUR = " & curUStV_SummeUmsatzsteuerbetragEUR.ToString.Replace(",", ".") & ", Kunden.UStV_SummeErstattungsbetragEUR = " & curUStV_SummeErstattungsbetragEUR.ToString.Replace(",", ".") & ", Kunden.UStV_Summe3470BetragEUR = " & curUStV_Summe3470BetragEUR.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVZBetragEUR = " & curUStV_SummeVZBetragEUR.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR_VERAG = " & curUStV_SummeVorschaubetragEUR_VERAG.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR_IDS = " & curUStV_SummeVorschaubetragEUR_IDS.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR_IT = " & curUStV_SummeVorschaubetragEUR_IT.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR_MSE = " & curUStV_SummeVorschaubetragEUR_MSE.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR_UTA = " & curUStV_SummeVorschaubetragEUR_UTA.ToString.Replace(",", ".") & ", Kunden.UStV_SummeVorschaubetragEUR = " & curUStV_SummeVorschaubetragEUR.ToString.Replace(",", ".") & " WHERE Kunden.KundenNr = " & r.Item("KundenNr"), "FMZOLL") End If If sumChangedPLOSE And saveValues Then If IsDBNull(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")) Then Dim kndErw As New cKundenErweitert(r.Item("KundenNr")) kndErw.kde_UStV_SummeVorschaubetragEUR_PLOSE = curUStV_SummeVorschaubetragEUR_PLOSE sumChangedPLOSEOK = kndErw.SAVE Else sumChangedPLOSEOK = sql.doSQL("Update tblKundenErweitert set kde_UStV_SummeVorschaubetragEUR_PLOSE = " & curUStV_SummeVorschaubetragEUR_PLOSE.ToString.Replace(",", ".") & " WHERE kde_KundenNr = " & r.Item("KundenNr"), "FMZOLL") End If End If If (KundenNr > 0 Or sendMail) AndAlso dt IsNot Nothing Then dt.Columns.Add("KundenNr", GetType(String)) dt.Columns.Add("VorschaubetragEUR", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_VERAG", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_IDS", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_IT", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_MSE", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_UTA", GetType(Double)) dt.Columns.Add("VorschaubetragEUR_PLOSE", GetType(Double)) dt.Columns.Add("UmsatzsteuerbetragEUR", GetType(Double)) dt.Columns.Add("ErstattungsbetragEUR", GetType(Double)) dt.Columns.Add("3470BetragEUR", GetType(Double)) dt.Columns.Add("VZBetragEUR", GetType(Double)) Dim ro As DataRow = dt.NewRow ro("KundenNr") = IIf(KundenNr > 0, KundenNr, r.Item("KundenNr")) ro("VorschaubetragEUR") = curUStV_SummeVorschaubetragEUR ro("VorschaubetragEUR_VERAG") = curUStV_SummeVorschaubetragEUR_VERAG ro("VorschaubetragEUR_IDS") = curUStV_SummeVorschaubetragEUR_IDS ro("VorschaubetragEUR_IT") = curUStV_SummeVorschaubetragEUR_IT ro("VorschaubetragEUR_MSE") = curUStV_SummeVorschaubetragEUR_MSE ro("VorschaubetragEUR_UTA") = curUStV_SummeVorschaubetragEUR_UTA ro("VorschaubetragEUR_PLOSE") = curUStV_SummeVorschaubetragEUR_PLOSE ro("UmsatzsteuerbetragEUR") = curUStV_SummeUmsatzsteuerbetragEUR ro("ErstattungsbetragEUR") = curUStV_SummeErstattungsbetragEUR ro("3470BetragEUR") = curUStV_Summe3470BetragEUR ro("VZBetragEUR") = curUStV_SummeVZBetragEUR dt.Rows.Add(ro) End If Next End If Return sumChangedPLOSEOK And sumChangedPLOSEOK 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 As New VERAG_PROG_ALLGEMEIN.SQL Dim summeAlteSchnittstelle As Double Dim sqlFMZollDaten = "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 dtIT As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL") For Each r As DataRow In dtIT.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then summeAlteSchnittstelle += UST_org End If Next Return summeAlteSchnittstelle 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 sql As New VERAG_PROG_ALLGEMEIN.SQL Dim summeAlteSchnittstelle As Double 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 dtIT As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL") For Each r As DataRow In dtIT.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then summeAlteSchnittstelle += UST_org End If Next 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_PLOSE(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 sql As New VERAG_PROG_ALLGEMEIN.SQL Dim summeSchnittstelle As Double Dim sqlPLOSE = "select plose_POLSEKundennummer, sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer WHERE plose_Archiv <> 1 AND plose_Fakturiert = 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) >= '" & invoiceDate.ToShortDateString & "' and AdressenNr = " & varUStVAn_KuNr & " group by plose_POLSEKundennummer" Dim dtPLOSE As DataTable = sql.loadDgvBySql(sqlPLOSE, "FMZOLL") For Each r As DataRow In dtPLOSE.Rows Dim UST_org = CDbl(r.Item("plose_MWSTBetragWaehrungAbbuchung")) If UST_org <> 0 Then summeSchnittstelle += UST_org End If Next Return summeSchnittstelle Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG) 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 summechnittstelle As Double Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sqlITSumme = "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 dtIT As DataTable = sql.loadDgvBySql(sqlITSumme, "FMZOLL") For Each r As DataRow In dtIT.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then Dim WaehrungsCode As String = r.Item("Währungscode") summechnittstelle += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(UST_org, WaehrungsCode, "EUR") End If Next Return summechnittstelle Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG) 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 sql As New VERAG_PROG_ALLGEMEIN.SQL Dim summeNeueSchnittstelle As Double Dim summeAlteSchnittstelle As Double Dim sqlFMZollDatenALT = "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 dtMSEAlt As DataTable = sql.loadDgvBySql(sqlFMZollDatenALT, "FMZOLL") For Each r As DataRow In dtMSEAlt.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then Dim WaehrungsCode As String = r.Item("Währungscode") summeAlteSchnittstelle += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(UST_org, WaehrungsCode, "EUR") End If Next Dim sqlFMZollDatenNEU = "select * from ( select cust.[customer_id],bills.invoice_date, bills.invoice_number, bills.specification_page_name, trans.transaction_country, trans.original_currency ,sum(USteuer_EUR) as UST_EUR, sum(original_vat_amount) as UST FROM [VERAG].[dbo].[tblMSESettlements] as bills left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id] left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.invoice_id = bills.invoice_number where bills.invoice_date >= '" & invoiceDate.ToShortDateString & "' and inv.archiv <> 1 and trans.charged = 1 and cust.[partner_customer_number] = " & varUStVAn_KuNr & " group by bills.invoice_date, bills.invoice_number, cust.[customer_id], bills.specification_page_name, trans.transaction_country,trans.original_currency) as temp" Dim dtMSENeut As DataTable = sql.loadDgvBySql(sqlFMZollDatenNEU, "FMZOLL") For Each r As DataRow In dtMSENeut.Rows Dim UST_org = CDbl(r.Item("UST_EUR")) If UST_org <> 0 Then summeNeueSchnittstelle += UST_org End If Next 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.LOG) 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 sql As New VERAG_PROG_ALLGEMEIN.SQL Dim summeAlteSchnittstelle As Double Dim summeNeueSchnittstelle As Double 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 dtUTAAlt As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL") For Each r As DataRow In dtUTAAlt.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then summeAlteSchnittstelle += UST_org End If Next Dim sqlNeueSchnittstelle = "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 dtUTANeut As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL") For Each r As DataRow In dtUTANeut.Rows Dim UST_org = CDbl(r.Item("Vorschaubetrag")) If UST_org <> 0 Then summeNeueSchnittstelle += UST_org End If Next If Math.Round(summeAlteSchnittstelle, 2) = Math.Round(summeNeueSchnittstelle, 2) Then Return summeNeueSchnittstelle End If 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.LOG) Return 0 End Try End Function End Class