Uta, Mailsender

This commit is contained in:
2024-10-07 13:47:13 +02:00
parent d820af469d
commit 56662d1341
9 changed files with 485 additions and 154 deletions

View File

@@ -97,6 +97,10 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\OFFICE.DLL</HintPath>
</Reference>
<Reference Include="Spire.Pdf, Version=10.7.21.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\PROGRAMMIERUNG\dll\Spire.PDF\Spire.Pdf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
@@ -109,9 +113,6 @@
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="ZUGFeRD.NET">
<HintPath>F:\PROGRAMMIERUNG\dll\ZUGFeRD.NET.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />

View File

@@ -1,12 +1,6 @@
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
@@ -15,7 +9,7 @@ Public Class cUTA
Public Function clearimporttable() As Boolean
Return SQL.doSQL("DELETE FROM tblUTAImport", "FMZOLL")
Return SQL.doSQL("DELETE FROM tblUTAImportNew", "FMZOLL")
End Function
@@ -23,10 +17,10 @@ Public Class cUTA
'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))"
Select tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
From tblUTAImportNew INNER Join tblUTAFakturierwarenarten On tblUTAImportNew.Fakturierwarenart = tblUTAFakturierwarenarten.Fakturierwarenart
Group By tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
HAVING((((SELECT tblUTALeistungen.Fakturierwarenart FROM tblUTALeistungen WHERE tblUTALeistungen.Fakturierwarenart=tblUTAImportNew.Fakturierwarenart And tblUTALeistungen.Lieferland=tblUTAImportNew.Lieferland)) Is Null))"
Return SQL.doSQL(query, "FMZOLL")
@@ -72,7 +66,7 @@ Public Class cUTA
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) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAHeaderNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -85,7 +79,7 @@ Public Class cUTA
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAHeader WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit", conn)
Using cmd As New SqlCommand("Select * FROM tblUTAHeaderNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
@@ -123,7 +117,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAHeader] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ")
Return (" UPDATE [tblUTAHeaderNew] 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)
@@ -145,7 +139,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAHeader (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTAHeaderNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -357,7 +351,7 @@ Public Class cUTA
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) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAImportNew WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -370,7 +364,7 @@ Public Class cUTA
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)
Using cmd As New SqlCommand("Select * FROM tblUTAImportNew 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)
@@ -409,7 +403,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAImport] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition")
Return (" UPDATE [tblUTAImportNew] 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)
@@ -431,7 +425,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAImport (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTAImportNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -752,7 +746,7 @@ Public Class cUTA
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) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTATrailerNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -765,7 +759,7 @@ Public Class cUTA
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTATrailer WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit", conn)
Using cmd As New SqlCommand("Select * FROM tblUTATrailerNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
@@ -803,7 +797,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTATrailer] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit")
Return (" UPDATE [tblUTATrailerNew] 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)
@@ -825,7 +819,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTATrailer (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTATrailerNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -949,7 +943,7 @@ Public Class cUTA
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
'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
@@ -1102,94 +1096,94 @@ Public Class cUTA
.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()
'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
@@ -1242,10 +1236,13 @@ Public Class cUTA
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("VERARBEITUNGS_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 System.IO.Directory.Exists(VERARBEITUNG_PFAD) Then
If Not System.IO.Directory.Exists(VERARBEITUNG_PFAD) AndAlso VERARBEITUNG_PFAD <> "" Then
System.IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
ElseIf VERARBEITUNG_PFAD = "" Then
MsgBox("Verabreitungspfad nicht gesetzt!")
End If
Return Paramter.getFTPConenction(API_STRING, API, programName)

View File

@@ -1,15 +1,7 @@
Imports System.IO
Imports System.Globalization
Imports System.Xml
Imports Renci.SshNet
Imports System.Net.Mail
Imports GrapeCity.Enterprise.Data.DataEngine.DataProcessing
Imports DocumentFormat.OpenXml.Wordprocessing
Imports DAKOSY_Worker
Imports Renci.SshNet.Messages
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports DocumentFormat.OpenXml.Drawing.Charts
Imports iTextSharp.text.xml.simpleparser
Imports Renci.SshNet
Public Class frmDYNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0

View File

@@ -3,16 +3,13 @@ Imports System.Net
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Web
Imports io.konik
Imports io.konik.carriage.pdfbox.xmp
Imports io.konik.validation
Imports io.konik.zugferd
Imports java.nio.channels
Imports System.Xml
Imports Renci.SshNet
Imports Renci.SshNet.Sftp
Imports VERAG_PROG_ALLGEMEIN
Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim cntDatenEingelesen As Integer = 0
Dim dsNichtErkannt As Integer = 0
@@ -412,29 +409,78 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
'PDFs über EEA und Zugpfrd
If fi.Extension.ToLower = ".pdf" Then
If Not System.IO.Directory.Exists(zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then System.IO.Directory.CreateDirectory(zielpfad & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If True Then 'Not System.IO.Directory.Exists(zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then System.IO.Directory.CreateDirectory(zielpfad & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If fi.Name.ToString.StartsWith("invoice_") Then
If fi.Name.ToString.StartsWith("invoice_") Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "UTA", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d))
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "UTA", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d))
DS.uploadDataToDATENSERVER(d,,,,,, True)
DS.uploadDataToDATENSERVER(d,,,,,, True)
'zugferd-Daten aus pdf auslesen!
Dim invoice As New Invoice(zugferd.profile.ConformanceLevel.BASIC)
Dim validator As InvoiceValidator = New InvoiceValidator()
Dim test = validator.validate(invoice)
'zugferd-Daten aus pdf auslesen!
'1 Read your PDF
'2 Get the catalog inside your PDF
'3 Get the Array with name AF from Catalog
'4 Get first element from AF array (should be file spec)
'5 From file spec get the dictionary named EF
'6 Get the stream content of EF
Try
Dim invoiceNr As String = ""
Dim invoiceDate As String = ""
Dim UTA_Beleg_ID As String = ""
Dim doc = New Spire.Pdf.PdfDocument()
doc.LoadFromFile(fi.FullName)
Dim pdfAtt = doc.Attachments(0)
If pdfAtt.FileName = "ZUGFeRD-invoice.xml" Then
Dim filename = Path.GetFileName(pdfAtt.FileName)
File.WriteAllBytes(filename, pdfAtt.Data)
Dim docxml As New XmlDocument()
docxml.Load(New XmlTextReader(filename))
If docxml.HasChildNodes Then
If docxml.GetElementsByTagName("rsm:ExchangedDocument").Count > 0 Then
Dim count As Integer = 1
For Each node As XmlElement In docxml.GetElementsByTagName("rsm:ExchangedDocument")
If node.HasChildNodes Then
For Each element As XmlElement In node.ChildNodes
If element.Name = "ram:ID" AndAlso element.InnerText <> "" Then invoiceNr = element.InnerText 'Rechnungsnummer
If element.Name = "ram:IssueDateTime" AndAlso element.InnerText <> "" Then invoiceDate = element.InnerText
Next
count = count + 1
End If
Next
End If
End If
End If
If UTA_Beleg_ID <> "" Then
'TO DO -> ÄNDERN----------------------
SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "' where [UTA_Beleg_ID] = '" & UTA_Beleg_ID & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
'TO DO -> ÄNDERN----------------------
End If
'TO DO -> ÄNDERN----------------------
' SQL.doSQL("Update [tblUTAImport] SET [daId]='" & DS.da_id & "' where [rmc_pdfFileName] = '" & DS.da_name & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
'TO DO -> ÄNDERN----------------------
Catch ex As System.Exception
End Try
End If
End If
End If
frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
'frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If fi.Name.ToLower.Contains("pdf") Then addDGVEinarbeitung("PDF", fi.Name)
dgvEinarbeitung.Refresh()

View File

@@ -342,7 +342,7 @@ Public Class frmStartOptions
If (parameter.Count - 1) >= 3 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
'mdm_mail_attach %file% %subject% %datetimereceived% %from% - testsubject test@uta.com"
'mdm_mail_attach %file% %subject% %datetimereceived% %from%"
pfad = parameter(2)
betreff = parameter(3)
@@ -350,7 +350,7 @@ Public Class frmStartOptions
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
If von.Contains("@uta.com") Or betreff.ToLower.Contains("UTA") Then
If von.Contains("ebilling@uta.com") Then
'---------------------UTA----------------------
importFileFromUTAMailAnhang(pfad, betreff)
End If
@@ -4692,7 +4692,14 @@ Public Class frmStartOptions
Else
Dim totalPages = 1
Dim batchrequestNr = IIf(txtBatchNr.Text <> "", CInt(txtBatchNr.Text), CInt(cbxMSEBatchNr._value))
Dim batchrequestNr As Integer
If txtBatchNr.Text <> "" Then
batchrequestNr = CInt(txtBatchNr.Text)
Else
batchrequestNr = CInt(cbxMSEBatchNr._value)
End If
fehler = mse.getTransactionsFromBatchNrAndPage(token, transactions, batchrequestNr, totalPages, 0)
If fehler <> "" Then
@@ -4714,8 +4721,6 @@ Public Class frmStartOptions
End If
Next
End If
MsgBox("DONE")