UTA Leistung, cFakt, MDM Datenverarbeitung, etc.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user