Files
ADMIN/initATLASAufschubkonten/cUTA.vb
2024-08-16 15:56:36 +02:00

1277 lines
79 KiB
VB.net

Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports System.Reflection
Imports System.Text.RegularExpressions
Imports com.esendex.sdk
Imports DocumentFormat.OpenXml.Bibliography
Imports DocumentFormat.OpenXml.EMMA
Imports DocumentFormat.OpenXml.VariantTypes
Imports VERAG_PROG_ALLGEMEIN
Public Class cUTA
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Public Function clearimporttable() As Boolean
Return SQL.doSQL("DELETE FROM tblUTAImport", "FMZOLL")
End Function
Public Function importUTALeistungen() As Boolean
'Einträge in tblUTALeistungen machen, wenn Fakturierwarenart und Lieferland noch nicht in der Tabelle enthalten sind.
Dim query = "INSERT INTO tblUTALeistungen (Fakturierwarenart, Lieferland, VERAG_OffertenNr, VERAG_LeistungsNr )
Select tblUTAImport.Fakturierwarenart, tblUTAImport.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
From tblUTAImport INNER Join tblUTAFakturierwarenarten On tblUTAImport.Fakturierwarenart = tblUTAFakturierwarenarten.Fakturierwarenart
Group By tblUTAImport.Fakturierwarenart, tblUTAImport.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
HAVING((((SELECT tblUTALeistungen.Fakturierwarenart FROM tblUTALeistungen WHERE tblUTALeistungen.Fakturierwarenart=tblUTAImport.Fakturierwarenart And tblUTALeistungen.Lieferland=tblUTAImport.Lieferland)) Is Null))"
Return SQL.doSQL(query, "FMZOLL")
End Function
Public Class UTAHeader
Property Übertragungsnummer As Integer
Property ErstellDatumUhrzeit As DateTime
Property Absender_ID As Object = Nothing
Property Empfänger_ID As Object = Nothing
Property Filler_Feld_5 As Object = Nothing
Property Abrechnungsnummer As Object = Nothing
Property DTF_Format As Object = Nothing
Public hasEntry = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub New(Übertragungsnummer, ErstellDatumUhrzeit)
Me.Übertragungsnummer = Übertragungsnummer
Me.ErstellDatumUhrzeit = ErstellDatumUhrzeit
LOAD()
End Sub
Sub New()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsnummer", Übertragungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstellDatumUhrzeit", ErstellDatumUhrzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender_ID", Absender_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger_ID", Empfänger_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_5", Filler_Feld_5))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abrechnungsnummer", Abrechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DTF_Format", DTF_Format))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAHeader WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAHeader WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is Nothing Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAHeader] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAHeader (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
Public Class UTABody
Property ErstellDatumUhrzeit As DateTime
Property Übertragungsnummer As Integer
Property Übertragungsposition As Integer
Property Abrechnungsnummer As Double
Property Datum_für_Lieferungen_und_Leistungen_bis As DateTime
Property Rechnungsempfänger_Kundennummer As Integer
Property Abrechnungsdatum As DateTime
Property Kundennummer As Integer
Property Kartennummer As String
Property Belegdatum As DateTime
Property Akzeptanzstellennummer As Double
Property Standort_der_Akzeptanzstelle As String
Property Lieferland As String
Property Belegnummer_des_Lieferanten As String
Property Kilometerstand As Double
Property Fakturierwarenart As String
Property Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen As Char
Property Menge As Double
Property SB_BT As Char
Property Umsatzsteuerprozentsatz As Double
Property Lieferlandwährung_ISO As String
Property Einzelpreis_Brutto_in_Lieferlandwährung As Double
Property Einzelpreis_Netto_in_Lieferlandwährung As Double
Property Betrag_Service_in_Lieferlandwährung As Double
Property Betrag_Nachlass_in_Lieferlandwährung As Double
Property Gesamtbetrag_Netto_in_Lieferlandwährung As Double
Property Gesamtbetrag_Brutto_in_Lieferlandwährung As Double
Property Darstellwährung_ISO As String
Property Betrag_Service_in_Darstellwährung As Double
Property Betrag_Nachlass_in_Darstellwährung As Double
Property Gesamtbetrag_Netto_in_Darstellwährung As Double
Property Gesamtbetrag_Umsatzsteuer_in_Darstellwährung As Double
Property Gesamtbetrag_Brutto_in_Darstellwährung As Double
Property Prägetext_i_d_R_KFZ_Kennzeichen As String
Property Kunden_Kostenstelle_1 As String
Property Kartentyp As String
Property Filler_Feld_35 As Char
Property Filler_Feld_36 As String
Property KZ_Autobahn As Char
Property INFO_Feld As String
Property KFZ_Kennzeichen As String
Property Filler_Feld_40 As Char
Property Buchungsart As Char
Property Buchungsgrund As Char
Property Filler_Feld_43 As Char
Property Informationsbeleg As Char
Property Belegherkunft As Char
Property Filler_Feld_46 As String
Property Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen As Double
Property Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen As Double
Property Rechnungsdatum As DateTime
Property Umsatzsteuerprozentsatz_informativ As Double
Property Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ As Double
Property Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ As Double
Property Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ As Double
Property Fälligkeitsdatum As DateTime
Property Zahlungsziel_in_Tagen As Integer
Property Zahlungsart As String
Property TC_Rechnungsnummer_gegenüber_dem_Nutzer As String
Property TC_Rechnungsdatum As DateTime
Property Zahlungszielgruppe As String
Property Kunden_Kostenstelle_2 As String
Property Lieferzeit As String
Property Fremdkartennummer As String
Property OnBoardUnitID As String
Property KFZ_Kennzeichen_komprimiert As String
Property Kartenkategorie As String
Property Rechnungsnummer_pro_Lieferland As Double
Property Autobahnauffahrt As String
Property Autobahnausfahrt As String
Property Rabattschlüssel_der_französischen_Autobahngesellschaften As Integer
Property Nummer_Belastungsanzeige As Double
Property Betreuungsstelle As String
Property Filler_Feld_72 As String
Property Akzeptanz_Medium As String
Property Steuerkategorie As String
Property UTA_Beleg_ID As String
Property UTA_Normalbeleg_ID As String
Property Gebühren_Bescheinigung_von As DateTime
Property Gebühren_Bescheinigung_bis As DateTime
Property Herausgeber_Nutzer_Nummer As String
Property Maßeinheit As String
Property Land_der_Akzeptanzstelle As String
Property Postleitzahl_der_Akzeptanzstelle As String
Property Steuerliches_Lieferland As String
Property Steuerliche_Produktgruppe As String
Property Leistungsort_verlagerbar As Char
Property abgerechnetDatum As Object
Property abgerechnet As Boolean = False
Public hasEntry = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub New(Übertragungsnummer, Übertragungsposition, ErstellDatumUhrzeit)
Me.Übertragungsnummer = Übertragungsnummer
Me.Übertragungsposition = Übertragungsposition
Me.ErstellDatumUhrzeit = ErstellDatumUhrzeit
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstellDatumUhrzeit", ErstellDatumUhrzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsnummer", Übertragungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsposition", Übertragungsposition))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abrechnungsnummer", Abrechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_für_Lieferungen_und_Leistungen_bis", Datum_für_Lieferungen_und_Leistungen_bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsempfänger_Kundennummer", Rechnungsempfänger_Kundennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abrechnungsdatum", Abrechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kundennummer", Kundennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartennummer", Kartennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdatum", Belegdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Akzeptanzstellennummer", Akzeptanzstellennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Standort_der_Akzeptanzstelle", Standort_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferland", Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegnummer_des_Lieferanten", Belegnummer_des_Lieferanten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kilometerstand", Kilometerstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fakturierwarenart", Fakturierwarenart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen", Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Menge", Menge))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_BT", SB_BT))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umsatzsteuerprozentsatz", Umsatzsteuerprozentsatz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferlandwährung_ISO", Lieferlandwährung_ISO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Brutto_in_Lieferlandwährung", Einzelpreis_Brutto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Netto_in_Lieferlandwährung", Einzelpreis_Netto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Service_in_Lieferlandwährung", Betrag_Service_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Lieferlandwährung", Betrag_Nachlass_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Netto_in_Lieferlandwährung", Gesamtbetrag_Netto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Brutto_in_Lieferlandwährung", Gesamtbetrag_Brutto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Darstellwährung_ISO", Darstellwährung_ISO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Darstellwährung", Betrag_Nachlass_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Netto_in_Darstellwährung", Gesamtbetrag_Netto_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung", Gesamtbetrag_Umsatzsteuer_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Brutto_in_Darstellwährung", Gesamtbetrag_Brutto_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Prägetext_i_d_R_KFZ_Kennzeichen", Prägetext_i_d_R_KFZ_Kennzeichen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden_Kostenstelle_1", Kunden_Kostenstelle_1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartentyp", Kartentyp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_35", Filler_Feld_35))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_36", Filler_Feld_36))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KZ_Autobahn", KZ_Autobahn))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KFZ_Kennzeichen", KFZ_Kennzeichen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("INFO_Feld", INFO_Feld))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_40", Filler_Feld_40))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsart", Buchungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsgrund", Buchungsgrund))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_43", Filler_Feld_43))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Informationsbeleg", Informationsbeleg))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegherkunft", Belegherkunft))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_46", Filler_Feld_46))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen", Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen", Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umsatzsteuerprozentsatz_informativ", Umsatzsteuerprozentsatz_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ", Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ", Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ", Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel_in_Tagen", Zahlungsziel_in_Tagen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsart", Zahlungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TC_Rechnungsnummer_gegenüber_dem_Nutzer", TC_Rechnungsnummer_gegenüber_dem_Nutzer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TC_Rechnungsdatum", TC_Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungszielgruppe", Zahlungszielgruppe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden_Kostenstelle_2", Kunden_Kostenstelle_2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferzeit", Lieferzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremdkartennummer", Fremdkartennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OnBoardUnitID", OnBoardUnitID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KFZ_Kennzeichen_komprimiert", KFZ_Kennzeichen_komprimiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartenkategorie", Kartenkategorie))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer_pro_Lieferland", Rechnungsnummer_pro_Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Autobahnauffahrt", Autobahnauffahrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Autobahnausfahrt", Autobahnausfahrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rabattschlüssel_der_französischen_Autobahngesellschaften", Rabattschlüssel_der_französischen_Autobahngesellschaften))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer_Belastungsanzeige", Nummer_Belastungsanzeige))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betreuungsstelle", Betreuungsstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_72", Filler_Feld_72))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Akzeptanz_Medium", Akzeptanz_Medium))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerkategorie", Steuerkategorie))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTA_Beleg_ID", UTA_Beleg_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTA_Normalbeleg_ID", UTA_Normalbeleg_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gebühren_Bescheinigung_von", Gebühren_Bescheinigung_von))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gebühren_Bescheinigung_bis", Gebühren_Bescheinigung_bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Herausgeber_Nutzer_Nummer", Herausgeber_Nutzer_Nummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Maßeinheit", Maßeinheit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Land_der_Akzeptanzstelle", Land_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Postleitzahl_der_Akzeptanzstelle", Postleitzahl_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerliches_Lieferland", Steuerliches_Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerliche_Produktgruppe", Steuerliche_Produktgruppe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsort_verlagerbar", Leistungsort_verlagerbar))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abgerechnetDatum", abgerechnetDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abgerechnet", abgerechnet))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAImport WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAImport WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@Übertragungsposition", Übertragungsposition)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAImport] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAImport (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
Public Class UTAArchiv
Property ErstellDatumUhrzeit As DateTime
Property Übertragungsnummer As Integer
Property Übertragungsposition As Integer
Property Abrechnungsnummer As Object
Property Datum_für_Lieferungen_und_Leistungen_bis As DateTime
Property Rechnungsempfänger_Kundennummer As Integer
Property Abrechnungsdatum As DateTime
Property Kundennummer As Integer
Property Kartennummer As Object
Property Belegdatum As DateTime
Property Akzeptanzstellennummer As Object
Property Standort_der_Akzeptanzstelle As Object
Property Lieferland As Object
Property Belegnummer_des_Lieferanten As Object
Property Kilometerstand As Object
Property Fakturierwarenart As Object
Property Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen As Object
Property Menge As Object
Property SB_BT As Object
Property Umsatzsteuerprozentsatz As Object
Property Lieferlandwährung_ISO As Object
Property Einzelpreis_Netto_in_Lieferlandwährung As Object
Property Einzelpreis_Brutto_in_Lieferlandwährung As Object
Property ÜbertragEinzelpreis_Netto_in_Lieferlandwährungungsposition As Object
Property Betrag_Service_in_Lieferlandwährung As Object
Property Betrag_Nachlass_in_Lieferlandwährung As Object
Property Gesamtbetrag_Netto_in_Lieferlandwährung As Object
Property Gesamtbetrag_Brutto_in_Lieferlandwährung As Object
Property Darstellwährung_ISO As Object
Property Betrag_Service_in_Darstellwährung As Object
Property Betrag_Nachlass_in_Darstellwährung As Object
Property Gesamtbetrag_Netto_in_Darstellwährung As Object
Property Gesamtbetrag_Umsatzsteuer_in_Darstellwährung As Object
Property Gesamtbetrag_Brutto_in_Darstellwährung As Object
Property Prägetext_i_d_R_KFZ_Kennzeichen As Object
Property Kunden_Kostenstelle_1 As Object
Property Kartentyp As Object
Property Filler_Feld_35 As Object
Property Filler_Feld_36 As Object
Property KZ_Autobahn As Object
Property INFO_Feld As Object
Property KFZ_Kennzeichen As Object
Property Filler_Feld_40 As Object
Property Buchungsart As Object
Property Buchungsgrund As Object
Property Filler_Feld_43 As Object
Property Informationsbeleg As Object
Property Belegherkunft As Object
Property Filler_Feld_46 As Object
Property Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen As Object
Property Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen As Object
Property Rechnungsdatum As DateTime
Property Umsatzsteuerprozentsatz_informativ As Object
Property Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ As Object
Property Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ As Object
Property Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ As Object
Property Fälligkeitsdatum As DateTime
Property Zahlungsziel_in_Tagen As Integer
Property Zahlungsart As Object
Property TC_Rechnungsnummer_gegenüber_dem_Nutzer As Object
Property TC_Rechnungsdatum As DateTime
Property Zahlungszielgruppe As Object
Property Kunden_Kostenstelle_2 As Object
Property Lieferzeit As Object
Property Fremdkartennummer As Object
Property OnBoardUnitID As Object
Property KFZ_Kennzeichen_komprimiert As Object
Property Kartenkategorie As Object
Property Rechnungsnummer_pro_Lieferland As Object
Property Autobahnauffahrt As Object
Property Autobahnausfahrt As Object
Property Rabattschlüssel_der_französischen_Autobahngesellschaften As Integer
Property Nummer_Belastungsanzeige As Object
Property Betreuungsstelle As Object
Property Filler_Feld_72 As Object
Property Akzeptanz_Medium As Object
Property Steuerkategorie As Object
Property UTA_Beleg_ID As Object
Property UTA_Normalbeleg_ID As Object
Property Gebühren_Bescheinigung_von As DateTime
Property Gebühren_Bescheinigung_bis As DateTime
Property Herausgeber_Nutzer_Nummer As Object
Property Maßeinheit As Object
Property Land_der_Akzeptanzstelle As Object
Property Postleitzahl_der_Akzeptanzstelle As Object
Property Steuerliches_Lieferland As Object
Property Steuerliche_Produktgruppe As Object
Property Leistungsort_verlagerbar As Object
Property UStVAn_ID As Object
Public hasEntry = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub New(Belegdatum, UTA_Beleg_ID)
Me.Belegdatum = Belegdatum
Me.UTA_Beleg_ID = UTA_Beleg_ID
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstellDatumUhrzeit", ErstellDatumUhrzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsnummer", Übertragungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsposition", Übertragungsposition))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abrechnungsnummer", Abrechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_für_Lieferungen_und_Leistungen_bis", Datum_für_Lieferungen_und_Leistungen_bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsempfänger_Kundennummer", Rechnungsempfänger_Kundennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abrechnungsdatum", Abrechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kundennummer", Kundennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartennummer", Kartennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdatum", Belegdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Akzeptanzstellennummer", Akzeptanzstellennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Standort_der_Akzeptanzstelle", Standort_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferland", Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegnummer_des_Lieferanten", Belegnummer_des_Lieferanten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kilometerstand", Kilometerstand))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fakturierwarenart", Fakturierwarenart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen", Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Menge", Menge))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SB_BT", SB_BT))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umsatzsteuerprozentsatz", Umsatzsteuerprozentsatz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferlandwährung_ISO", Lieferlandwährung_ISO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Netto_in_Lieferlandwährung", Einzelpreis_Netto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Brutto_in_Lieferlandwährung", Einzelpreis_Brutto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Service_in_Lieferlandwährung", Betrag_Service_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Lieferlandwährung", Betrag_Nachlass_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Netto_in_Lieferlandwährung", Gesamtbetrag_Netto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Brutto_in_Lieferlandwährung", Gesamtbetrag_Brutto_in_Lieferlandwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Darstellwährung_ISO", Darstellwährung_ISO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Darstellwährung", Betrag_Nachlass_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Netto_in_Darstellwährung", Gesamtbetrag_Netto_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung", Gesamtbetrag_Umsatzsteuer_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_Brutto_in_Darstellwährung", Gesamtbetrag_Brutto_in_Darstellwährung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Prägetext_i_d_R_KFZ_Kennzeichen", Prägetext_i_d_R_KFZ_Kennzeichen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden_Kostenstelle_1", Kunden_Kostenstelle_1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartentyp", Kartentyp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_35", Filler_Feld_35))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_36", Filler_Feld_36))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KZ_Autobahn", KZ_Autobahn))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KFZ_Kennzeichen", KFZ_Kennzeichen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("INFO_Feld", INFO_Feld))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_40", Filler_Feld_40))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsart", Buchungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsgrund", Buchungsgrund))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_43", Filler_Feld_43))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Informationsbeleg", Informationsbeleg))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegherkunft", Belegherkunft))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_46", Filler_Feld_46))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen", Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen", Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umsatzsteuerprozentsatz_informativ", Umsatzsteuerprozentsatz_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ", Betrag_Nachlass_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ", Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ", Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fälligkeitsdatum", Fälligkeitsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel_in_Tagen", Zahlungsziel_in_Tagen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsart", Zahlungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TC_Rechnungsnummer_gegenüber_dem_Nutzer", TC_Rechnungsnummer_gegenüber_dem_Nutzer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TC_Rechnungsdatum", TC_Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungszielgruppe", Zahlungszielgruppe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden_Kostenstelle_2", Kunden_Kostenstelle_2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferzeit", Lieferzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremdkartennummer", Fremdkartennummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OnBoardUnitID", OnBoardUnitID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KFZ_Kennzeichen_komprimiert", KFZ_Kennzeichen_komprimiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kartenkategorie", Kartenkategorie))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer_pro_Lieferland", Rechnungsnummer_pro_Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Autobahnauffahrt", Autobahnauffahrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Autobahnausfahrt", Autobahnausfahrt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rabattschlüssel_der_französischen_Autobahngesellschaften", Rabattschlüssel_der_französischen_Autobahngesellschaften))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nummer_Belastungsanzeige", Nummer_Belastungsanzeige))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Betreuungsstelle", Betreuungsstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Filler_Feld_72", Filler_Feld_72))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Akzeptanz_Medium", Akzeptanz_Medium))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerkategorie", Steuerkategorie))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTA_Beleg_ID", UTA_Beleg_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UTA_Normalbeleg_ID", UTA_Normalbeleg_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gebühren_Bescheinigung_von", Gebühren_Bescheinigung_von))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gebühren_Bescheinigung_bis", Gebühren_Bescheinigung_bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Herausgeber_Nutzer_Nummer", Herausgeber_Nutzer_Nummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Maßeinheit", Maßeinheit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Land_der_Akzeptanzstelle", Land_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Postleitzahl_der_Akzeptanzstelle", Postleitzahl_der_Akzeptanzstelle))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerliches_Lieferland", Steuerliches_Lieferland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerliche_Produktgruppe", Steuerliche_Produktgruppe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsort_verlagerbar", Leistungsort_verlagerbar))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
'Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM CLFArchiv WHERE PKFileName=@PKFileName AND OBUID = @OBUID) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAArchiv WHERE UTA_Beleg_ID = @UTA_Beleg_ID AND Belegdatum = @Belegdatum) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAArchiv WHERE UTA_Beleg_ID = @UTA_Beleg_ID AND Belegdatum = @Belegdatum ", conn)
cmd.Parameters.AddWithValue("@UTA_Beleg_ID", UTA_Beleg_ID)
cmd.Parameters.AddWithValue("@Belegdatum", Belegdatum)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAArchiv] SET " & str & " WHERE UTA_Beleg_ID = @UTA_Beleg_ID AND Belegdatum = @Belegdatum")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAArchiv (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
Public Class UTATrailer
Property ErstellDatumUhrzeit As DateTime
Property Übertragungsnummer As Integer
Property Anzahl_Sätze As Integer
Property Checksumme As Object = Nothing
Public hasEntry = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub New(Übertragungsnummer, ErstellDatumUhrzeit)
Me.Übertragungsnummer = Übertragungsnummer
Me.ErstellDatumUhrzeit = ErstellDatumUhrzeit
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErstellDatumUhrzeit", ErstellDatumUhrzeit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Übertragungsnummer", Übertragungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl_Sätze", Anzahl_Sätze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Checksumme", Checksumme))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTATrailer WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTATrailer WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTATrailer] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTATrailer (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return ""
End Function
End Class
Function getNachrichtenDatenFromFTP(ByRef filenameList As List(Of String), ByVal fileType As String, ByRef testFTP As Boolean) As Integer
Dim cnt = 0
Try
Dim SERVERPath = ""
SERVERPath = Me.FTP_PFAD
Dim catchedFiles As Boolean = False
For Each f In IO.Directory.GetFiles(SERVERPath)
Dim fi As New IO.FileInfo(f)
If fi.Name.ToUpper.Contains(fileType) Then
If Not fi.Name.StartsWith(".") Then
Dim zielPfad = VERARBEITUNG_PFAD & "\" & fi.Name
While IO.File.Exists(zielPfad)
zielPfad = VERARBEITUNG_PFAD & "\" & "DOPPELT" & "\" & fi.Name.Replace(fi.Extension, "") & fi.Extension & Now.ToString("_yyyyMMdd_HHmmss")
End While
IO.File.Copy(f, zielPfad)
If IO.File.Exists(zielPfad) Then
IO.File.Delete(f)
catchedFiles = True
End If
Dim filename = frmStartOptions.cut_file((New FileInfo(zielPfad)).Name)
If filename.ToUpper.Contains(fileType) Then
filenameList.Add(filename)
cnt += 1
End If
End If
End If
Next
Return cnt
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return cnt
End Function
Public Function readAndSaveUTA(objFileRead As StreamReader, fi As FileInfo) As Boolean
Dim booHeaderVorhanden = False
Dim booPrüfziffernfehler = False
Dim booInTransaktion = False
Dim booTrailerVorhanden = False
Dim dtmErstellDatumUhrzeit As Date
Dim lngÜbertragungsnummer As Integer
Dim lngÜbertragungsposition As Integer
Dim curChecksumme As Double
Dim lngRecordCount As Long
'Datei auf Fehler prüfen!
Do While (objFileRead.Peek() > -1)
Dim strZeile = objFileRead.ReadLine()
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
booTrailerVorhanden = True
lngRecordCount = lngRecordCount + 1
' 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
' 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 tblUTAHeader.ErstellDatumUhrzeit, tblUTAHeader.Übertragungsnummer FROM tblUTAHeader WHERE (((tblUTAHeader.ErstellDatumUhrzeit)=" & Format$(dtmErstellDatumUhrzeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & ") AND ((tblUTAHeader.Ü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
.SAVE()
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
objFileRead.Close()
Return True
End Function
Public VERARBEITUNG_PFAD
Public ARCHIV_PFAD
Public ERROR_PFAD
Public ZIEL_PFAD
Public FTP_PFAD
Public API_STRING As String
Public API As New DataTable
Dim Dateiname = ""
Public Function initImportPfade(programName As String) As Boolean
ERROR_PFAD = cUTA.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ARCHIV_PFAD = cUTA.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
VERARBEITUNG_PFAD = cUTA.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ZIEL_PFAD = cUTA.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If Not IO.Directory.Exists(VERARBEITUNG_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
Return Paramter.getFTPConenction(API_STRING, API, programName)
End Function
Public Class Paramter
Shared apiSettingsloaded As Boolean = False
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function GET_PARAM_ByName(tcParam_name, TESTSYSTEM) As String
Return SQL.getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='UTA' AND [Param_name]='" & tcParam_name & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
End Function
Shared Function getFTPConenction(ByRef API_String As String, ByRef API As DataTable, ByRef program As String) As Boolean
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_String = API.Rows(0).Item("api_url")
End If
Return apiSettingsloaded
End Function
End Class
End Class