Merge branch 'newMaster2024' of https://dev.azure.com/VeragAG/_git/SDL into newMaster2024
This commit is contained in:
@@ -13,7 +13,6 @@ Public Class cUStVLeistender
|
||||
Property UstV_Leistender_Adresse As Boolean
|
||||
Property UStV_LeistenderId As Integer
|
||||
|
||||
|
||||
Public hasEntry = False
|
||||
|
||||
Dim SQL As New SQL
|
||||
@@ -59,10 +58,29 @@ Public Class cUStVLeistender
|
||||
" BEGIN " & getInsertCmd() & " END " &
|
||||
" commit tran "
|
||||
|
||||
|
||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||
End Function
|
||||
|
||||
|
||||
Public Function SAVEID() As Integer
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVLeistender WHERE UStV_Leistender=@UStV_Leistender) " &
|
||||
" BEGIN " & getUpdateCmd() & " END " &
|
||||
" Else " &
|
||||
" BEGIN " & getInsertCmd() & " END " &
|
||||
" commit tran "
|
||||
|
||||
|
||||
UStV_LeistenderId = SQL.doSQLVarListID(UStV_LeistenderId, sqlstr, "FMZOLL", , list)
|
||||
|
||||
Return UStV_LeistenderId
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
Public Function INSERT() As Boolean
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
Imports javax.validation.constraints
|
||||
Imports com.sun.org.apache.xpath.internal.functions
|
||||
Imports javax.validation.constraints
|
||||
Imports Org.BouncyCastle.Asn1
|
||||
|
||||
Public Class cMDMFunctionsAllgemein
|
||||
|
||||
Public Shared ploseSchnittstelle As Boolean = False
|
||||
Public Shared ploseAlteLogikSchnittstelle As Boolean = False
|
||||
Public Shared ploseNeueLogikSchnittstelle As Boolean = False
|
||||
Public Shared ITSchnittstelle As Boolean = False
|
||||
Public Shared MSEAlteSchnittstelle As Boolean = False
|
||||
Public Shared MSENeueSchnittstelle As Boolean = False
|
||||
@@ -11,9 +14,10 @@ Public Class cMDMFunctionsAllgemein
|
||||
Public Shared UTAAlteSchnittstelle As Boolean = False
|
||||
Public Shared UTANeueSchnittstelle As Boolean = False
|
||||
|
||||
Shared Function setSchnittstellen(plose As Boolean, IT As Boolean, MSEalt As Boolean, MSENeu As Boolean, IDSAlt As Boolean, IDSNeu As Boolean, UTAAlt As Boolean, UTANeu As Boolean)
|
||||
Shared Function setSchnittstellen(ploseAlt As Boolean, IT As Boolean, MSEalt As Boolean, MSENeu As Boolean, IDSAlt As Boolean, IDSNeu As Boolean, UTAAlt As Boolean, UTANeu As Boolean, ploseNeu As Boolean)
|
||||
|
||||
ploseSchnittstelle = plose
|
||||
ploseAlteLogikSchnittstelle = ploseAlt
|
||||
ploseNeueLogikSchnittstelle = ploseNeu
|
||||
ITSchnittstelle = IT
|
||||
MSEAlteSchnittstelle = MSEalt
|
||||
MSENeueSchnittstelle = MSENeu
|
||||
@@ -22,6 +26,20 @@ Public Class cMDMFunctionsAllgemein
|
||||
UTAAlteSchnittstelle = UTAAlt
|
||||
UTANeueSchnittstelle = UTANeu
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||
|
||||
|
||||
ploseAlteLogikSchnittstelle = True
|
||||
ploseNeueLogikSchnittstelle = True
|
||||
ITSchnittstelle = False
|
||||
MSEAlteSchnittstelle = True
|
||||
MSENeueSchnittstelle = True
|
||||
IDSAlteSchnittstelle = True
|
||||
IDSNeueSchnittstelle = True
|
||||
UTAAlteSchnittstelle = True
|
||||
UTANeueSchnittstelle = True
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
@@ -127,8 +145,9 @@ Public Class cMDMFunctionsAllgemein
|
||||
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
|
||||
Dim sqlKunden = "SELECT Kunden.KundenNr as KundenNr,isnull(Adressen.LandKz,'') as LandKz, 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
|
||||
INNER JOIN Adressen on Adressen.AdressenNr = Kunden.KundenNr
|
||||
left JOIN [tblKundenErweitert] on [kde_KundenNr] = Kunden.KundenNr
|
||||
WHERE Kunden.KundenNr " & sqlWhere &
|
||||
" order by Kunden.KundenNr"
|
||||
@@ -143,6 +162,13 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
|
||||
'Neuberechnung der Steuerbeträge aus den Anträgen
|
||||
|
||||
|
||||
'WICHTIG laut Brigitte am 09.04.2025:
|
||||
'SRB und BIH Kunden bekommen die MWST direkt vom HU Finanzamt ausbezahlt.
|
||||
'Deswegen sollten alle ungarischen Anträge die wir für SRB und BIH Kunden stellen, nicht beim Risiko mitberechnet werden
|
||||
|
||||
|
||||
Dim sqlSummeBilden = "SELECT
|
||||
tblUStVAntrag.UStVAn_KuNr,
|
||||
SUM(tblUStVAntrag.UStVAn_USteuerbetragEUR) As UStVKu_SummeUmsatzsteuer,
|
||||
@@ -176,13 +202,12 @@ Public Class cMDMFunctionsAllgemein
|
||||
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, IDSAlteSchnittstelle, IDSNeueSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_IT = UStVKunden_Summen_lesen_Vorschau_IT(r.Item("KundenNr"), invoiceDate, ITSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_MSE = UStVKunden_Summen_lesen_Vorschau_MSE(r.Item("KundenNr"), invoiceDate, MSEAlteSchnittstelle, MSENeueSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_UTA = UStVKunden_Summen_lesen_Vorschau_UTA(r.Item("KundenNr"), invoiceDate, UTAAlteSchnittstelle, UTANeueSchnittstelle)
|
||||
|
||||
curUStV_SummeVorschaubetragEUR_PLOSE = UStVKunden_Summen_lesen_Vorschau_PLOSE(r.Item("KundenNr"), invoiceDate, ploseSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_VERAG = UStVKunden_Summen_lesen_Vorschau_VERAG(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate)
|
||||
curUStV_SummeVorschaubetragEUR_IDS = UStVKunden_Summen_lesen_Vorschau_IDS(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate, IDSAlteSchnittstelle, IDSNeueSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_IT = UStVKunden_Summen_lesen_Vorschau_IT(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate, ITSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_MSE = UStVKunden_Summen_lesen_Vorschau_MSE(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate, MSEAlteSchnittstelle, MSENeueSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_UTA = UStVKunden_Summen_lesen_Vorschau_UTA(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate, UTAAlteSchnittstelle, UTANeueSchnittstelle)
|
||||
curUStV_SummeVorschaubetragEUR_PLOSE = UStVKunden_Summen_lesen_Vorschau_PLOSE(r.Item("KundenNr"), r.Item("LandKz"), invoiceDate, ploseAlteLogikSchnittstelle, ploseNeueLogikSchnittstelle)
|
||||
|
||||
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_VERAG
|
||||
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_IDS
|
||||
@@ -301,7 +326,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_VERAG(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_VERAG(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date) As Double
|
||||
'Return 0
|
||||
' Public Function UStVKunden_Summen_lesen_Vorschau_VERAG(ByRef varUStVAn_KuNr As Variant) As Currency
|
||||
|
||||
@@ -347,7 +372,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_IDS(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSummeAlteSchnittstelle As Boolean, calcSummeNeueSchnittstelle As Boolean) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_IDS(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date, calcSummeAlteSchnittstelle As Boolean, calcSummeNeueSchnittstelle As Boolean) 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)
|
||||
@@ -373,7 +398,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
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)
|
||||
(dbo.tblSteuernummern.UStV = 1) " & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
GROUP BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr
|
||||
ORDER BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr"
|
||||
|
||||
@@ -395,7 +420,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
dbo.tblSteuernummern ON [tblIDSTransactionsNew].KdNrVERAG = dbo.tblSteuernummern.AdressenNr INNER JOIN
|
||||
dbo.tbl_IDS_Länder ON dbo.tblSteuernummern.LandNr = dbo.tbl_IDS_Länder.LandNr AND [tblIDSTransactionsNew].[OutletCountryCode] = dbo.tbl_IDS_Länder.OutletCountryCode
|
||||
WHERE ([tblIDSTransactionsNew].KdNrVERAG = " & varUStVAn_KuNr & " ) AND ([tblIDSTransactionsNew].[YearMonthDay] >= '" & invoiceDate.ToShortDateString & "') AND ([tblIDSTransactionsNew].UStVAn_ID IS NULL) AND
|
||||
(dbo.tblSteuernummern.UStV = 1)
|
||||
(dbo.tblSteuernummern.UStV = 1) " & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
GROUP BY [tblIDSTransactionsNew].KdNrVERAG, dbo.tblSteuernummern.LandNr
|
||||
ORDER BY [tblIDSTransactionsNew].KdNrVERAG, dbo.tblSteuernummern.LandNr"
|
||||
|
||||
@@ -420,19 +445,25 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_PLOSE(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSumme As Boolean) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_PLOSE(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date, calcSummeAlteSchnittstelle As Boolean, calcSummeNeueSchnitttelle As Boolean) As Double
|
||||
|
||||
' set plose_Archiv=1, [plose_ArchiviertDatum]=GETDATE(), UStVAn_ID = @UStVAn_ID beim Einarbeiten in USTVA
|
||||
|
||||
Try
|
||||
|
||||
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Dim summeSchnittstelle As Double = 0
|
||||
Dim summeAlteSchnittstelle As Double = 0
|
||||
Dim summeNeueSchnittstelle As Double = 0
|
||||
|
||||
If calcSumme Then
|
||||
If calcSummeAlteSchnittstelle Then
|
||||
|
||||
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 & "
|
||||
'plose_MWSTBetragWaehrungAbbuchung ist immer in EUR
|
||||
|
||||
Dim sqlPLOSE = "select plose_POLSEKundennummer, sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] FROM [tblPLOSE_Details]
|
||||
INNER JOIN tblPLOSE_Produktbeschreibung ON [plp_ProductCode]=[plose_ProduktCode]
|
||||
INNER JOIN Adressen ON tblPLOSE_Details.plose_POLSEKundennummer = Adressen.PLOSEKundenNr
|
||||
INNER JOIN tblSteuernummern ON Adressen.AdressenNr = tblSteuernummern.AdressenNr AND tblSteuernummern.LandKZ = tblPLOSE_Produktbeschreibung.plp_Land
|
||||
WHERE dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & " AND (dbo.tblSteuernummern.UStV = 1) AND plose_Archiv <> 1 AND plose_Fakturiert = 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) >= '" & invoiceDate.ToShortDateString & "' and Adressen.AdressenNr = " & varUStVAn_KuNr & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
group by plose_POLSEKundennummer"
|
||||
|
||||
|
||||
@@ -441,13 +472,52 @@ Public Class cMDMFunctionsAllgemein
|
||||
For Each r As DataRow In dtPLOSE.Rows
|
||||
Dim UST_org = CDbl(r.Item("plose_MWSTBetragWaehrungAbbuchung"))
|
||||
If UST_org <> 0 Then
|
||||
summeSchnittstelle += UST_org
|
||||
summeAlteSchnittstelle += UST_org
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Return summeSchnittstelle
|
||||
If calcSummeNeueSchnitttelle Then
|
||||
|
||||
Dim sqlPLOSE = "select plInv_PLOSEKundennummer, sum([plInv_MWSTBetrag])[plInv_MWSTBetrag], ISNULL([plInv_Currency],'') as plInv_Currency FROM [tblPLOSE_Inv_Data]
|
||||
INNER JOIN Adressen on PLOSEKundenNr=plInv_PLOSEKundennummer
|
||||
INNER JOIN dbo.tblSteuernummern ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr and [tblPLOSE_Inv_Data].plInv_SupplierCountry = tblSteuernummern.LandKZ
|
||||
WHERE dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & " AND (dbo.tblSteuernummern.UStV = 1) AND plInv_Archiv <> 1 AND plInv_ArchiviertDatum is null AND cast(plInv_SupplierRechnungsDatum as date) >= '" & invoiceDate.ToShortDateString & "' and Adressen.AdressenNr = " & varUStVAn_KuNr & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
group by plInv_PLOSEKundennummer, plInv_Currency"
|
||||
|
||||
|
||||
Dim dtPLOSE As DataTable = sql.loadDgvBySql(sqlPLOSE, "FMZOLL")
|
||||
|
||||
|
||||
|
||||
For Each r As DataRow In dtPLOSE.Rows
|
||||
Dim UST_org = CDbl(r.Item("plInv_MWSTBetrag"))
|
||||
If UST_org <> 0 Then
|
||||
Dim Weahrung As String = IIf(r.Item("plInv_Currency") IsNot Nothing, r.Item("plInv_Currency"), "")
|
||||
If Weahrung <> "" Then
|
||||
If Weahrung <> "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(Weahrung)
|
||||
Dim UST_EUR As Double = 0
|
||||
UST_EUR = Math.Round((UST_org / kurs.ezb_kurs), 2) '+ (UST_org Mod Math.Round(kurs.ezb_kurs, 2)), ")"
|
||||
|
||||
summeNeueSchnittstelle += UST_EUR
|
||||
|
||||
Else Weahrung = "EUR"
|
||||
|
||||
|
||||
summeNeueSchnittstelle += UST_org
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
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)
|
||||
@@ -458,7 +528,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_IT(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSum As Boolean) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_IT(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date, calcSum As Boolean) As Double
|
||||
|
||||
' Dim qdf As DAO.QueryDef
|
||||
' Dim rst As DAO.Recordset
|
||||
@@ -531,7 +601,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_MSE(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSumalteSchnittstelle As Boolean, calcSumneueSchnittstelle As Boolean) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_MSE(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date, calcSumalteSchnittstelle As Boolean, calcSumneueSchnittstelle As Boolean) 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)
|
||||
@@ -563,7 +633,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
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)
|
||||
(dbo.tblMSETransactionsArchiv.[Original VAT Amount] <> 0) AND (dbo.tblMSETransactionsArchiv.UStVAn_ID IS NULL) " & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
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] "
|
||||
|
||||
@@ -586,8 +656,8 @@ Public Class cMDMFunctionsAllgemein
|
||||
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
|
||||
left join dbo.tblSteuernummern on dbo.tblSteuernummern.AdressenNr = trans.partner_haulier_id
|
||||
where bills.invoice_date >= '" & invoiceDate.ToShortDateString & "' and inv.archiv <> 1 and dbo.tblSteuernummern.UStV = 1 and trans.charged = 1 and cust.[partner_customer_number] = " & varUStVAn_KuNr & "
|
||||
left join dbo.tblSteuernummern on dbo.tblSteuernummern.AdressenNr = trans.partner_haulier_id and dbo.tblSteuernummern.LandKZ = trans.transaction_country
|
||||
where bills.invoice_date >= '" & invoiceDate.ToShortDateString & "' and inv.archiv <> 1 and dbo.tblSteuernummern.UStV = 1 and trans.charged = 1 and cust.[partner_customer_number] = " & varUStVAn_KuNr & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
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")
|
||||
@@ -614,7 +684,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_UTA(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSumalteSchnittstelle As Boolean, calcSumneueSchnittstelle As Boolean) As Double
|
||||
Shared Function UStVKunden_Summen_lesen_Vorschau_UTA(varUStVAn_KuNr As Integer, landKZ As String, invoiceDate As Date, calcSumalteSchnittstelle As Boolean, calcSumneueSchnittstelle As Boolean) As Double
|
||||
'Return 0
|
||||
' Dim qdf As DAO.QueryDef
|
||||
' Dim rst As DAO.Recordset
|
||||
@@ -667,7 +737,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
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)
|
||||
(dbo.tblUTAArchiv.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0) " & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr
|
||||
ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr"
|
||||
|
||||
@@ -691,7 +761,7 @@ Public Class cMDMFunctionsAllgemein
|
||||
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.charged = 1) AND
|
||||
(dbo.tblUTAImportNew.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0)
|
||||
(dbo.tblUTAImportNew.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0) " & IIf(landKZ = "SRB" OrElse landKZ = "BIH", " AND dbo.tblSteuernummern.LandKZ <> 'HU'", "") & "
|
||||
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr
|
||||
ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr"
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ Public Class cSDL
|
||||
Property BelegNr As Object = Nothing
|
||||
Property Nationalitaet As Object = Nothing
|
||||
Property CO2Kategorie As Object = Nothing
|
||||
Property CVCNr As Object = Nothing
|
||||
|
||||
Public hasentry
|
||||
Dim SQL As New SQL
|
||||
@@ -156,6 +157,7 @@ Public Class cSDL
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nationalitaet", Nationalitaet))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CO2Kategorie", CO2Kategorie))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CVCNr", CVCNr))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
@@ -970,342 +970,353 @@ Public Class cUTA
|
||||
Dim curChecksumme As Double
|
||||
|
||||
Dim lngRecordCount As Long
|
||||
|
||||
'Datei auf Fehler prüfen!
|
||||
Do While (objFileRead.Peek() > -1)
|
||||
Dim strZeile = objFileRead.ReadLine()
|
||||
Try
|
||||
|
||||
|
||||
Select Case Mid(strZeile, 1, 2)
|
||||
Case "10"
|
||||
booHeaderVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
Case "20"
|
||||
' Meldung bei nicht vorhandenen Haeder.
|
||||
If Not booHeaderVorhanden Then
|
||||
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
|
||||
Case "90"
|
||||
' Meldung bei nicht vorhandenen Haeder.
|
||||
If Not booHeaderVorhanden Then
|
||||
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
'Datei auf Fehler prüfen!
|
||||
Do While (objFileRead.Peek() > -1)
|
||||
Dim strZeile = objFileRead.ReadLine()
|
||||
|
||||
|
||||
booTrailerVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
Select Case Mid(strZeile, 1, 2)
|
||||
Case "10"
|
||||
booHeaderVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
Case "20"
|
||||
' Meldung bei nicht vorhandenen Haeder.
|
||||
If Not booHeaderVorhanden Then
|
||||
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
|
||||
' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
|
||||
If Trim(Mid(strZeile, 3, 13)) <> (lngRecordCount) Then
|
||||
MsgBox("Fehler: " & vbNewLine & "Prüfsumme in der Datei stimmt nicht mit der Zeilenanzahl der Datei überein! " & vbNewLine & "Record Count: " & Trim(Mid(strZeile, 3, 13)) & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
|
||||
' Meldung bei Prüfsummenfehler.
|
||||
If booPrüfziffernfehler Then
|
||||
MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
|
||||
End If
|
||||
Case Else
|
||||
booPrüfziffernfehler = True
|
||||
End Select
|
||||
|
||||
Loop
|
||||
|
||||
|
||||
Dim lngPKLine As Long = 0
|
||||
lngRecordCount = 0
|
||||
|
||||
'gleicher PKFileName wird nun aus CLFHeader gelöscht. CASCADE löscht dann zugehörige CLFBody und CLFTrailer.
|
||||
'If Not SQL.doSQL("DELETE tblUTAHeaderNew.ErstellDatumUhrzeit, tblUTAHeaderNew.Übertragungsnummer FROM tblUTAHeaderNew WHERE (((tblUTAHeaderNew.ErstellDatumUhrzeit)=" & Format$(dtmErstellDatumUhrzeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & ") AND ((tblUTAHeaderNew.Übertragungsnummer)=" & lngÜbertragungsnummer, "FMZOLL") Then
|
||||
' MsgBox("Fehler beim Löschen des CLF-Headers")
|
||||
' objFileRead.Close()
|
||||
' Return False
|
||||
'End If
|
||||
|
||||
'If Not SQL.doSQL("UPDATE CLF SET PKFileName = '" & fi.Name.ToString & "'", "FMZOLL") Then
|
||||
' MsgBox("Fehler beim Update der CLF-Nr")
|
||||
' objFileRead.Close()
|
||||
' Return False
|
||||
'End If
|
||||
objFileRead.DiscardBufferedData()
|
||||
objFileRead.BaseStream.Seek(0, System.IO.SeekOrigin.Begin)
|
||||
|
||||
Do While (objFileRead.Peek() > -1)
|
||||
Dim strZeile = objFileRead.ReadLine()
|
||||
|
||||
Select Case Mid(strZeile, 1, 2)
|
||||
Case "10"
|
||||
booHeaderVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
dtmErstellDatumUhrzeit = DateSerial(Mid(strZeile, 35, 4), Mid(strZeile, 32, 2), Mid(strZeile, 29, 2)) & " " & TimeSerial(Mid(strZeile, 40, 2), Mid(strZeile, 43, 2), Mid(strZeile, 46, 2))
|
||||
lngÜbertragungsnummer = Mid(strZeile, 61, 6)
|
||||
'Dim ext = CInt(fi.Extension.Remove(0, 1))
|
||||
Dim clfHeader As New cUTA.UTAHeader(lngÜbertragungsnummer, dtmErstellDatumUhrzeit)
|
||||
With clfHeader
|
||||
.Absender_ID = Mid(strZeile, 10, 6)
|
||||
.Empfänger_ID = Mid(strZeile, 23, 6)
|
||||
.Filler_Feld_5 = IIf(Trim(Mid(strZeile, 39, 1)) = "", Nothing, Trim(Mid(strZeile, 39, 1)))
|
||||
.Abrechnungsnummer = IIf(Trim(Mid(strZeile, 48, 13)) = Nothing, "", Trim(Mid(strZeile, 48, 13)))
|
||||
.DTF_Format = IIf(Trim(Mid(strZeile, 67, 6)) = Nothing, "", Trim(Mid(strZeile, 67, 6)))
|
||||
.SAVE()
|
||||
End With
|
||||
|
||||
Case "20"
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
lngÜbertragungsposition = lngÜbertragungsposition + 1
|
||||
Dim clfBody As New cUTA.UTABody(lngÜbertragungsnummer, lngÜbertragungsposition, dtmErstellDatumUhrzeit)
|
||||
With clfBody
|
||||
.Übertragungsnummer = lngÜbertragungsnummer
|
||||
.Übertragungsposition = lngÜbertragungsposition
|
||||
.Abrechnungsnummer = Mid(strZeile, 3, 13)
|
||||
.[Datum_für_Lieferungen_und_Leistungen_bis] = DateSerial(Mid(strZeile, 20, 4), Mid(strZeile, 18, 2), Mid(strZeile, 16, 2))
|
||||
.[Rechnungsempfänger_Kundennummer] = Mid(strZeile, 24, 13)
|
||||
.[Abrechnungsdatum] = DateSerial(Mid(strZeile, 41, 4), Mid(strZeile, 39, 2), Mid(strZeile, 37, 2))
|
||||
.[Kundennummer] = Mid(strZeile, 45, 13)
|
||||
.[Kartennummer] = IIf(Trim(Mid(strZeile, 58, 19)) = "", Nothing, Trim(Mid(strZeile, 58, 19)))
|
||||
.[Belegdatum] = DateSerial(Mid(strZeile, 81, 4), Mid(strZeile, 79, 2), Mid(strZeile, 77, 2))
|
||||
.[Akzeptanzstellennummer] = Mid(strZeile, 85, 13)
|
||||
.[Standort_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 98, 25)) = "", Nothing, Trim(Mid(strZeile, 98, 25)))
|
||||
.[Lieferland] = IIf(Trim(Mid(strZeile, 123, 3)) = "", Nothing, Trim(Mid(strZeile, 123, 3)))
|
||||
.[Belegnummer_des_Lieferanten] = IIf(Trim(Mid(strZeile, 126, 13)) = "", Nothing, Trim(Mid(strZeile, 126, 13)))
|
||||
.[Kilometerstand] = Mid(strZeile, 139, 8)
|
||||
.[Fakturierwarenart] = IIf(Trim(Mid(strZeile, 147, 5)) = "", Nothing, Trim(Mid(strZeile, 147, 5)))
|
||||
.[Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen] = IIf(Trim(Mid(strZeile, 152, 1)) = "", Nothing, Trim(Mid(strZeile, 152, 1)))
|
||||
.[Menge] = Mid(strZeile, 153, 10) / 100
|
||||
.[SB_BT] = IIf(Trim(Mid(strZeile, 163, 1)) = "", Nothing, Trim(Mid(strZeile, 163, 1)))
|
||||
.[Umsatzsteuerprozentsatz] = Mid(strZeile, 164, 5) / 10000
|
||||
.[Lieferlandwährung_ISO] = IIf(Trim(Mid(strZeile, 169, 3)) = "", Nothing, Trim(Mid(strZeile, 169, 3)))
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung] = Mid(strZeile, 172, 11) / 100
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung] = Mid(strZeile, 183, 11) / 100
|
||||
.[Betrag_Service_in_Lieferlandwährung] = Mid(strZeile, 194, 11) / 100
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung] = Mid(strZeile, 205, 11) / 100
|
||||
.[Gesamtbetrag_Netto_in_Lieferlandwährung] = Mid(strZeile, 216, 11) / 100
|
||||
.[Gesamtbetrag_Brutto_in_Lieferlandwährung] = Mid(strZeile, 227, 11) / 100
|
||||
.[Darstellwährung_ISO] = IIf(Trim(Mid(strZeile, 238, 3)) = "", Nothing, Trim(Mid(strZeile, 238, 3)))
|
||||
.[Betrag_Service_in_Darstellwährung] = Mid(strZeile, 241, 11) / 100
|
||||
.[Betrag_Nachlass_in_Darstellwährung] = Mid(strZeile, 252, 11) / 100
|
||||
.[Gesamtbetrag_Netto_in_Darstellwährung] = Mid(strZeile, 263, 11) / 100
|
||||
.[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung] = Mid(strZeile, 274, 11) / 100
|
||||
.[Gesamtbetrag_Brutto_in_Darstellwährung] = Mid(strZeile, 285, 11) / 100
|
||||
.[Prägetext_i_d_R_KFZ_Kennzeichen] = IIf(Trim(Mid(strZeile, 296, 16)) = "", Nothing, Trim(Mid(strZeile, 296, 16)))
|
||||
.[Kunden_Kostenstelle_1] = IIf(Trim(Mid(strZeile, 312, 20)) = "", Nothing, Trim(Mid(strZeile, 312, 20)))
|
||||
.[Kartentyp] = IIf(Trim(Mid(strZeile, 332, 8)) = "", Nothing, Trim(Mid(strZeile, 332, 8)))
|
||||
.[Filler_Feld_35] = IIf(Trim(Mid(strZeile, 340, 1)) = "", Nothing, Trim(Mid(strZeile, 340, 1)))
|
||||
.[Filler_Feld_36] = IIf(Trim(Mid(strZeile, 341, 3)) = "", Nothing, Trim(Mid(strZeile, 341, 3)))
|
||||
.[KZ_Autobahn] = IIf(Trim(Mid(strZeile, 344, 1)) = "", Nothing, Trim(Mid(strZeile, 344, 1)))
|
||||
.[INFO_Feld] = IIf(Trim(Mid(strZeile, 345, 18)) = "", Nothing, Trim(Mid(strZeile, 345, 18)))
|
||||
.[KFZ_Kennzeichen] = IIf(Trim(Mid(strZeile, 363, 16)) = "", Nothing, Trim(Mid(strZeile, 363, 16)))
|
||||
.[Filler_Feld_40] = IIf(Trim(Mid(strZeile, 379, 1)) = "", Nothing, Trim(Mid(strZeile, 379, 1)))
|
||||
.[Buchungsart] = IIf(Trim(Mid(strZeile, 380, 1)) = "", Nothing, Trim(Mid(strZeile, 380, 1)))
|
||||
.[Buchungsgrund] = IIf(Trim(Mid(strZeile, 381, 1)) = "", Nothing, Trim(Mid(strZeile, 381, 1)))
|
||||
.[Filler_Feld_43] = IIf(Trim(Mid(strZeile, 382, 1)) = "", Nothing, Trim(Mid(strZeile, 382, 1)))
|
||||
.[Informationsbeleg] = IIf(Trim(Mid(strZeile, 383, 1)) = "", Nothing, Trim(Mid(strZeile, 383, 1)))
|
||||
.[Belegherkunft] = IIf(Trim(Mid(strZeile, 384, 1)) = "", Nothing, Trim(Mid(strZeile, 384, 1)))
|
||||
.[Filler_Feld_46] = IIf(Trim(Mid(strZeile, 385, 14)) = "", Nothing, Trim(Mid(strZeile, 385, 14)))
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen] = Mid(strZeile, 399, 13) / 10000
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen] = Mid(strZeile, 412, 13) / 10000
|
||||
.[Rechnungsdatum] = DateSerial(Mid(strZeile, 429, 4), Mid(strZeile, 427, 2), Mid(strZeile, 425, 2))
|
||||
.[Umsatzsteuerprozentsatz_informativ] = Mid(strZeile, 433, 5) / 10000
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 438, 11) / 100
|
||||
.[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 449, 11) / 100
|
||||
.[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 460, 11) / 100
|
||||
.[Fälligkeitsdatum] = DateSerial(Mid(strZeile, 475, 4), Mid(strZeile, 473, 2), Mid(strZeile, 471, 2))
|
||||
.[Zahlungsziel_in_Tagen] = Mid(strZeile, 479, 3)
|
||||
.[Zahlungsart] = IIf(Trim(Mid(strZeile, 482, 8)) = "", Nothing, Trim(Mid(strZeile, 482, 8)))
|
||||
.[TC_Rechnungsnummer_gegenüber_dem_Nutzer] = IIf(Trim(Mid(strZeile, 490, 20)) = "", Nothing, Trim(Mid(strZeile, 490, 20)))
|
||||
.[TC_Rechnungsdatum] = DateSerial(Mid(strZeile, 514, 4), Mid(strZeile, 512, 2), Mid(strZeile, 510, 2))
|
||||
.[Zahlungszielgruppe] = IIf(Trim(Mid(strZeile, 518, 7)) = "", Nothing, Trim(Mid(strZeile, 518, 7)))
|
||||
.[Kunden_Kostenstelle_2] = IIf(Trim(Mid(strZeile, 525, 20)) = "", Nothing, Trim(Mid(strZeile, 525, 20)))
|
||||
.[Lieferzeit] = IIf(Trim(Mid(strZeile, 545, 6)) = "", Nothing, Trim(Mid(strZeile, 545, 6)))
|
||||
.[Fremdkartennummer] = IIf(Trim(Mid(strZeile, 551, 20)) = "", Nothing, Trim(Mid(strZeile, 551, 20)))
|
||||
.[OnBoardUnitID] = IIf(Trim(Mid(strZeile, 571, 20)) = "", Nothing, Trim(Mid(strZeile, 571, 20)))
|
||||
.[KFZ_Kennzeichen_komprimiert] = IIf(Trim(Mid(strZeile, 591, 16)) = "", Nothing, Trim(Mid(strZeile, 591, 16)))
|
||||
.[Kartenkategorie] = IIf(Trim(Mid(strZeile, 607, 8)) = "", Nothing, Trim(Mid(strZeile, 607, 8)))
|
||||
.[Rechnungsnummer_pro_Lieferland] = Mid(strZeile, 615, 13)
|
||||
.[Autobahnauffahrt] = IIf(Trim(Mid(strZeile, 628, 40)) = "", Nothing, Trim(Mid(strZeile, 628, 40)))
|
||||
.[Autobahnausfahrt] = IIf(Trim(Mid(strZeile, 668, 40)) = "", Nothing, Trim(Mid(strZeile, 668, 40)))
|
||||
.[Rabattschlüssel_der_französischen_Autobahngesellschaften] = IIf(Trim(Mid(strZeile, 708, 1)) = "", Nothing, Trim(Mid(strZeile, 708, 1)))
|
||||
.[Nummer_Belastungsanzeige] = Mid(strZeile, 709, 13)
|
||||
.[Betreuungsstelle] = IIf(Trim(Mid(strZeile, 722, 20)) = "", Nothing, Trim(Mid(strZeile, 722, 20)))
|
||||
.[Filler_Feld_72] = IIf(Trim(Mid(strZeile, 742, 20)) = "", Nothing, Trim(Mid(strZeile, 742, 20)))
|
||||
.[Akzeptanz_Medium] = IIf(Trim(Mid(strZeile, 762, 20)) = "", Nothing, Trim(Mid(strZeile, 762, 20)))
|
||||
.[Steuerkategorie] = IIf(Trim(Mid(strZeile, 782, 8)) = "", Nothing, Trim(Mid(strZeile, 782, 8)))
|
||||
.[UTA_Beleg_ID] = Mid(strZeile, 790, 11)
|
||||
.[UTA_Normalbeleg_ID] = Mid(strZeile, 801, 11)
|
||||
.[Gebühren_Bescheinigung_von] = DateSerial(Mid(strZeile, 816, 4), Mid(strZeile, 814, 2), Mid(strZeile, 812, 2))
|
||||
.[Gebühren_Bescheinigung_bis] = DateSerial(Mid(strZeile, 824, 4), Mid(strZeile, 822, 2), Mid(strZeile, 820, 2))
|
||||
.[Herausgeber_Nutzer_Nummer] = IIf(Trim(Mid(strZeile, 828, 20)) = "", Nothing, Trim(Mid(strZeile, 828, 20)))
|
||||
.[Maßeinheit] = IIf(Trim(Mid(strZeile, 848, 8)) = "", Nothing, Trim(Mid(strZeile, 848, 8)))
|
||||
.[Land_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 856, 3)) = "", Nothing, Trim(Mid(strZeile, 856, 3)))
|
||||
.[Postleitzahl_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 859, 7)) = "", Nothing, Trim(Mid(strZeile, 859, 7)))
|
||||
.[Steuerliches_Lieferland] = IIf(Trim(Mid(strZeile, 866, 3)) = "", Nothing, Trim(Mid(strZeile, 866, 3)))
|
||||
.[Steuerliche_Produktgruppe] = IIf(Trim(Mid(strZeile, 869, 5)) = "", Nothing, Trim(Mid(strZeile, 869, 5)))
|
||||
.[Leistungsort_verlagerbar] = IIf(Trim(Mid(strZeile, 874, 1)) = "", Nothing, Trim(Mid(strZeile, 874, 1)))
|
||||
|
||||
Select Case .[Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen]
|
||||
Case "0" 'positiv
|
||||
curChecksumme = curChecksumme + .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
Case "1" 'negativ
|
||||
curChecksumme = curChecksumme - .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
.[Menge] = 0 - .[Menge]
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung] = 0 - .[Einzelpreis_Brutto_in_Lieferlandwährung]
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung] = 0 - .[Einzelpreis_Netto_in_Lieferlandwährung]
|
||||
.[Betrag_Service_in_Lieferlandwährung] = 0 - .[Betrag_Service_in_Lieferlandwährung]
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung] = 0 - .[Betrag_Nachlass_in_Lieferlandwährung]
|
||||
.[Gesamtbetrag_Netto_in_Lieferlandwährung] = 0 - .[Gesamtbetrag_Netto_in_Lieferlandwährung]
|
||||
.[Gesamtbetrag_Brutto_in_Lieferlandwährung] = 0 - .[Gesamtbetrag_Brutto_in_Lieferlandwährung]
|
||||
.[Betrag_Service_in_Darstellwährung] = 0 - .[Betrag_Service_in_Darstellwährung]
|
||||
.[Betrag_Nachlass_in_Darstellwährung] = 0 - .[Betrag_Nachlass_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Netto_in_Darstellwährung] = 0 - .[Gesamtbetrag_Netto_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung] = 0 - .[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Brutto_in_Darstellwährung] = 0 - .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen] = 0 - .[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen]
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen] = 0 - .[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen]
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
.[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
.[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
End Select
|
||||
|
||||
If onlyTestkunedn Then
|
||||
'nur KundenNr 100964 und 825040 speichern:
|
||||
If .[Kundennummer] = 100964 Or .[Kundennummer] = 825040 Then
|
||||
.SAVE()
|
||||
End If
|
||||
Else
|
||||
.SAVE()
|
||||
Case "90"
|
||||
' Meldung bei nicht vorhandenen Haeder.
|
||||
If Not booHeaderVorhanden Then
|
||||
MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
booTrailerVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
|
||||
'Dim clfArchiv As New cUTA.UTAArchiv(.Belegdatum, .UTA_Beleg_ID)
|
||||
'clfArchiv.Übertragungsnummer = .Übertragungsnummer
|
||||
'clfArchiv.ErstellDatumUhrzeit = .ErstellDatumUhrzeit
|
||||
'clfArchiv.Übertragungsposition = .Übertragungsposition
|
||||
'clfArchiv.Abrechnungsnummer = .Abrechnungsnummer
|
||||
'clfArchiv.Datum_für_Lieferungen_und_Leistungen_bis = .Datum_für_Lieferungen_und_Leistungen_bis
|
||||
'clfArchiv.Rechnungsempfänger_Kundennummer = .Rechnungsempfänger_Kundennummer
|
||||
'clfArchiv.Abrechnungsdatum = .Abrechnungsdatum
|
||||
'clfArchiv.Kundennummer = .Kundennummer
|
||||
'clfArchiv.Kartennummer = .Kartennummer
|
||||
'clfArchiv.Akzeptanzstellennummer = .Akzeptanzstellennummer
|
||||
'clfArchiv.Standort_der_Akzeptanzstelle = .Standort_der_Akzeptanzstelle
|
||||
'clfArchiv.Lieferland = .Lieferland
|
||||
'clfArchiv.Belegnummer_des_Lieferanten = .Belegnummer_des_Lieferanten
|
||||
'clfArchiv.Kilometerstand = .Kilometerstand
|
||||
'clfArchiv.Fakturierwarenart = .Fakturierwarenart
|
||||
'clfArchiv.Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen = .Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen
|
||||
'clfArchiv.Menge = .Menge
|
||||
'clfArchiv.SB_BT = .SB_BT
|
||||
'clfArchiv.Umsatzsteuerprozentsatz = .Umsatzsteuerprozentsatz
|
||||
'clfArchiv.Lieferlandwährung_ISO = .Lieferlandwährung_ISO
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung = .Einzelpreis_Brutto_in_Lieferlandwährung
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Service_in_Lieferlandwährung = .Betrag_Service_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
|
||||
'clfArchiv.Gesamtbetrag_Netto_in_Lieferlandwährung = .Gesamtbetrag_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Gesamtbetrag_Brutto_in_Lieferlandwährung = .Gesamtbetrag_Brutto_in_Lieferlandwährung
|
||||
'clfArchiv.Darstellwährung_ISO = .Darstellwährung_ISO
|
||||
'clfArchiv.Betrag_Service_in_Darstellwährung = .Betrag_Service_in_Darstellwährung
|
||||
'clfArchiv.Betrag_Nachlass_in_Darstellwährung = .Betrag_Nachlass_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Netto_in_Darstellwährung = .Gesamtbetrag_Netto_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = .Gesamtbetrag_Umsatzsteuer_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Brutto_in_Darstellwährung = .Gesamtbetrag_Brutto_in_Darstellwährung
|
||||
'clfArchiv.Prägetext_i_d_R_KFZ_Kennzeichen = .Prägetext_i_d_R_KFZ_Kennzeichen
|
||||
'clfArchiv.Kunden_Kostenstelle_1 = .Kunden_Kostenstelle_1
|
||||
'clfArchiv.Kartentyp = .Kartentyp
|
||||
'clfArchiv.Filler_Feld_35 = .Filler_Feld_35
|
||||
'clfArchiv.Filler_Feld_36 = .Filler_Feld_36
|
||||
'clfArchiv.KZ_Autobahn = .KZ_Autobahn
|
||||
'clfArchiv.INFO_Feld = .INFO_Feld
|
||||
'clfArchiv.KFZ_Kennzeichen = .KFZ_Kennzeichen
|
||||
'clfArchiv.Filler_Feld_40 = .Filler_Feld_40
|
||||
'clfArchiv.Buchungsart = .Buchungsart
|
||||
'clfArchiv.Buchungsgrund = .Buchungsgrund
|
||||
'clfArchiv.Filler_Feld_43 = .Filler_Feld_43
|
||||
'clfArchiv.Informationsbeleg = .Informationsbeleg
|
||||
'clfArchiv.Belegherkunft = .Belegherkunft
|
||||
'clfArchiv.Filler_Feld_46 = .Filler_Feld_46
|
||||
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen
|
||||
'clfArchiv.Rechnungsdatum = .Rechnungsdatum
|
||||
'clfArchiv.Umsatzsteuerprozentsatz_informativ = .Umsatzsteuerprozentsatz_informativ
|
||||
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ = .Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ
|
||||
'clfArchiv.Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ = .Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ
|
||||
'clfArchiv.Fälligkeitsdatum = .Fälligkeitsdatum
|
||||
'clfArchiv.Zahlungsziel_in_Tagen = .Zahlungsziel_in_Tagen
|
||||
'clfArchiv.Zahlungsart = .Zahlungsart
|
||||
'clfArchiv.TC_Rechnungsnummer_gegenüber_dem_Nutzer = .TC_Rechnungsnummer_gegenüber_dem_Nutzer
|
||||
'clfArchiv.TC_Rechnungsdatum = .TC_Rechnungsdatum
|
||||
'clfArchiv.Zahlungszielgruppe = .Zahlungszielgruppe
|
||||
'clfArchiv.Kunden_Kostenstelle_2 = .Kunden_Kostenstelle_2
|
||||
'clfArchiv.Lieferzeit = .Lieferzeit
|
||||
'clfArchiv.Fremdkartennummer = .Fremdkartennummer
|
||||
'clfArchiv.OnBoardUnitID = .OnBoardUnitID
|
||||
'clfArchiv.KFZ_Kennzeichen_komprimiert = .KFZ_Kennzeichen_komprimiert
|
||||
'clfArchiv.Kartenkategorie = .Kartenkategorie
|
||||
'clfArchiv.Rechnungsnummer_pro_Lieferland = .Rechnungsnummer_pro_Lieferland
|
||||
'clfArchiv.Autobahnauffahrt = .Autobahnauffahrt
|
||||
'clfArchiv.Autobahnausfahrt = .Autobahnausfahrt
|
||||
'clfArchiv.Rabattschlüssel_der_französischen_Autobahngesellschaften = .Rabattschlüssel_der_französischen_Autobahngesellschaften
|
||||
'clfArchiv.Nummer_Belastungsanzeige = .Nummer_Belastungsanzeige
|
||||
'clfArchiv.Betreuungsstelle = .Betreuungsstelle
|
||||
'clfArchiv.Filler_Feld_72 = .Filler_Feld_72
|
||||
'clfArchiv.Akzeptanz_Medium = .Akzeptanz_Medium
|
||||
'clfArchiv.Steuerkategorie = .Steuerkategorie
|
||||
'clfArchiv.UTA_Normalbeleg_ID = .UTA_Normalbeleg_ID
|
||||
'clfArchiv.Gebühren_Bescheinigung_von = .Gebühren_Bescheinigung_von
|
||||
'clfArchiv.Gebühren_Bescheinigung_bis = .Gebühren_Bescheinigung_bis
|
||||
'clfArchiv.Herausgeber_Nutzer_Nummer = .Herausgeber_Nutzer_Nummer
|
||||
'clfArchiv.Maßeinheit = .Maßeinheit
|
||||
'clfArchiv.Land_der_Akzeptanzstelle = .Land_der_Akzeptanzstelle
|
||||
'clfArchiv.Postleitzahl_der_Akzeptanzstelle = .Postleitzahl_der_Akzeptanzstelle
|
||||
'clfArchiv.Steuerliches_Lieferland = .Steuerliches_Lieferland
|
||||
'clfArchiv.Steuerliche_Produktgruppe = .Steuerliche_Produktgruppe
|
||||
'clfArchiv.Leistungsort_verlagerbar = .Leistungsort_verlagerbar
|
||||
'clfArchiv.SAVE()
|
||||
' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
|
||||
If Trim(Mid(strZeile, 3, 13)) <> (lngRecordCount) Then
|
||||
MsgBox("Fehler: " & vbNewLine & "Prüfsumme in der Datei stimmt nicht mit der Zeilenanzahl der Datei überein! " & vbNewLine & "Record Count: " & Trim(Mid(strZeile, 3, 13)) & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
|
||||
objFileRead.Close()
|
||||
Return False
|
||||
End If
|
||||
|
||||
End With
|
||||
' Meldung bei Prüfsummenfehler.
|
||||
If booPrüfziffernfehler Then
|
||||
MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
|
||||
objFileRead.Close()
|
||||
|
||||
Case "90"
|
||||
End If
|
||||
Case Else
|
||||
booPrüfziffernfehler = True
|
||||
End Select
|
||||
|
||||
If curChecksumme < 0 Then
|
||||
curChecksumme = 0 - curChecksumme
|
||||
End If
|
||||
If Trim(Mid(strZeile, 16, 18) / 100) <> Math.Round(curChecksumme, 2) Then
|
||||
MsgBox("Checksumme: " & Trim(Mid(strZeile, 16, 18) / 100) & vbCrLf & "Prüfsumme: " & curChecksumme & vbCrLf & "Datei kann wegen Prüfsummenfehler nicht verarbeitet werden")
|
||||
'Return False
|
||||
End If
|
||||
Loop
|
||||
|
||||
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
Dim clfTrailer As New cUTA.UTATrailer(lngÜbertragungsnummer, dtmErstellDatumUhrzeit)
|
||||
With clfTrailer
|
||||
.ErstellDatumUhrzeit = dtmErstellDatumUhrzeit
|
||||
.Übertragungsnummer = lngÜbertragungsnummer
|
||||
.Anzahl_Sätze = Mid(strZeile, 3, 13)
|
||||
.Checksumme = Mid(strZeile, 16, 18) / 100
|
||||
.SAVE()
|
||||
End With
|
||||
Dim lngPKLine As Long = 0
|
||||
lngRecordCount = 0
|
||||
|
||||
'gleicher PKFileName wird nun aus CLFHeader gelöscht. CASCADE löscht dann zugehörige CLFBody und CLFTrailer.
|
||||
'If Not SQL.doSQL("DELETE tblUTAHeaderNew.ErstellDatumUhrzeit, tblUTAHeaderNew.Übertragungsnummer FROM tblUTAHeaderNew WHERE (((tblUTAHeaderNew.ErstellDatumUhrzeit)=" & Format$(dtmErstellDatumUhrzeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & ") AND ((tblUTAHeaderNew.Übertragungsnummer)=" & lngÜbertragungsnummer, "FMZOLL") Then
|
||||
' MsgBox("Fehler beim Löschen des CLF-Headers")
|
||||
' objFileRead.Close()
|
||||
' Return False
|
||||
'End If
|
||||
|
||||
'If Not SQL.doSQL("UPDATE CLF SET PKFileName = '" & fi.Name.ToString & "'", "FMZOLL") Then
|
||||
' MsgBox("Fehler beim Update der CLF-Nr")
|
||||
' objFileRead.Close()
|
||||
' Return False
|
||||
'End If
|
||||
objFileRead.DiscardBufferedData()
|
||||
objFileRead.BaseStream.Seek(0, System.IO.SeekOrigin.Begin)
|
||||
|
||||
Do While (objFileRead.Peek() > -1)
|
||||
Dim strZeile = objFileRead.ReadLine()
|
||||
|
||||
Select Case Mid(strZeile, 1, 2)
|
||||
Case "10"
|
||||
booHeaderVorhanden = True
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
dtmErstellDatumUhrzeit = DateSerial(Mid(strZeile, 35, 4), Mid(strZeile, 32, 2), Mid(strZeile, 29, 2)) & " " & TimeSerial(Mid(strZeile, 40, 2), Mid(strZeile, 43, 2), Mid(strZeile, 46, 2))
|
||||
lngÜbertragungsnummer = Mid(strZeile, 61, 6)
|
||||
'Dim ext = CInt(fi.Extension.Remove(0, 1))
|
||||
Dim clfHeader As New cUTA.UTAHeader(lngÜbertragungsnummer, dtmErstellDatumUhrzeit)
|
||||
With clfHeader
|
||||
.Absender_ID = Mid(strZeile, 10, 6)
|
||||
.Empfänger_ID = Mid(strZeile, 23, 6)
|
||||
.Filler_Feld_5 = IIf(Trim(Mid(strZeile, 39, 1)) = "", Nothing, Trim(Mid(strZeile, 39, 1)))
|
||||
.Abrechnungsnummer = IIf(Trim(Mid(strZeile, 48, 13)) = Nothing, "", Trim(Mid(strZeile, 48, 13)))
|
||||
.DTF_Format = IIf(Trim(Mid(strZeile, 67, 6)) = Nothing, "", Trim(Mid(strZeile, 67, 6)))
|
||||
.SAVE()
|
||||
End With
|
||||
|
||||
Case "20"
|
||||
|
||||
lngÜbertragungsposition = 6616
|
||||
|
||||
|
||||
|
||||
Case Else
|
||||
' Andere RecordNumber überlesen.
|
||||
End Select
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
lngÜbertragungsposition = lngÜbertragungsposition + 1
|
||||
Dim clfBody As New cUTA.UTABody(lngÜbertragungsnummer, lngÜbertragungsposition, dtmErstellDatumUhrzeit)
|
||||
With clfBody
|
||||
.Übertragungsnummer = lngÜbertragungsnummer
|
||||
.Übertragungsposition = lngÜbertragungsposition
|
||||
.Abrechnungsnummer = Mid(strZeile, 3, 13)
|
||||
.[Datum_für_Lieferungen_und_Leistungen_bis] = DateSerial(Mid(strZeile, 20, 4), Mid(strZeile, 18, 2), Mid(strZeile, 16, 2))
|
||||
.[Rechnungsempfänger_Kundennummer] = Mid(strZeile, 24, 13)
|
||||
.[Abrechnungsdatum] = DateSerial(Mid(strZeile, 41, 4), Mid(strZeile, 39, 2), Mid(strZeile, 37, 2))
|
||||
.[Kundennummer] = Mid(strZeile, 45, 13)
|
||||
.[Kartennummer] = IIf(Trim(Mid(strZeile, 58, 19)) = "", Nothing, Trim(Mid(strZeile, 58, 19)))
|
||||
.[Belegdatum] = DateSerial(Mid(strZeile, 81, 4), Mid(strZeile, 79, 2), Mid(strZeile, 77, 2))
|
||||
.[Akzeptanzstellennummer] = Mid(strZeile, 85, 13)
|
||||
.[Standort_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 98, 25)) = "", Nothing, Trim(Mid(strZeile, 98, 25)))
|
||||
.[Lieferland] = IIf(Trim(Mid(strZeile, 123, 3)) = "", Nothing, Trim(Mid(strZeile, 123, 3)))
|
||||
.[Belegnummer_des_Lieferanten] = IIf(Trim(Mid(strZeile, 126, 13)) = "", Nothing, Trim(Mid(strZeile, 126, 13)))
|
||||
.[Kilometerstand] = Mid(strZeile, 139, 8)
|
||||
.[Fakturierwarenart] = IIf(Trim(Mid(strZeile, 147, 5)) = "", Nothing, Trim(Mid(strZeile, 147, 5)))
|
||||
.[Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen] = IIf(Trim(Mid(strZeile, 152, 1)) = "", Nothing, Trim(Mid(strZeile, 152, 1)))
|
||||
.[Menge] = Mid(strZeile, 153, 10) / 100
|
||||
.[SB_BT] = IIf(Trim(Mid(strZeile, 163, 1)) = "", Nothing, Trim(Mid(strZeile, 163, 1)))
|
||||
.[Umsatzsteuerprozentsatz] = Mid(strZeile, 164, 5) / 10000
|
||||
.[Lieferlandwährung_ISO] = IIf(Trim(Mid(strZeile, 169, 3)) = "", Nothing, Trim(Mid(strZeile, 169, 3)))
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung] = Mid(strZeile, 172, 11) / 100
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung] = Mid(strZeile, 183, 11) / 100
|
||||
.[Betrag_Service_in_Lieferlandwährung] = Mid(strZeile, 194, 11) / 100
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung] = Mid(strZeile, 205, 11) / 100
|
||||
.[Gesamtbetrag_Netto_in_Lieferlandwährung] = Mid(strZeile, 216, 11) / 100
|
||||
.[Gesamtbetrag_Brutto_in_Lieferlandwährung] = Mid(strZeile, 227, 11) / 100
|
||||
.[Darstellwährung_ISO] = IIf(Trim(Mid(strZeile, 238, 3)) = "", Nothing, Trim(Mid(strZeile, 238, 3)))
|
||||
.[Betrag_Service_in_Darstellwährung] = Mid(strZeile, 241, 11) / 100
|
||||
.[Betrag_Nachlass_in_Darstellwährung] = Mid(strZeile, 252, 11) / 100
|
||||
.[Gesamtbetrag_Netto_in_Darstellwährung] = Mid(strZeile, 263, 11) / 100
|
||||
.[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung] = Mid(strZeile, 274, 11) / 100
|
||||
.[Gesamtbetrag_Brutto_in_Darstellwährung] = Mid(strZeile, 285, 11) / 100
|
||||
.[Prägetext_i_d_R_KFZ_Kennzeichen] = IIf(Trim(Mid(strZeile, 296, 16)) = "", Nothing, Trim(Mid(strZeile, 296, 16)))
|
||||
.[Kunden_Kostenstelle_1] = IIf(Trim(Mid(strZeile, 312, 20)) = "", Nothing, Trim(Mid(strZeile, 312, 20)))
|
||||
.[Kartentyp] = IIf(Trim(Mid(strZeile, 332, 8)) = "", Nothing, Trim(Mid(strZeile, 332, 8)))
|
||||
.[Filler_Feld_35] = IIf(Trim(Mid(strZeile, 340, 1)) = "", Nothing, Trim(Mid(strZeile, 340, 1)))
|
||||
.[Filler_Feld_36] = IIf(Trim(Mid(strZeile, 341, 3)) = "", Nothing, Trim(Mid(strZeile, 341, 3)))
|
||||
.[KZ_Autobahn] = IIf(Trim(Mid(strZeile, 344, 1)) = "", Nothing, Trim(Mid(strZeile, 344, 1)))
|
||||
.[INFO_Feld] = IIf(Trim(Mid(strZeile, 345, 18)) = "", Nothing, Trim(Mid(strZeile, 345, 18)))
|
||||
.[KFZ_Kennzeichen] = IIf(Trim(Mid(strZeile, 363, 16)) = "", Nothing, Trim(Mid(strZeile, 363, 16)))
|
||||
.[Filler_Feld_40] = IIf(Trim(Mid(strZeile, 379, 1)) = "", Nothing, Trim(Mid(strZeile, 379, 1)))
|
||||
.[Buchungsart] = IIf(Trim(Mid(strZeile, 380, 1)) = "", Nothing, Trim(Mid(strZeile, 380, 1)))
|
||||
.[Buchungsgrund] = IIf(Trim(Mid(strZeile, 381, 1)) = "", Nothing, Trim(Mid(strZeile, 381, 1)))
|
||||
.[Filler_Feld_43] = IIf(Trim(Mid(strZeile, 382, 1)) = "", Nothing, Trim(Mid(strZeile, 382, 1)))
|
||||
.[Informationsbeleg] = IIf(Trim(Mid(strZeile, 383, 1)) = "", Nothing, Trim(Mid(strZeile, 383, 1)))
|
||||
.[Belegherkunft] = IIf(Trim(Mid(strZeile, 384, 1)) = "", Nothing, Trim(Mid(strZeile, 384, 1)))
|
||||
.[Filler_Feld_46] = IIf(Trim(Mid(strZeile, 385, 14)) = "", Nothing, Trim(Mid(strZeile, 385, 14)))
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen] = Mid(strZeile, 399, 13) / 10000
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen] = Mid(strZeile, 412, 13) / 10000
|
||||
.[Rechnungsdatum] = DateSerial(Mid(strZeile, 429, 4), Mid(strZeile, 427, 2), Mid(strZeile, 425, 2))
|
||||
.[Umsatzsteuerprozentsatz_informativ] = Mid(strZeile, 433, 5) / 10000
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 438, 11) / 100
|
||||
.[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 449, 11) / 100
|
||||
.[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ] = Mid(strZeile, 460, 11) / 100
|
||||
.[Fälligkeitsdatum] = DateSerial(Mid(strZeile, 475, 4), Mid(strZeile, 473, 2), Mid(strZeile, 471, 2))
|
||||
.[Zahlungsziel_in_Tagen] = Mid(strZeile, 479, 3)
|
||||
.[Zahlungsart] = IIf(Trim(Mid(strZeile, 482, 8)) = "", Nothing, Trim(Mid(strZeile, 482, 8)))
|
||||
.[TC_Rechnungsnummer_gegenüber_dem_Nutzer] = IIf(Trim(Mid(strZeile, 490, 20)) = "", Nothing, Trim(Mid(strZeile, 490, 20)))
|
||||
.[TC_Rechnungsdatum] = DateSerial(Mid(strZeile, 514, 4), Mid(strZeile, 512, 2), Mid(strZeile, 510, 2))
|
||||
.[Zahlungszielgruppe] = IIf(Trim(Mid(strZeile, 518, 7)) = "", Nothing, Trim(Mid(strZeile, 518, 7)))
|
||||
.[Kunden_Kostenstelle_2] = IIf(Trim(Mid(strZeile, 525, 20)) = "", Nothing, Trim(Mid(strZeile, 525, 20)))
|
||||
.[Lieferzeit] = IIf(Trim(Mid(strZeile, 545, 6)) = "", Nothing, Trim(Mid(strZeile, 545, 6)))
|
||||
.[Fremdkartennummer] = IIf(Trim(Mid(strZeile, 551, 20)) = "", Nothing, Trim(Mid(strZeile, 551, 20)))
|
||||
.[OnBoardUnitID] = IIf(Trim(Mid(strZeile, 571, 20)) = "", Nothing, Trim(Mid(strZeile, 571, 20)))
|
||||
.[KFZ_Kennzeichen_komprimiert] = IIf(Trim(Mid(strZeile, 591, 16)) = "", Nothing, Trim(Mid(strZeile, 591, 16)))
|
||||
.[Kartenkategorie] = IIf(Trim(Mid(strZeile, 607, 8)) = "", Nothing, Trim(Mid(strZeile, 607, 8)))
|
||||
.[Rechnungsnummer_pro_Lieferland] = Mid(strZeile, 615, 13)
|
||||
.[Autobahnauffahrt] = IIf(Trim(Mid(strZeile, 628, 40)) = "", Nothing, Trim(Mid(strZeile, 628, 40)))
|
||||
.[Autobahnausfahrt] = IIf(Trim(Mid(strZeile, 668, 40)) = "", Nothing, Trim(Mid(strZeile, 668, 40)))
|
||||
.[Rabattschlüssel_der_französischen_Autobahngesellschaften] = IIf(Trim(Mid(strZeile, 708, 1)) = "", Nothing, Trim(Mid(strZeile, 708, 1)))
|
||||
.[Nummer_Belastungsanzeige] = Mid(strZeile, 709, 13)
|
||||
.[Betreuungsstelle] = IIf(Trim(Mid(strZeile, 722, 20)) = "", Nothing, Trim(Mid(strZeile, 722, 20)))
|
||||
.[Filler_Feld_72] = IIf(Trim(Mid(strZeile, 742, 20)) = "", Nothing, Trim(Mid(strZeile, 742, 20)))
|
||||
.[Akzeptanz_Medium] = IIf(Trim(Mid(strZeile, 762, 20)) = "", Nothing, Trim(Mid(strZeile, 762, 20)))
|
||||
.[Steuerkategorie] = IIf(Trim(Mid(strZeile, 782, 8)) = "", Nothing, Trim(Mid(strZeile, 782, 8)))
|
||||
.[UTA_Beleg_ID] = Mid(strZeile, 790, 11)
|
||||
.[UTA_Normalbeleg_ID] = Mid(strZeile, 801, 11)
|
||||
.[Gebühren_Bescheinigung_von] = DateSerial(Mid(strZeile, 816, 4), Mid(strZeile, 814, 2), Mid(strZeile, 812, 2))
|
||||
.[Gebühren_Bescheinigung_bis] = DateSerial(Mid(strZeile, 824, 4), Mid(strZeile, 822, 2), Mid(strZeile, 820, 2))
|
||||
.[Herausgeber_Nutzer_Nummer] = IIf(Trim(Mid(strZeile, 828, 20)) = "", Nothing, Trim(Mid(strZeile, 828, 20)))
|
||||
.[Maßeinheit] = IIf(Trim(Mid(strZeile, 848, 8)) = "", Nothing, Trim(Mid(strZeile, 848, 8)))
|
||||
.[Land_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 856, 3)) = "", Nothing, Trim(Mid(strZeile, 856, 3)))
|
||||
.[Postleitzahl_der_Akzeptanzstelle] = IIf(Trim(Mid(strZeile, 859, 7)) = "", Nothing, Trim(Mid(strZeile, 859, 7)))
|
||||
.[Steuerliches_Lieferland] = IIf(Trim(Mid(strZeile, 866, 3)) = "", Nothing, Trim(Mid(strZeile, 866, 3)))
|
||||
.[Steuerliche_Produktgruppe] = IIf(Trim(Mid(strZeile, 869, 5)) = "", Nothing, Trim(Mid(strZeile, 869, 5)))
|
||||
.[Leistungsort_verlagerbar] = IIf(Trim(Mid(strZeile, 874, 1)) = "", Nothing, Trim(Mid(strZeile, 874, 1)))
|
||||
|
||||
Loop
|
||||
Select Case .[Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen]
|
||||
Case "0" 'positiv
|
||||
curChecksumme = curChecksumme + .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
Case "1" 'negativ
|
||||
curChecksumme = curChecksumme - .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
.[Menge] = 0 - .[Menge]
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung] = 0 - .[Einzelpreis_Brutto_in_Lieferlandwährung]
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung] = 0 - .[Einzelpreis_Netto_in_Lieferlandwährung]
|
||||
.[Betrag_Service_in_Lieferlandwährung] = 0 - .[Betrag_Service_in_Lieferlandwährung]
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung] = 0 - .[Betrag_Nachlass_in_Lieferlandwährung]
|
||||
.[Gesamtbetrag_Netto_in_Lieferlandwährung] = 0 - .[Gesamtbetrag_Netto_in_Lieferlandwährung]
|
||||
.[Gesamtbetrag_Brutto_in_Lieferlandwährung] = 0 - .[Gesamtbetrag_Brutto_in_Lieferlandwährung]
|
||||
.[Betrag_Service_in_Darstellwährung] = 0 - .[Betrag_Service_in_Darstellwährung]
|
||||
.[Betrag_Nachlass_in_Darstellwährung] = 0 - .[Betrag_Nachlass_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Netto_in_Darstellwährung] = 0 - .[Gesamtbetrag_Netto_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung] = 0 - .[Gesamtbetrag_Umsatzsteuer_in_Darstellwährung]
|
||||
.[Gesamtbetrag_Brutto_in_Darstellwährung] = 0 - .[Gesamtbetrag_Brutto_in_Darstellwährung]
|
||||
.[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen] = 0 - .[Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen]
|
||||
.[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen] = 0 - .[Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen]
|
||||
.[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
.[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
.[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ] = 0 - .[Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ]
|
||||
End Select
|
||||
|
||||
If onlyTestkunedn Then
|
||||
'nur KundenNr 100964 und 825040 speichern:
|
||||
If .[Kundennummer] = 100964 Or .[Kundennummer] = 825040 Then
|
||||
.SAVE()
|
||||
End If
|
||||
Else
|
||||
.SAVE()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'Dim clfArchiv As New cUTA.UTAArchiv(.Belegdatum, .UTA_Beleg_ID)
|
||||
'clfArchiv.Übertragungsnummer = .Übertragungsnummer
|
||||
'clfArchiv.ErstellDatumUhrzeit = .ErstellDatumUhrzeit
|
||||
'clfArchiv.Übertragungsposition = .Übertragungsposition
|
||||
'clfArchiv.Abrechnungsnummer = .Abrechnungsnummer
|
||||
'clfArchiv.Datum_für_Lieferungen_und_Leistungen_bis = .Datum_für_Lieferungen_und_Leistungen_bis
|
||||
'clfArchiv.Rechnungsempfänger_Kundennummer = .Rechnungsempfänger_Kundennummer
|
||||
'clfArchiv.Abrechnungsdatum = .Abrechnungsdatum
|
||||
'clfArchiv.Kundennummer = .Kundennummer
|
||||
'clfArchiv.Kartennummer = .Kartennummer
|
||||
'clfArchiv.Akzeptanzstellennummer = .Akzeptanzstellennummer
|
||||
'clfArchiv.Standort_der_Akzeptanzstelle = .Standort_der_Akzeptanzstelle
|
||||
'clfArchiv.Lieferland = .Lieferland
|
||||
'clfArchiv.Belegnummer_des_Lieferanten = .Belegnummer_des_Lieferanten
|
||||
'clfArchiv.Kilometerstand = .Kilometerstand
|
||||
'clfArchiv.Fakturierwarenart = .Fakturierwarenart
|
||||
'clfArchiv.Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen = .Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen
|
||||
'clfArchiv.Menge = .Menge
|
||||
'clfArchiv.SB_BT = .SB_BT
|
||||
'clfArchiv.Umsatzsteuerprozentsatz = .Umsatzsteuerprozentsatz
|
||||
'clfArchiv.Lieferlandwährung_ISO = .Lieferlandwährung_ISO
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung = .Einzelpreis_Brutto_in_Lieferlandwährung
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Service_in_Lieferlandwährung = .Betrag_Service_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
|
||||
'clfArchiv.Gesamtbetrag_Netto_in_Lieferlandwährung = .Gesamtbetrag_Netto_in_Lieferlandwährung
|
||||
'clfArchiv.Gesamtbetrag_Brutto_in_Lieferlandwährung = .Gesamtbetrag_Brutto_in_Lieferlandwährung
|
||||
'clfArchiv.Darstellwährung_ISO = .Darstellwährung_ISO
|
||||
'clfArchiv.Betrag_Service_in_Darstellwährung = .Betrag_Service_in_Darstellwährung
|
||||
'clfArchiv.Betrag_Nachlass_in_Darstellwährung = .Betrag_Nachlass_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Netto_in_Darstellwährung = .Gesamtbetrag_Netto_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = .Gesamtbetrag_Umsatzsteuer_in_Darstellwährung
|
||||
'clfArchiv.Gesamtbetrag_Brutto_in_Darstellwährung = .Gesamtbetrag_Brutto_in_Darstellwährung
|
||||
'clfArchiv.Prägetext_i_d_R_KFZ_Kennzeichen = .Prägetext_i_d_R_KFZ_Kennzeichen
|
||||
'clfArchiv.Kunden_Kostenstelle_1 = .Kunden_Kostenstelle_1
|
||||
'clfArchiv.Kartentyp = .Kartentyp
|
||||
'clfArchiv.Filler_Feld_35 = .Filler_Feld_35
|
||||
'clfArchiv.Filler_Feld_36 = .Filler_Feld_36
|
||||
'clfArchiv.KZ_Autobahn = .KZ_Autobahn
|
||||
'clfArchiv.INFO_Feld = .INFO_Feld
|
||||
'clfArchiv.KFZ_Kennzeichen = .KFZ_Kennzeichen
|
||||
'clfArchiv.Filler_Feld_40 = .Filler_Feld_40
|
||||
'clfArchiv.Buchungsart = .Buchungsart
|
||||
'clfArchiv.Buchungsgrund = .Buchungsgrund
|
||||
'clfArchiv.Filler_Feld_43 = .Filler_Feld_43
|
||||
'clfArchiv.Informationsbeleg = .Informationsbeleg
|
||||
'clfArchiv.Belegherkunft = .Belegherkunft
|
||||
'clfArchiv.Filler_Feld_46 = .Filler_Feld_46
|
||||
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen
|
||||
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen
|
||||
'clfArchiv.Rechnungsdatum = .Rechnungsdatum
|
||||
'clfArchiv.Umsatzsteuerprozentsatz_informativ = .Umsatzsteuerprozentsatz_informativ
|
||||
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
|
||||
'clfArchiv.Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ = .Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ
|
||||
'clfArchiv.Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ = .Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ
|
||||
'clfArchiv.Fälligkeitsdatum = .Fälligkeitsdatum
|
||||
'clfArchiv.Zahlungsziel_in_Tagen = .Zahlungsziel_in_Tagen
|
||||
'clfArchiv.Zahlungsart = .Zahlungsart
|
||||
'clfArchiv.TC_Rechnungsnummer_gegenüber_dem_Nutzer = .TC_Rechnungsnummer_gegenüber_dem_Nutzer
|
||||
'clfArchiv.TC_Rechnungsdatum = .TC_Rechnungsdatum
|
||||
'clfArchiv.Zahlungszielgruppe = .Zahlungszielgruppe
|
||||
'clfArchiv.Kunden_Kostenstelle_2 = .Kunden_Kostenstelle_2
|
||||
'clfArchiv.Lieferzeit = .Lieferzeit
|
||||
'clfArchiv.Fremdkartennummer = .Fremdkartennummer
|
||||
'clfArchiv.OnBoardUnitID = .OnBoardUnitID
|
||||
'clfArchiv.KFZ_Kennzeichen_komprimiert = .KFZ_Kennzeichen_komprimiert
|
||||
'clfArchiv.Kartenkategorie = .Kartenkategorie
|
||||
'clfArchiv.Rechnungsnummer_pro_Lieferland = .Rechnungsnummer_pro_Lieferland
|
||||
'clfArchiv.Autobahnauffahrt = .Autobahnauffahrt
|
||||
'clfArchiv.Autobahnausfahrt = .Autobahnausfahrt
|
||||
'clfArchiv.Rabattschlüssel_der_französischen_Autobahngesellschaften = .Rabattschlüssel_der_französischen_Autobahngesellschaften
|
||||
'clfArchiv.Nummer_Belastungsanzeige = .Nummer_Belastungsanzeige
|
||||
'clfArchiv.Betreuungsstelle = .Betreuungsstelle
|
||||
'clfArchiv.Filler_Feld_72 = .Filler_Feld_72
|
||||
'clfArchiv.Akzeptanz_Medium = .Akzeptanz_Medium
|
||||
'clfArchiv.Steuerkategorie = .Steuerkategorie
|
||||
'clfArchiv.UTA_Normalbeleg_ID = .UTA_Normalbeleg_ID
|
||||
'clfArchiv.Gebühren_Bescheinigung_von = .Gebühren_Bescheinigung_von
|
||||
'clfArchiv.Gebühren_Bescheinigung_bis = .Gebühren_Bescheinigung_bis
|
||||
'clfArchiv.Herausgeber_Nutzer_Nummer = .Herausgeber_Nutzer_Nummer
|
||||
'clfArchiv.Maßeinheit = .Maßeinheit
|
||||
'clfArchiv.Land_der_Akzeptanzstelle = .Land_der_Akzeptanzstelle
|
||||
'clfArchiv.Postleitzahl_der_Akzeptanzstelle = .Postleitzahl_der_Akzeptanzstelle
|
||||
'clfArchiv.Steuerliches_Lieferland = .Steuerliches_Lieferland
|
||||
'clfArchiv.Steuerliche_Produktgruppe = .Steuerliche_Produktgruppe
|
||||
'clfArchiv.Leistungsort_verlagerbar = .Leistungsort_verlagerbar
|
||||
'clfArchiv.SAVE()
|
||||
|
||||
End With
|
||||
|
||||
Case "90"
|
||||
|
||||
If curChecksumme < 0 Then
|
||||
curChecksumme = 0 - curChecksumme
|
||||
End If
|
||||
If Trim(Mid(strZeile, 16, 18) / 100) <> Math.Round(curChecksumme, 2) Then
|
||||
MsgBox("Checksumme: " & Trim(Mid(strZeile, 16, 18) / 100) & vbCrLf & "Prüfsumme: " & curChecksumme & vbCrLf & "Datei kann wegen Prüfsummenfehler nicht verarbeitet werden")
|
||||
'Return False
|
||||
End If
|
||||
|
||||
|
||||
lngRecordCount = lngRecordCount + 1
|
||||
Dim clfTrailer As New cUTA.UTATrailer(lngÜbertragungsnummer, dtmErstellDatumUhrzeit)
|
||||
With clfTrailer
|
||||
.ErstellDatumUhrzeit = dtmErstellDatumUhrzeit
|
||||
.Übertragungsnummer = lngÜbertragungsnummer
|
||||
.Anzahl_Sätze = Mid(strZeile, 3, 13)
|
||||
.Checksumme = Mid(strZeile, 16, 18) / 100
|
||||
.SAVE()
|
||||
End With
|
||||
|
||||
|
||||
|
||||
Case Else
|
||||
' Andere RecordNumber überlesen.
|
||||
End Select
|
||||
|
||||
Loop
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
cnt = CInt(lngRecordCount)
|
||||
objFileRead.Close()
|
||||
Return True
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Net
|
||||
Imports System.Reflection
|
||||
Imports System.ServiceModel.Configuration
|
||||
Imports System.ServiceModel.Security
|
||||
Imports System.Threading
|
||||
Imports System.Web.Routing
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
||||
Imports Chilkat
|
||||
Imports Newtonsoft.Json.Linq
|
||||
Imports VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS
|
||||
|
||||
Public Class cATEZ_NCTS_Sessions
|
||||
|
||||
@@ -17,6 +13,7 @@ Public Class cATEZ_NCTS_Sessions
|
||||
Public Property datetime As DateTime = Now()
|
||||
Public Property refresh_token As String
|
||||
Public Property token_validuntil As DateTime
|
||||
Public Property program As String
|
||||
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
@@ -30,18 +27,24 @@ Public Class cATEZ_NCTS_Sessions
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("datetime", datetime))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("refresh_token", refresh_token))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("token_validuntil", token_validuntil))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("program", program))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
Sub New()
|
||||
LOAD()
|
||||
LOAD("")
|
||||
End Sub
|
||||
|
||||
Sub New(token As String, refreshtoken As String, timestamp As DateTime)
|
||||
Sub New(Program As String)
|
||||
LOAD(Program)
|
||||
End Sub
|
||||
|
||||
Sub New(token As String, refreshtoken As String, timestamp As DateTime, program As String)
|
||||
Me.token = token
|
||||
Me.refresh_token = refreshtoken
|
||||
token_validuntil = timestamp
|
||||
program = program
|
||||
SAVE()
|
||||
End Sub
|
||||
|
||||
@@ -80,11 +83,11 @@ Public Class cATEZ_NCTS_Sessions
|
||||
End Function
|
||||
|
||||
|
||||
Public Sub LOAD()
|
||||
Public Sub LOAD(Program As String)
|
||||
Try
|
||||
hasEntry = False
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
Using cmd As New SqlCommand("SELECT TOP(1) * FROM tblATEZ_NCTS_Sessions where token_validuntil >= dateadd(minute,-10,getdate()) order by datetime desc ", conn)
|
||||
Using cmd As New SqlCommand("SELECT TOP(1) * FROM tblATEZ_NCTS_Sessions where token_validuntil >= dateadd(minute,-10,getdate()) " & IIf(Program <> "", " AND program = '" & Program & "' ", "") & " order by datetime desc ", conn)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
|
||||
If dr.Read Then
|
||||
@@ -621,26 +624,26 @@ Public Class cATEZ_NCTS_IN
|
||||
Dim SQl As New SQL
|
||||
Shared apiSettingsloaded As Boolean = False
|
||||
|
||||
Sub New(program As String)
|
||||
Sub New(program As String, Optional errorMessage As Boolean = True)
|
||||
API = SQl.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
|
||||
If API.Rows.Count = 0 Then
|
||||
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
|
||||
If errorMessage Then MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
|
||||
Else
|
||||
apiSettingsloaded = True
|
||||
API_STRING = API.Rows(0).Item("api_url")
|
||||
|
||||
If Not IsDBNull(API.Rows(0).Item("api_debugpath")) AndAlso API.Rows(0).Item("api_debugpath") <> "" Then
|
||||
Rest.VerboseLogging = True
|
||||
Rest.DebugLogFilePath = API.Rows(0).Item("api_debugpath") & program & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "_Test", "") & ".txt"
|
||||
rest.VerboseLogging = True
|
||||
rest.DebugLogFilePath = API.Rows(0).Item("api_debugpath") & program & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "_Test", "") & ".txt"
|
||||
Else
|
||||
Rest.VerboseLogging = False
|
||||
rest.VerboseLogging = False
|
||||
End If
|
||||
|
||||
End If
|
||||
API_STRING = API.Rows(0).Item("api_url")
|
||||
|
||||
End Sub
|
||||
|
||||
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String) As String
|
||||
Shared Function SendRequestAuthentificationToken(ByVal myuri As String, ByVal contentType As String, ByVal method As String, ByRef Itoken As String, ByVal program As String, Optional client_id As String = "", Optional grant_type As String = "") As String
|
||||
Try
|
||||
|
||||
Dim session = New cATEZ_NCTS_Sessions()
|
||||
@@ -673,8 +676,10 @@ Public Class cATEZ_NCTS_IN
|
||||
|
||||
|
||||
Dim json As New Chilkat.JsonObject
|
||||
json.UpdateString("password", API.Rows(0).Item("api_password"))
|
||||
json.UpdateString("username", API.Rows(0).Item("api_user"))
|
||||
json.UpdateString("password", API.Rows(0).Item("api_password"))
|
||||
If client_id <> "" Then json.UpdateString("client_id", client_id)
|
||||
If grant_type <> "" Then json.UpdateString("grant_type", grant_type)
|
||||
|
||||
|
||||
rest.AddHeader("Content-Type", contentType)
|
||||
@@ -697,10 +702,10 @@ Public Class cATEZ_NCTS_IN
|
||||
jsonResp.LoadSb(sbResponseBody)
|
||||
Itoken = jsonResp.StringOf("access_token")
|
||||
token = Itoken
|
||||
refresh_token = jsonResp.StringOf("refresh_token")
|
||||
refresh_token = If(jsonResp.StringOf("refresh_token"), "")
|
||||
Dim now As DateTime = DateTime.Now()
|
||||
now = now.AddSeconds(jsonResp.IntOf("expires_in"))
|
||||
session = New cATEZ_NCTS_Sessions(Itoken, refresh_token, now.ToString("yyyy-MM-dd HH:mm:ss"))
|
||||
session = New cATEZ_NCTS_Sessions(Itoken, refresh_token, now.ToString("yyyy-MM-dd HH:mm:ss"), program)
|
||||
sessionID = session.session_Id
|
||||
|
||||
Return rest.ResponseStatusCode
|
||||
@@ -710,17 +715,27 @@ Public Class cATEZ_NCTS_IN
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function authenticate() As String
|
||||
Shared Function authenticate(program As String, Optional client_id As String = "", Optional grant_type As String = "") As String
|
||||
|
||||
Dim myUri As String = API_STRING & "/api/tds/auth/"
|
||||
Dim response = SendRequestAuthentificationToken(myUri, "application/json", "POST", token)
|
||||
Dim myUri As String = API_STRING
|
||||
Dim contentType = "application/json"
|
||||
|
||||
Select Case program
|
||||
Case "NCTS" : myUri &= "/api/tds/auth/"
|
||||
Case "VAT" : myUri &= "/token" : contentType = "application/x-www-form-urlencoded"
|
||||
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
Dim response = SendRequestAuthentificationToken(myUri, contentType, "POST", token, program, client_id, grant_type)
|
||||
|
||||
Return response
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function SendRequestWithAuthHeader(acceptContentType As String, ByRef failureDesc As String) As String
|
||||
Shared Function SendRequestWithAuthHeader(acceptContentType As String, ByRef failureDesc As String, myUrl As String, Method As String) As String
|
||||
Try
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
|
||||
@@ -755,7 +770,7 @@ Public Class cATEZ_NCTS_IN
|
||||
'rest.PercentDoneOnSend = True
|
||||
rest.IdleTimeoutMs = 5000 * 31
|
||||
|
||||
success = rest.SendReqSb("POST", "/api/integrations/verag", sbRequestBody)
|
||||
success = rest.SendReqSb(Method, myUrl, sbRequestBody)
|
||||
|
||||
Dim responseStatusCode = rest.ReadResponseHeader()
|
||||
If (responseStatusCode < 0) Then
|
||||
@@ -816,7 +831,7 @@ Public Class cATEZ_NCTS_IN
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Shared Function setJson(ncts As cATEZ_NCTS_DATA)
|
||||
Shared Function setJsonNCTS(ncts As cATEZ_NCTS_DATA)
|
||||
|
||||
jsonData.Clear()
|
||||
ncts.json = ""
|
||||
@@ -868,6 +883,21 @@ Public Class cATEZ_NCTS_IN
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function setJsonVAT(documentType As String, docID As Integer)
|
||||
|
||||
jsonData.Clear()
|
||||
|
||||
Dim success As Boolean
|
||||
success = jsonData.UpdateString("document_type", documentType)
|
||||
Dim base64 As Chilkat.BinData
|
||||
success = base64.LoadFile(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(docID))
|
||||
success = jsonData.UpdateString("document_base64", base64.GetEncoded("base64"))
|
||||
|
||||
Return success
|
||||
|
||||
End Function
|
||||
|
||||
Public Function setJsonPDF(ncts As cATEZ_NCTS_DATA, dgv As DataGridView)
|
||||
|
||||
Dim success As Boolean
|
||||
@@ -894,4 +924,7 @@ Public Class cATEZ_NCTS_IN
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -524,7 +524,7 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
|
||||
Shared Function getISO2LandFromISO3Land(Iso3Land As String)
|
||||
If Iso3Land Is Nothing Then Return Nothing
|
||||
If Iso3Land.Length <> 3 Then Return Nothing
|
||||
Dim sqlstr = "SELECT TOP 1 isnull(LandKz,'') AS LandKzISO2 from [Länderverzeichnis für die Außenhandelsstatistik] where LandKz_ISO_3 = '" & Iso3Land & "' "
|
||||
Dim sqlstr = "SELECT TOP 1 isnull(LandKz,'') AS LandKzISO2 from [Länderverzeichnis für die Außenhandelsstatistik] where LandKz_ISO_3 = Replace('" & Iso3Land & "','SLO','SVN')"
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
|
||||
End Function
|
||||
|
||||
Reference in New Issue
Block a user