From f062f1a0d7b1193d570e071974912ebe6d4ad4c6 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Thu, 17 Oct 2024 16:45:23 +0200 Subject: [PATCH] MDM, Mahnungen, EORI, Kundenblatt, MSEAPI, UTA, Zollanmeldungen_Import_Dakosy --- SDL/Classes/cEORIPruefung.vb | 2 + SDL/Classes/cEORIWebService.vb | 8 +- SDL/Formulare/KDFormulare/frmFormulare.vb | 21 +- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/USTV/frmMDM_USTVAntrag.Designer.vb | 71 +- SDL/USTV/frmMDM_USTVAntrag.resx | 3 + SDL/USTV/frmMDM_USTVAntrag.vb | 422 +++--- SDL/USTV/frmUSTVoffeneAntraege.Designer.vb | 65 +- SDL/USTV/frmUSTVoffeneAntraege.vb | 104 +- SDL/USTV/usrCntlUSTV.Designer.vb | 247 ++-- SDL/USTV/usrCntlUSTV.resx | 3 + SDL/USTV/usrCntlUSTV.vb | 150 +- SDL/buchhaltung/rptMahnung.Designer.vb | 12 +- SDL/kunden/frmKundenblatt.Designer.vb | 5 +- SDL/kunden/frmKundenblatt.vb | 2 +- SDL/kunden/usrCntlKundenuebersicht.vb | 11 +- SDL/mdm/frmMDMDatenverarbetiung.vb | 1 + .../Classes/cDY_Zollanmeldungen_Import.vb | 392 +++++ VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb | 1293 +++++++++++++++++ .../Schnittstellen/MSE/cMSEAPI.vb | 65 + .../VERAG_PROG_ALLGEMEIN.vbproj | 2 + VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb | 7 + 22 files changed, 2416 insertions(+), 474 deletions(-) create mode 100644 VERAG_PROG_ALLGEMEIN/Classes/cDY_Zollanmeldungen_Import.vb create mode 100644 VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb diff --git a/SDL/Classes/cEORIPruefung.vb b/SDL/Classes/cEORIPruefung.vb index e0e56111..2dac87ab 100644 --- a/SDL/Classes/cEORIPruefung.vb +++ b/SDL/Classes/cEORIPruefung.vb @@ -15,6 +15,7 @@ Public Class cEORIPruefung Property eori_sessionID As Object = Nothing Property eori_AvisoID As Object = Nothing Property eori_Nr As Object = Nothing + Property eori_FirmaID As Object = Nothing Public hasEntry = False @@ -41,6 +42,7 @@ Public Class cEORIPruefung list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eori_sessionID", eori_sessionID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eori_AvisoID", eori_AvisoID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eori_Nr", eori_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eori_FirmaID", eori_FirmaID)) Return list End Function diff --git a/SDL/Classes/cEORIWebService.vb b/SDL/Classes/cEORIWebService.vb index fc3a40b4..714d4853 100644 --- a/SDL/Classes/cEORIWebService.vb +++ b/SDL/Classes/cEORIWebService.vb @@ -9,6 +9,7 @@ Imports System.Net Imports System.Text Imports System.Xml Imports System.Xml.Serialization +Imports DocumentFormat.OpenXml.Drawing.Charts Imports VERAG_PROG_ALLGEMEIN.TESTJSON Public Class cEORIWebService @@ -142,7 +143,7 @@ Public Class cEORIWebService Case 1 : msgErgebnis = "EORI-Nr. UNGÜLTIG" End Select - setEORIEntry(KdNr, SendungsId, AvisoId, EORI_ERG, tmp_SESSION_ID, EORI_ERG.Result(0).Eori) + setEORIEntry(KdNr, SendungsId, AvisoId, EORI_ERG, tmp_SESSION_ID, EORI_ERG.Result(0).Eori, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) Dim PdfTmp = SDL.FormularManagerNEU.EORI_PRUEFUNG(msgErgebnis, Firma, tmp_SESSION_ID, txtEORI, AvisoId, SendungsId) @@ -207,7 +208,7 @@ Public Class cEORIWebService Case 1 : msgErgebnis = "EORI-Nr. UNGÜLTIG" End Select - setEORIEntry(kdnr, SendungsId, AvisoId, EORI_ERG, tmp_SESSION_ID, txtEORI) + setEORIEntry(kdnr, SendungsId, AvisoId, EORI_ERG, tmp_SESSION_ID, txtEORI, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID) Dim PdfTmp = SDL.FormularManagerNEU.EORI_PRUEFUNG(msgErgebnis, Firma, tmp_SESSION_ID, txtEORI, AvisoId, SendungsId) @@ -228,7 +229,7 @@ Public Class cEORIWebService End Function - Shared Sub setEORIEntry(kdnr As Integer, SendungsID As Integer, avisoID As Integer, EORI_ERG As EoriResponseModel, tmp_SESSION_ID As String, txtEORI As String) + Shared Sub setEORIEntry(kdnr As Integer, SendungsID As Integer, avisoID As Integer, EORI_ERG As EoriResponseModel, tmp_SESSION_ID As String, txtEORI As String, FirmaID As Integer) Dim EORIPruefung = New cEORIPruefung() Dim kdErw = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(kdnr) @@ -248,6 +249,7 @@ Public Class cEORIWebService EORIPruefung.eori_sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME EORIPruefung.eori_sessionID = tmp_SESSION_ID EORIPruefung.eori_AvisoID = avisoID + EORIPruefung.eori_FirmaID = FirmaID EORIPruefung.SAVE() End Sub diff --git a/SDL/Formulare/KDFormulare/frmFormulare.vb b/SDL/Formulare/KDFormulare/frmFormulare.vb index 1ea6f575..6d5e873f 100644 --- a/SDL/Formulare/KDFormulare/frmFormulare.vb +++ b/SDL/Formulare/KDFormulare/frmFormulare.vb @@ -3838,16 +3838,21 @@ Public Class FormularManagerNEU - Shared Function EORI_PRUEFUNG(ErgebnisTXT, firma, sessionID, txtEORI, Optional AvisoId = -1, Optional SendungsId = -1) As String + Shared Function EORI_PRUEFUNG(ErgebnisTXT As String, firma As String, sessionID As String, txtEORI As String, Optional AvisoId As Integer = -1, Optional SendungsId As Integer = -1, Optional time_ As DateTime = Nothing, Optional usrName As String = "", Optional FirmaID As Integer = 0) As String Try 'Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem) Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager + If FirmaID = 0 Then FirmaID = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID 'Fallback, wenn FirmenID nicht gespeichert wurde! + + Dim MANDANT = New cFirmen(FirmaID) + Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(ErgebnisTXT, 73, 110, 150, 10, "bold", 14, , itextsharp.text.Element.ALIGN_LEFT)) - listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(Now.ToShortDateString & " " & Now.ToShortTimeString & " Uhr", 73, 118, 150, 6, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) + + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(IIf(time_ = Nothing, time_.ToShortDateString, Now.ToShortDateString) & " " & IIf(time_ = Nothing, time_.ToShortTimeString, Now.ToShortTimeString) & " Uhr", 73, 118, 150, 6, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(txtEORI, 73, 126, 150, 6, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(firma, 73, 133, 150, 30, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) @@ -3855,11 +3860,12 @@ Public Class FormularManagerNEU ' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(tid, 73, 163, 55, 6, "bold", 10, , iTextSharp.text.Element.ALIGN_LEFT)) ' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(uidAntragsteller, 73, 170, 55, 6, "bold", 10, , iTextSharp.text.Element.ALIGN_LEFT)) - listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 73, 158, 70, 6, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(IIf(usrName <> "", usrName, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME), 73, 158, 70, 6, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT)) ' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(sessionID, 73, 191, 70, 6, "bold", 10, , iTextSharp.text.Element.ALIGN_LEFT)) ' Return fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", getUO2, "", "UID_Prüfung", listTowrite) - Dim PdfTmp = fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", getUO2_FO, "", "EORI_Prufung", listTowrite) + + Dim PdfTmp = fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", getUO2_FO(MANDANT.Firma_Bez), "", "EORI_Prufung", listTowrite) Return PdfTmp @@ -6215,6 +6221,13 @@ Public Class FormularManagerNEU End Select End Function + Public Shared Function getUO2_FO(FIRMA As String) As String + Select Case FIRMA + Case "IMEX", "ATILLA", "UNISPED", "AMBAR", "FRONTOFFICE" : Return VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case Else : Return "" + End Select + End Function + Public Shared Function getUO2(FilialenNr As String) As String If FilialenNr = "" Then Return getUO2() Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(FilialenNr) diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index dd53836c..9069cfaf 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb index 00dd11c4..b8b9d136 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb @@ -26,13 +26,11 @@ Partial Class frmMDM_USTVAntrag Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDM_USTVAntrag)) Me.Panel3 = New System.Windows.Forms.Panel() - Me.lblRMCeingearbeitet = New System.Windows.Forms.Label() - Me.btnRMCEinarbeiten = New System.Windows.Forms.Button() Me.btnMail = New System.Windows.Forms.Button() Me.Button14 = New System.Windows.Forms.Button() Me.cbxArchivierteEintracheNochmalsEinarbetien = New System.Windows.Forms.CheckBox() Me.Button1 = New System.Windows.Forms.Button() - Me.lblPLOSE_EintrageVerarbetiet = New System.Windows.Forms.Label() + Me.lbl_EintrageVerarbetiet = New System.Windows.Forms.Label() Me.Panel1 = New System.Windows.Forms.Panel() Me.cboAntragArt = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.lblKdNr = New System.Windows.Forms.Label() @@ -78,6 +76,7 @@ Partial Class frmMDM_USTVAntrag Me.Button3 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.Panel3.SuspendLayout() Me.Panel1.SuspendLayout() Me.Panel9.SuspendLayout() @@ -96,53 +95,25 @@ Partial Class frmMDM_USTVAntrag ' Me.Panel3.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) Me.Panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.Panel3.Controls.Add(Me.lblRMCeingearbeitet) - Me.Panel3.Controls.Add(Me.btnRMCEinarbeiten) Me.Panel3.Controls.Add(Me.btnMail) Me.Panel3.Controls.Add(Me.Button14) Me.Panel3.Controls.Add(Me.cbxArchivierteEintracheNochmalsEinarbetien) Me.Panel3.Controls.Add(Me.Button1) - Me.Panel3.Controls.Add(Me.lblPLOSE_EintrageVerarbetiet) + Me.Panel3.Controls.Add(Me.lbl_EintrageVerarbetiet) Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom Me.Panel3.Location = New System.Drawing.Point(0, 649) Me.Panel3.Name = "Panel3" Me.Panel3.Size = New System.Drawing.Size(1454, 100) Me.Panel3.TabIndex = 3 ' - 'lblRMCeingearbeitet - ' - Me.lblRMCeingearbeitet.ForeColor = System.Drawing.Color.Black - Me.lblRMCeingearbeitet.Location = New System.Drawing.Point(198, 70) - Me.lblRMCeingearbeitet.Name = "lblRMCeingearbeitet" - Me.lblRMCeingearbeitet.Size = New System.Drawing.Size(168, 19) - Me.lblRMCeingearbeitet.TabIndex = 28 - Me.lblRMCeingearbeitet.Text = "alle Einträge verarbeitet" - Me.lblRMCeingearbeitet.TextAlign = System.Drawing.ContentAlignment.TopRight - Me.lblRMCeingearbeitet.Visible = False - ' - 'btnRMCEinarbeiten - ' - Me.btnRMCEinarbeiten.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnRMCEinarbeiten.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!) - Me.btnRMCEinarbeiten.ForeColor = System.Drawing.Color.Black - Me.btnRMCEinarbeiten.Image = Global.SDL.My.Resources.Resources.plus - Me.btnRMCEinarbeiten.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnRMCEinarbeiten.Location = New System.Drawing.Point(198, 29) - Me.btnRMCEinarbeiten.Name = "btnRMCEinarbeiten" - Me.btnRMCEinarbeiten.Size = New System.Drawing.Size(168, 38) - Me.btnRMCEinarbeiten.TabIndex = 27 - Me.btnRMCEinarbeiten.Text = "RMC übernehmen" - Me.btnRMCEinarbeiten.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnRMCEinarbeiten.UseVisualStyleBackColor = True - ' 'btnMail ' Me.btnMail.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnMail.ForeColor = System.Drawing.Color.Black Me.btnMail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnMail.Location = New System.Drawing.Point(1095, 30) + Me.btnMail.Location = New System.Drawing.Point(1067, 30) Me.btnMail.Name = "btnMail" - Me.btnMail.Size = New System.Drawing.Size(75, 39) + Me.btnMail.Size = New System.Drawing.Size(103, 39) Me.btnMail.TabIndex = 26 Me.btnMail.Text = "Anträge" Me.btnMail.UseVisualStyleBackColor = True @@ -158,7 +129,7 @@ Partial Class frmMDM_USTVAntrag Me.Button14.Name = "Button14" Me.Button14.Size = New System.Drawing.Size(168, 38) Me.Button14.TabIndex = 1 - Me.Button14.Text = "PLOSE übernehmen" + Me.Button14.Text = "Anträge übernehmen" Me.Button14.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.Button14.UseVisualStyleBackColor = True ' @@ -186,16 +157,16 @@ Partial Class frmMDM_USTVAntrag Me.Button1.Text = "OK" Me.Button1.UseVisualStyleBackColor = True ' - 'lblPLOSE_EintrageVerarbetiet + 'lbl_EintrageVerarbetiet ' - Me.lblPLOSE_EintrageVerarbetiet.ForeColor = System.Drawing.Color.Black - Me.lblPLOSE_EintrageVerarbetiet.Location = New System.Drawing.Point(12, 70) - Me.lblPLOSE_EintrageVerarbetiet.Name = "lblPLOSE_EintrageVerarbetiet" - Me.lblPLOSE_EintrageVerarbetiet.Size = New System.Drawing.Size(168, 19) - Me.lblPLOSE_EintrageVerarbetiet.TabIndex = 3 - Me.lblPLOSE_EintrageVerarbetiet.Text = "alle Einträge verarbeitet" - Me.lblPLOSE_EintrageVerarbetiet.TextAlign = System.Drawing.ContentAlignment.TopRight - Me.lblPLOSE_EintrageVerarbetiet.Visible = False + Me.lbl_EintrageVerarbetiet.ForeColor = System.Drawing.Color.Black + Me.lbl_EintrageVerarbetiet.Location = New System.Drawing.Point(12, 70) + Me.lbl_EintrageVerarbetiet.Name = "lbl_EintrageVerarbetiet" + Me.lbl_EintrageVerarbetiet.Size = New System.Drawing.Size(168, 19) + Me.lbl_EintrageVerarbetiet.TabIndex = 3 + Me.lbl_EintrageVerarbetiet.Text = "alle Einträge verarbeitet" + Me.lbl_EintrageVerarbetiet.TextAlign = System.Drawing.ContentAlignment.TopRight + Me.lbl_EintrageVerarbetiet.Visible = False ' 'Panel1 ' @@ -827,7 +798,12 @@ Partial Class frmMDM_USTVAntrag 'ContextMenuStrip1 ' Me.ContextMenuStrip1.Name = "ContextMenuStrip1" - Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) + Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 26) + ' + 'ContextMenuStrip2 + ' + Me.ContextMenuStrip2.Name = "ContextMenuStrip1" + Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' 'frmMDM_USTVAntrag ' @@ -871,7 +847,7 @@ Partial Class frmMDM_USTVAntrag Friend WithEvents lblFirma As Label Friend WithEvents pnlFilter As Panel Friend WithEvents dgvUSTVPositionen As VERAG_PROG_ALLGEMEIN.MyDatagridview - Friend WithEvents lblPLOSE_EintrageVerarbetiet As Label + Friend WithEvents lbl_EintrageVerarbetiet As Label Friend WithEvents cbxArchivierteEintracheNochmalsEinarbetien As CheckBox Friend WithEvents Label3 As Label Friend WithEvents lblZeitraum As Label @@ -914,8 +890,7 @@ Partial Class frmMDM_USTVAntrag Friend WithEvents ContextMenuStrip1 As ContextMenuStrip Friend WithEvents btnMail As Button Friend WithEvents cboAntragArt As VERAG_PROG_ALLGEMEIN.MyComboBox - Friend WithEvents btnRMCEinarbeiten As Button - Friend WithEvents lblRMCeingearbeitet As Label Friend WithEvents Label1 As Label Friend WithEvents txt3470 As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents ContextMenuStrip2 As ContextMenuStrip End Class diff --git a/SDL/USTV/frmMDM_USTVAntrag.resx b/SDL/USTV/frmMDM_USTVAntrag.resx index c477c7b6..1b6ea673 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.resx +++ b/SDL/USTV/frmMDM_USTVAntrag.resx @@ -120,6 +120,9 @@ 17, 17 + + 174, 17 + diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 2851c75c..d9017a1c 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -21,7 +21,7 @@ Public Class frmMDM_USTVAntrag End Sub - Sub init() + Sub init(Optional Lieferant As String = "") pnlFilter.AutoScroll = False lblGesamtUSteuer.Text = "-" @@ -143,16 +143,39 @@ Public Class frmMDM_USTVAntrag lblGesamtErstattung.Text = GesamtErstattung.ToString("C2") lblDiffernezbetrag.Text = Differnezbetrag.ToString("C2") + Dim GET_Antraege + Dim antraegeVearbeitet = False - Dim GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False) + Select Case Lieferant.ToLower + Case "plose" + GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False) + antraegeVearbeitet = True + Case "rmc" + Dim dt As New DataTable + GET_Antraege = cRMC.GET_Antraege_RMC(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False) + antraegeVearbeitet = True + Case "mse" + Dim dt As New DataTable + GET_Antraege = cMSEAPI.GET_Antraege_MSE(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, False) + antraegeVearbeitet = True + Case "uta" + Dim dt As New DataTable + GET_Antraege = cUTA.GET_Antraege_UTA(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, False) + antraegeVearbeitet = True + Case "ids" + MsgBox("Funktion noch nicht implementiert") + End Select - If GET_Antraege IsNot Nothing AndAlso GET_Antraege.Count > 0 Then - lblPLOSE_EintrageVerarbetiet.Text = "aussehende Einträge: " & GET_Antraege.Count - Else - lblPLOSE_EintrageVerarbetiet.Text = "alle Einträge verarbeitet" + If antraegeVearbeitet Then + If GET_Antraege IsNot Nothing AndAlso GET_Antraege.Count > 0 Then + lbl_EintrageVerarbetiet.Text = "aussehende Einträge: " & GET_Antraege.Count + Else + lbl_EintrageVerarbetiet.Text = "alle Einträge verarbeitet" + End If End If - + + End Sub @@ -236,7 +259,7 @@ Public Class frmMDM_USTVAntrag - lblPLOSE_EintrageVerarbetiet.Text = "" + lbl_EintrageVerarbetiet.Text = "" If UStVAn_ID > 0 Then USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) @@ -249,11 +272,73 @@ Public Class frmMDM_USTVAntrag End Sub Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click - loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) - init() + + + If Not ContextMenuStrip2.Items.ContainsKey("plose") Then + Dim plose = New ToolStripMenuItem() With {.Text = "Plose", .Name = "plose", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + ContextMenuStrip2.Items.Add(plose) + AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked + End If + + If Not ContextMenuStrip2.Items.ContainsKey("rmc") Then + Dim rmc = New ToolStripMenuItem() With {.Text = "RMC", .Name = "rmc", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(rmc) + End If + + If Not ContextMenuStrip2.Items.ContainsKey("mse") Then + Dim rmc = New ToolStripMenuItem() With {.Text = "MSE", .Name = "mse", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(rmc) + End If + + If Not ContextMenuStrip2.Items.ContainsKey("uta") Then + Dim uta = New ToolStripMenuItem() With {.Text = "UTA", .Name = "uta", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler uta.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(uta) + End If + + If Not ContextMenuStrip2.Items.ContainsKey("ids") Then + Dim ids = New ToolStripMenuItem() With {.Text = "IDS", .Name = "ids", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(ids) + End If + + ContextMenuStrip2.Show(Cursor.Position) + + + + End Sub + Private Sub mnuItemAuftrauege_Clicked(sender As Object, e As EventArgs) + + ContextMenuStrip1.Hide() + Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem) + + If item IsNot Nothing Then + If item.Name = "plose" Then + loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) + init() + ElseIf item.Name = "rmc" Then + loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) + init() + ElseIf item.Name = "mse" Then + loadUSTVFrom_MSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) + init() + ElseIf item.Name = "uta" Then + loadUSTVFrom_UTA(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) + init() + ElseIf item.Name = "ids" Then + MsgBox("IDS noch nicht implementiert!") + End If + End If + + End Sub + + + Shared Function alreadyExists(USTVAn_KuNr As Integer, UStVAn_LandNr As String, USTV_POS As VERAG_PROG_ALLGEMEIN.cUStVPositionen) As Boolean Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim cnt = SQL.getValueTxtBySql(" SELECT count(*) FROM [tblUStVAntrag] inner join [tblUStVPositionen] on tblUStVAntrag.UStVAn_ID= [tblUStVPositionen].UStVAn_ID @@ -383,6 +468,138 @@ Public Class frmMDM_USTVAntrag End Try End Function + Shared Function loadUSTVFrom_MSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean + Try + Dim bytSchnittstellenNr = 4 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden + Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) + Dim dt As New DataTable + Dim GET_Antraege = cMSEAPI.GET_Antraege_MSE(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, ArchivierteEintracheNochmalsEinarbetien) + + If GET_Antraege Then + + For Each r As DataRow In dt.Rows + + Dim kdNr = r.Item("customer_id") + + Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen + USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID] + USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr + USTV_POS.UStVPo_ReDat = r.Item("invoice_date") + USTV_POS.UStVPo_ReNr = r.Item("invoice_number") & " - " & kdNr + USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr + + If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then + + USTV_POS.UStVPo_Schnittstelle = True + USTV_POS.UStVPo_Leistungsbezeichnung = r.Item("specification_page_name") + USTV_POS.UStVPo_Leistender = "MS Europe BV" + USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + USTV_POS.UStVPo_Zeitstempel = Now() + + ' Berechnungen + + '!UStVPo_USteuerbetrag = rst1!Umsatzsteuerbetrag + '!UStVPo_Umrechnungskurs = fktEurokurs(Me![UStVAn_Währungscode], ![UStVPo_ReDat]) + '!UStVPo_USteuerbetragEUR = Int(![UStVPo_USteuerbetrag] / !UStVPo_Umrechnungskurs * 100 + 0.5) / 100 + + Dim umrechKurs As Double = 1 + Dim UST_EUR = CDbl(r.Item("UST_EUR")) + Dim UST_org = CDbl(r.Item("UST")) + + If (UST_EUR > 0 AndAlso UST_org > 0 AndAlso UST_org <> UST_EUR) Then + + umrechKurs = UST_org / UST_EUR + + End If + + If UST_org > 0 Then + USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2) + USTV_POS.UStVPo_Umrechnungskurs = umrechKurs + USTV_POS.UStVPo_USteuerbetrag = UST_org + End If + + If USTV_POS.INSERT() Then + cMSEAPI.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdNr) + End If + + End If + + Next + + End If + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + + Shared Function loadUSTVFrom_UTA(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean + Try + Dim bytSchnittstellenNr = 5 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden + Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) + Dim dt As New DataTable + Dim GET_Antraege = cUTA.GET_Antraege_UTA(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, ArchivierteEintracheNochmalsEinarbetien) + + If GET_Antraege Then + + For Each r As DataRow In dt.Rows + + Dim kdNr = r.Item("customer_id") + + Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen + USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID] + USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr + USTV_POS.UStVPo_ReDat = r.Item("invoice_date") + USTV_POS.UStVPo_ReNr = r.Item("invoice_number") & " - " & kdNr + USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr + + If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then + + USTV_POS.UStVPo_Schnittstelle = True + USTV_POS.UStVPo_Leistungsbezeichnung = "MAUT, DIESEL oder KFZ-Zubehör" + USTV_POS.UStVPo_Leistender = "Union Tank Eckstein Gmbh&Co KG, Kleinostheim" + USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + USTV_POS.UStVPo_Zeitstempel = Now() + + ' Berechnungen + + '!UStVPo_USteuerbetrag = rst1!Umsatzsteuerbetrag + '!UStVPo_Umrechnungskurs = fktEurokurs(Me![UStVAn_Währungscode], ![UStVPo_ReDat]) + '!UStVPo_USteuerbetragEUR = Int(![UStVPo_USteuerbetrag] / !UStVPo_Umrechnungskurs * 100 + 0.5) / 100 + + Dim umrechKurs As Double = 1 + Dim UST_EUR = CDbl(r.Item("UST_EUR")) + Dim UST_org = CDbl(r.Item("UST")) + + If (UST_EUR > 0 AndAlso UST_org > 0 AndAlso UST_org <> UST_EUR) Then + + umrechKurs = UST_org / UST_EUR + + End If + + If UST_org > 0 Then + USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2) + USTV_POS.UStVPo_Umrechnungskurs = umrechKurs + USTV_POS.UStVPo_USteuerbetrag = UST_org + End If + + If USTV_POS.INSERT() Then + cUTA.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdNr) + End If + + End If + + Next + + End If + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Return False + End Try + End Function + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click @@ -590,7 +807,11 @@ Public Class frmMDM_USTVAntrag ContextMenuStrip1.Items.Add(mail) End If - + If Not ContextMenuStrip1.Items.ContainsKey("offeneAntraege") Then + Dim oa = New ToolStripMenuItem() With {.Text = "offene Anträge", .Name = "offeneAntraege", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler oa.Click, AddressOf mnuItem_Clicked + ContextMenuStrip1.Items.Add(oa) + End If ContextMenuStrip1.Show(Cursor.Position) @@ -607,6 +828,14 @@ Public Class frmMDM_USTVAntrag ElseIf item.Name = "mail" Then mailmitExcelauswertung() + + ElseIf item.Name = "offeneAntraege" Then + + Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) + + Dim frm As New frmUSTVoffeneAntraege(CDate(USTV_ANTRAG.UStVAn_ReDatVon), CDate(USTV_ANTRAG.UStVAn_ReDatBis), USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_Name) + frm.Show() + Else MsgBox("Funktion nicht implementiert!") End If @@ -680,175 +909,4 @@ Public Class frmMDM_USTVAntrag End Sub - Private Sub btnRMCEinarbeiten_Click(sender As Object, e As EventArgs) Handles btnRMCEinarbeiten.Click - - End Sub - - Private Sub txt3470_ValueChanged() Handles txt3470.ValueChanged - - End Sub - - - ' Private Sub cmdITMautÜbernehmen_Click() - - ' Dim wrk As DAO.Workspace - ' Dim qry1 As DAO.QueryDef - ' Dim qry2 As DAO.QueryDef - ' Dim rst1 As DAO.Recordset - ' Dim rstUStVPositionen As DAO.Recordset - ' Dim bytSchnittstellenNr As Byte - ' Dim fInTransaktion As Boolean - ' Dim intUStVPo_ID As Integer - - '1380 On Error GoTo PROC_Error - - '1390 If Eingabefehler Then Exit Sub - '1400 If Me!UStVAn_LandNr <> 5 Then - '1410 MsgBox "Datenübernahme nicht möglich (Land ist nicht Italien).", vbInformation, "Eingabeprüfung" - '1420 Exit Sub - '1430 End If - - ' ' Wenn Daten in Formular geändert wurden, Speichern auslösen. - '1440 If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord - '1450 DoCmd.Hourglass True - - ' ' Italienisches Mautarchiv lesen. - '1460 Set wrk = DBEngine.Workspaces(0) - '1470 Set qry1 = dbs.QueryDefs("qryUStVMautITLesen") - '1480 qry1.Parameters("[Param1]") = Me![UStVAn_ReDatVon] - '1490 qry1.Parameters("[Param2]") = Me![UStVAn_ReDatBis] - '1500 qry1.Parameters("[Param3]") = Me![UStVAn_KuNr] - '1510 Set rst1 = qry1.OpenRecordset(dbOpenSnapshot) - '1520 If Not rst1.EOF Then - '1530 bytSchnittstellenNr = 3 - '1540 intUStVPo_ID = UStVPo_ID_zuordnen(Me![UStVAn_ID]) - '1550 Set rstUStVPositionen = dbs.OpenRecordset("tblUStVPositionen", dbOpenDynaset, dbAppendOnly) - '1560 wrk.BeginTrans - '1570 fInTransaktion = True - '1580 Do Until rst1.EOF - '1590 If RechnungÜbernehmen(rst1!RechnungsDatum, CStr(rst1!Rechnungsnummer), bytSchnittstellenNr, Me!UStVAn_KuNr, Me!UStVAn_LandNr) Then - '1600 intUStVPo_ID = intUStVPo_ID + 1 - ' ' Schreiben der Umsatzsteuerdaten in die Tabelle. - '1610 With rstUStVPositionen - '1620 .AddNew - '1630 !UStVAn_ID = Me![UStVAn_ID] - '1640 !UStVPo_ID = intUStVPo_ID - '1650 !UStVPo_ReDat = rst1!RechnungsDatum - '1660 !UStVPo_ReNr = CStr(rst1!Rechnungsnummer) - '1670 !UStVPo_Schnittstelle = True - '1680 !UStVPo_SchnittstellenNr = bytSchnittstellenNr - '1690 !UStVPo_Leistungsbezeichnung = "Maut" - '1700 !UStVPo_Leistender = "Telepass" - '1710 !UStVPo_Sachbearbeiter = CurrentUser() - '1720 !UStVPo_Zeitstempel = Now() - ' ' Berechnungen - '1730 !UStVPo_USteuerbetragEUR = rst1!MWStBetrag - '1740 !UStVPo_Umrechnungskurs = fktEurokurs(Me![UStVAn_Währungscode], ![UStVPo_ReDat]) - '1750 !UStVPo_USteuerbetrag = Int(![UStVPo_USteuerbetragEUR] * !UStVPo_Umrechnungskurs * 100 + 0.5) / 100 - '1760 .Update - '1770 End With - ' ' UStV-Antragsnummer im Archiv eintragen. - '1780 Set qry2 = dbs.QueryDefs("qryUStVMautITAntragsNrEintragen") - '1790 qry2.Parameters("[prmUStVAn_ID]") = Me![UStVAn_ID] - '1800 qry2.Parameters("[prmVerrechnungsdatum]") = rst1!RechnungsDatum - '1810 qry2.Parameters("[prmCode_Adressat_des_Kontoauszugs]") = rst1!Rechnungsnummer - '1820 qry2.Execute dbFailOnError - '1830 qry2.Close - '1840 Set qry2 = Nothing - '1850 End If - '1860 rst1.MoveNext - '1870 Loop - '1880 wrk.CommitTrans - '1890 fInTransaktion = False - '1900 Me!tblUStVPositionen.Requery - '1910 End If - - 'PROC_Exit: - '1920 On Error Resume Next - '1930 If Not rstUStVPositionen Is Nothing Then - '1940 rstUStVPositionen.Close - '1950 Set rstUStVPositionen = Nothing - '1960 End If - '1970 If Not rst1 Is Nothing Then - '1980 rst1.Close - '1990 Set rst1 = Nothing - '2000 End If - '2010 If Not qry2 Is Nothing Then - '2020 qry2.Close - '2030 Set qry2 = Nothing - '2040 End If - '2050 If Not qry1 Is Nothing Then - '2060 qry1.Close - '2070 Set qry1 = Nothing - '2080 End If - '2090 If Not wrk Is Nothing Then - '2100 Set wrk = Nothing - '2110 End If - '2120 DoCmd.Hourglass False - '2130 Exit Sub - - 'PROC_Error: - '2140 If fInTransaktion Then - '2150 wrk.Rollback - '2160 fInTransaktion = False - '2170 End If - '2180 DoCmd.Hourglass False - '2190 ErrNotify Err, "Form_frmUStVAntragserfassung", "cmdITMautÜbernehmen_Click", eNormalError - '2200 Resume PROC_Exit - - ' End Sub - - - - - ' Private Function RechnungÜbernehmen( - ' ByRef varUStVPo_ReDat As Variant, - ' ByRef varUStVPo_ReNr As Variant, - ' ByRef varUStVPo_SchnittstellenNr As Variant, - ' ByRef varUStVAn_KuNr, - ' ByRef varUStVAn_LandNr) As Boolean - - ' Dim fResult As Boolean - ' Dim qry As DAO.QueryDef - ' Dim rst As DAO.Recordset - - '12000 On Error GoTo PROC_Error - - '12010 Set qry = dbs.QueryDefs("qryUStVRechnungÜbernehmen") - '12020 qry.Parameters("[prmUStVPo_ReDat]") = varUStVPo_ReDat - '12030 qry.Parameters("[prmUStVPo_ReNr]") = varUStVPo_ReNr - '12040 qry.Parameters("[prmUStVPo_SchnittstellenNr]") = varUStVPo_SchnittstellenNr - '12050 qry.Parameters("[prmUStVAn_KuNr]") = varUStVAn_KuNr - '12060 qry.Parameters("[prmUStVAn_LandNr]") = varUStVAn_LandNr - '12070 Set rst = qry.OpenRecordset(dbOpenSnapshot) - '12080 If rst.EOF Then fResult = True Else fResult = False - - 'PROC_Exit: - '12090 On Error Resume Next - '12100 If Not rst Is Nothing Then - '12110 rst.Close - '12120 Set rst = Nothing - '12130 End If - '12140 If Not qry Is Nothing Then - '12150 qry.Close - '12160 Set qry = Nothing - '12170 End If - '12180 RechnungÜbernehmen = fResult - '12190 Exit Function - - 'PROC_Error: - '12200 Select Case ErrHandler(Err, "Form_frmUStVAntragserfassung", "RechnungÜbernehmen") - ' Case 0 - '12210 Resume - '12220 Case 1 - '12230 ErrNotify Err, "Form_frmUStVAntragserfassung", "RechnungÜbernehmen", eNormalError - '12240 Case 2 - '12250 ErrNotify Err, "Form_frmUStVAntragserfassung", "RechnungÜbernehmen", eHiddenError - '12260 End Select - '12270 fResult = False - '12280 Resume PROC_Exit - - ' End Function - - End Class \ No newline at end of file diff --git a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb index be7d69b1..2ed0cb30 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb @@ -26,6 +26,8 @@ Partial Class frmUSTVoffeneAntraege Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() Me.btn = New System.Windows.Forms.Button() Me.Button7 = New System.Windows.Forms.Button() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() Me.lbl = New System.Windows.Forms.Label() Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Label2 = New System.Windows.Forms.Label() @@ -39,8 +41,8 @@ Partial Class frmUSTVoffeneAntraege Me.dat_Sum_Von = New System.Windows.Forms.DateTimePicker() Me.txtmaxAnz = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label3 = New System.Windows.Forms.Label() - Me.Button1 = New System.Windows.Forms.Button() - Me.Button2 = New System.Windows.Forms.Button() + Me.cbxAlleoffenen = New System.Windows.Forms.CheckBox() + Me.lblKunde = New System.Windows.Forms.Label() Me.FlowLayoutPanel.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel4.SuspendLayout() @@ -83,6 +85,28 @@ Partial Class frmUSTVoffeneAntraege Me.Button7.Text = "RMC" Me.Button7.UseVisualStyleBackColor = False ' + 'Button1 + ' + Me.Button1.BackColor = System.Drawing.Color.FloralWhite + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.Location = New System.Drawing.Point(255, 3) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(120, 23) + Me.Button1.TabIndex = 2 + Me.Button1.Text = "UTA" + Me.Button1.UseVisualStyleBackColor = False + ' + 'Button2 + ' + Me.Button2.BackColor = System.Drawing.Color.FloralWhite + Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button2.Location = New System.Drawing.Point(381, 3) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(120, 23) + Me.Button2.TabIndex = 3 + Me.Button2.Text = "MSE" + Me.Button2.UseVisualStyleBackColor = False + ' 'lbl ' Me.lbl.AutoSize = True @@ -262,33 +286,32 @@ Partial Class frmUSTVoffeneAntraege Me.Label3.TabIndex = 43 Me.Label3.Text = "max. DS:" ' - 'Button1 + 'cbxAlleoffenen ' - Me.Button1.BackColor = System.Drawing.Color.FloralWhite - Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button1.Location = New System.Drawing.Point(255, 3) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(120, 23) - Me.Button1.TabIndex = 2 - Me.Button1.Text = "UTA" - Me.Button1.UseVisualStyleBackColor = False + Me.cbxAlleoffenen.AutoSize = True + Me.cbxAlleoffenen.Location = New System.Drawing.Point(1137, 70) + Me.cbxAlleoffenen.Name = "cbxAlleoffenen" + Me.cbxAlleoffenen.Size = New System.Drawing.Size(128, 17) + Me.cbxAlleoffenen.TabIndex = 44 + Me.cbxAlleoffenen.Text = "alle Kunden anzeigen" + Me.cbxAlleoffenen.UseVisualStyleBackColor = True ' - 'Button2 + 'lblKunde ' - Me.Button2.BackColor = System.Drawing.Color.FloralWhite - Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button2.Location = New System.Drawing.Point(381, 3) - Me.Button2.Name = "Button2" - Me.Button2.Size = New System.Drawing.Size(120, 23) - Me.Button2.TabIndex = 3 - Me.Button2.Text = "MSE" - Me.Button2.UseVisualStyleBackColor = False + Me.lblKunde.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblKunde.AutoSize = True + Me.lblKunde.Location = New System.Drawing.Point(464, 75) + Me.lblKunde.Name = "lblKunde" + Me.lblKunde.Size = New System.Drawing.Size(0, 13) + Me.lblKunde.TabIndex = 45 ' 'frmUSTVoffeneAntraege ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(1457, 681) + Me.Controls.Add(Me.lblKunde) + Me.Controls.Add(Me.cbxAlleoffenen) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.txtmaxAnz) Me.Controls.Add(Me.Panel4) @@ -328,4 +351,6 @@ Partial Class frmUSTVoffeneAntraege Friend WithEvents Label3 As Label Friend WithEvents Button1 As Button Friend WithEvents Button2 As Button + Friend WithEvents cbxAlleoffenen As CheckBox + Friend WithEvents lblKunde As Label End Class diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index 8156f535..ce23eb07 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -1,8 +1,12 @@ -Public Class frmUSTVoffeneAntraege +Imports GrapeCity.DataVisualization.TypeScript + +Public Class frmUSTVoffeneAntraege Public LIEFERANT = "" Dim datumBis As Date = Nothing Dim datumVon As Date = Nothing + Dim kdNr As Integer = -1 + Dim kdName As String Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click initLieferant("PLOSE", sender) End Sub @@ -21,6 +25,23 @@ End Sub + Sub New(datumVon_ As Date, datumBis_ As Date, kdnr_ As Integer, kdName_ As String) + datumVon = datumVon_ + datumBis = datumBis_ + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + dat_Sum_Von.Value = datumVon + dat_Sum_Bis.Value = datumBis + kdNr = kdnr_ + kdName = kdName_ + + lblKunde.Text = kdNr & " " & kdName + End Sub + Sub New() ' Dieser Aufruf ist für den Designer erforderlich. @@ -28,12 +49,12 @@ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + lblKunde.Text = " " + End Sub Private Sub initLieferant(l As String, btn As Button) - - MyDatagridview1.DataSource = Nothing Me.LIEFERANT = l @@ -45,19 +66,11 @@ End If Next - Select Case Me.LIEFERANT - Case "PLOSE" - 'Kundenauswertungen - Case "RMC" - 'Kundenauswertungen - End Select - init() - End Sub - Sub initDgv_PLOSE(anz As Integer) + Sub initDgv_PLOSE(anz As Integer, Optional kdnr As Integer = -1) With MyDatagridview1 .Columns.Clear() @@ -65,9 +78,15 @@ Dim top = "" If anz > 0 Then top = "TOP (" & anz & ")" + Dim sqlwhere = "" + + If kdnr > 0 Then + sqlwhere &= " and plose_POLSEKundennummer = " & kdnr + End If + .SET_SQL("select " & top & " plose_POLSEKundennummer, Adressen.[Name 1] ,[plose_Lieferant],[plose_RechnungsDatum],[plose_RechnungsNr], sum([plose_MWSTBetrag])[plose_MWSTBetrag] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer - WHERE plose_Archiv <> 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' and plose_RechnungsNr is not null - group by plose_POLSEKundennummer, Adressen.[Name 1] ,[plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant] + WHERE plose_Archiv <> 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' and plose_RechnungsNr is not null " & sqlwhere & + "group by plose_POLSEKundennummer, Adressen.[Name 1] ,[plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant] having sum(plose_MWSTBetrag)>0", "FMZOLL") .LOAD() If .Columns.Count > 0 Then @@ -98,18 +117,25 @@ End Sub - Sub initDgv_RMC(anz As Integer) + Sub initDgv_RMC(anz As Integer, Optional kdnr As Integer = -1) Dim top = "" If anz > 0 Then top = "TOP (" & anz & ")" + Dim sqlwhere = "" + + If kdnr > 0 Then + sqlwhere &= " and rmc_kdNr = " & kdnr + End If + + With MyDatagridview1 .Columns.Clear() 'Exit Sub 'MsgBox(.sql) Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid FROM [tblRMCImport] - where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 - group by rmc_reDatum, rmc_kdNr,[rmc_kdName], [rmc_landKZ],[rmc_reNr], [rmc_waehrung], [rmc_betragMWST], rmc_daid having [rmc_betragMWST] > 0" + where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 " & sqlwhere & + "group by rmc_reDatum, rmc_kdNr,[rmc_kdName], [rmc_landKZ],[rmc_reNr], [rmc_waehrung], [rmc_betragMWST], rmc_daid having [rmc_betragMWST] > 0" .SET_SQL(sqlstring, "FMZOLL") .LOAD() @@ -154,18 +180,23 @@ End Sub - Sub initDgv_MSE(anz As Integer) + Sub initDgv_MSE(anz As Integer, Optional kdnr As Integer = -1) Dim top = "" If anz > 0 Then top = "TOP (" & anz & ")" + Dim sqlwhere = "" + + If kdnr > 0 Then + sqlwhere &= " and customer_number = " & kdnr + End If With MyDatagridview1 .Columns.Clear() 'Exit Sub 'MsgBox(.sql) Dim sqlstring = "Select " & top & " customer_number, customer_name, country, invoice_date, invoice_id, sum(total_amount_euro) as total_amount_euro, sum(total_vat_amount_euro) as total_vat_amount_euro, daId FROM [VERAG].[dbo].[tblMSEInvoices] inner join [tblMSECustomers] on [customer_number] = [customer_id] - where cast(invoice_date As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And imported <> 1 - group by invoice_date, customer_number,customer_name, country, invoice_id, daId " + where cast(invoice_date As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And imported <> 1 " & sqlwhere & + "group by invoice_date, customer_number,customer_name, country, invoice_id, daId " .SET_SQL(sqlstring, "FMZOLL") .LOAD() @@ -213,30 +244,35 @@ End Sub - Sub initDgv_UTA(anz As Integer) + Sub initDgv_UTA(anz As Integer, Optional kdnr As Integer = -1) Dim top = "" If anz > 0 Then top = "TOP (" & anz & ")" + Dim sqlwhere = "" + If kdnr > 0 Then + sqlwhere &= " and Kundennummer = " & kdnr + End If + With MyDatagridview1 .Columns.Clear() 'Exit Sub 'MsgBox(.sql) - Dim sqlstring = "Select " & top & " [Kundennummer], [Lieferland], [Rechnungsdatum], [Abrechnungsnummer], sum([Gesamtbetrag_Brutto_in_Darstellwährung]) as [Gesamtbetrag_Brutto_in_Darstellwährung], sum([Gesamtbetrag_Umsatzsteuer_in_Darstellwährung]) as [Gesamtbetrag_Umsatzsteuer_in_Darstellwährung], da_id FROM [tblUTAImport] - where cast([Rechnungsdatum] As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And [archiv] <> 1 - group by [Rechnungsdatum], Kundennummer, [Lieferland], [Abrechnungsnummer], da_id " + Dim sqlstring = "Select " & top & " [Kundennummer], [Lieferland_ISO2], [Rechnungsdatum], [Abrechnungsnummer], sum([Gesamtbetrag_Brutto_in_Darstellwährung]) as [Gesamtbetrag_Brutto_in_Darstellwährung], sum([Gesamtbetrag_Umsatzsteuer_in_Darstellwährung]) as [Gesamtbetrag_Umsatzsteuer_in_Darstellwährung], daId FROM [tblUTAImportNew] + where cast([Rechnungsdatum] As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And [archiv] <> 1 " & sqlwhere & + "group by [Rechnungsdatum], Kundennummer, [Lieferland_ISO2], [Abrechnungsnummer], daId " .SET_SQL(sqlstring, "FMZOLL") .LOAD() If .Columns.Count > 0 Then .Columns("Kundennummer").HeaderText = "KdNr" - .Columns("Lieferland").HeaderText = "Land" + .Columns("Lieferland_ISO2").HeaderText = "Land" .Columns("Rechnungsdatum").HeaderText = "RE-Datum" .Columns("Abrechnungsnummer").HeaderText = "RE-Nr" .Columns("Gesamtbetrag_Brutto_in_Darstellwährung").HeaderText = "Gesamtsumme Euro" .Columns("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").HeaderText = "MWSt Euro" - .Columns("da_id").Visible = False + .Columns("daId").Visible = False .Columns("Kundennummer").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells @@ -257,7 +293,7 @@ For Each r As DataGridViewRow In .Rows sumMwSt += If(IsNumeric(r.Cells("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").Value), CDbl(r.Cells("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").Value), 0) - If Not IsDBNull(r.Cells("da_id").Value) AndAlso r.Cells("da_id").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf + If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf Next txtAnzahl.Text = .Rows.Count @@ -269,11 +305,11 @@ End Sub Sub init() - Select Case LIEFERANT - Case "PLOSE" : initDgv_PLOSE(txtmaxAnz.Text) - Case "RMC" : initDgv_RMC(txtmaxAnz.Text) - Case "MSE" : initDgv_MSE(txtmaxAnz.Text) - Case "UTA" : initDgv_UTA(txtmaxAnz.Text) + Select Case LIEFERANT.ToString.ToLower + Case "plose" : initDgv_PLOSE(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) + Case "rmc" : initDgv_RMC(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) + Case "mse" : initDgv_MSE(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) + Case "uta" : initDgv_UTA(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) End Select End Sub @@ -288,4 +324,8 @@ Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click initLieferant("MSE", sender) End Sub + + Private Sub cbxAlleoffenen_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAlleoffenen.CheckedChanged + init() + End Sub End Class \ No newline at end of file diff --git a/SDL/USTV/usrCntlUSTV.Designer.vb b/SDL/USTV/usrCntlUSTV.Designer.vb index 106134bf..54edf529 100644 --- a/SDL/USTV/usrCntlUSTV.Designer.vb +++ b/SDL/USTV/usrCntlUSTV.Designer.vb @@ -28,6 +28,12 @@ Partial Class usrCntlUSTV Me.dgvUSTV = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Label1 = New System.Windows.Forms.Label() Me.Panel1 = New System.Windows.Forms.Panel() + Me.txtVZBetrag = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.txt3470Betrag = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label7 = New System.Windows.Forms.Label() + Me.txtVorschaubetrGes = New VERAG_PROG_ALLGEMEIN.MyTextBox() + Me.Label6 = New System.Windows.Forms.Label() Me.cbxDifferenzbetrag = New System.Windows.Forms.CheckBox() Me.cbxEingereicht = New System.Windows.Forms.CheckBox() Me.cbxTopMax = New System.Windows.Forms.CheckBox() @@ -48,18 +54,12 @@ Partial Class usrCntlUSTV Me.Label5 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label() - Me.btnRMCalle = New System.Windows.Forms.Button() Me.btnMail = New System.Windows.Forms.Button() Me.btnPLOSEAlle = New System.Windows.Forms.Button() Me.Button5 = New System.Windows.Forms.Button() Me.Button8 = New System.Windows.Forms.Button() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.txtVorschaubetrGes = New VERAG_PROG_ALLGEMEIN.MyTextBox() - Me.Label6 = New System.Windows.Forms.Label() - Me.txt3470Betrag = New VERAG_PROG_ALLGEMEIN.MyTextBox() - Me.Label7 = New System.Windows.Forms.Label() - Me.txtVZBetrag = New VERAG_PROG_ALLGEMEIN.MyTextBox() - Me.Label8 = New System.Windows.Forms.Label() + Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) CType(Me.dgvUSTV, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() Me.Panel2.SuspendLayout() @@ -130,6 +130,111 @@ Partial Class usrCntlUSTV Me.Panel1.Size = New System.Drawing.Size(1627, 84) Me.Panel1.TabIndex = 0 ' + 'txtVZBetrag + ' + Me.txtVZBetrag._DateTimeOnly = False + Me.txtVZBetrag._numbersOnly = False + Me.txtVZBetrag._numbersOnlyKommastellen = "" + Me.txtVZBetrag._numbersOnlyTrennzeichen = True + Me.txtVZBetrag._Prozent = False + Me.txtVZBetrag._ShortDateNew = False + Me.txtVZBetrag._ShortDateOnly = False + Me.txtVZBetrag._TimeOnly = False + Me.txtVZBetrag._TimeOnly_Seconds = False + Me.txtVZBetrag._value = "" + Me.txtVZBetrag._Waehrung = True + Me.txtVZBetrag._WaehrungZeichen = True + Me.txtVZBetrag.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtVZBetrag.ForeColor = System.Drawing.Color.Black + Me.txtVZBetrag.Location = New System.Drawing.Point(1290, 6) + Me.txtVZBetrag.MaxLineLength = -1 + Me.txtVZBetrag.MaxLines_Warning = "" + Me.txtVZBetrag.MaxLines_Warning_Label = Nothing + Me.txtVZBetrag.Name = "txtVZBetrag" + Me.txtVZBetrag.ReadOnly = True + Me.txtVZBetrag.Size = New System.Drawing.Size(107, 20) + Me.txtVZBetrag.TabIndex = 51 + ' + 'Label8 + ' + Me.Label8.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(1229, 11) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 50 + Me.Label8.Text = "VZ-Betrag" + ' + 'txt3470Betrag + ' + Me.txt3470Betrag._DateTimeOnly = False + Me.txt3470Betrag._numbersOnly = False + Me.txt3470Betrag._numbersOnlyKommastellen = "" + Me.txt3470Betrag._numbersOnlyTrennzeichen = True + Me.txt3470Betrag._Prozent = False + Me.txt3470Betrag._ShortDateNew = False + Me.txt3470Betrag._ShortDateOnly = False + Me.txt3470Betrag._TimeOnly = False + Me.txt3470Betrag._TimeOnly_Seconds = False + Me.txt3470Betrag._value = "" + Me.txt3470Betrag._Waehrung = True + Me.txt3470Betrag._WaehrungZeichen = True + Me.txt3470Betrag.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txt3470Betrag.ForeColor = System.Drawing.Color.Black + Me.txt3470Betrag.Location = New System.Drawing.Point(1102, 5) + Me.txt3470Betrag.MaxLineLength = -1 + Me.txt3470Betrag.MaxLines_Warning = "" + Me.txt3470Betrag.MaxLines_Warning_Label = Nothing + Me.txt3470Betrag.Name = "txt3470Betrag" + Me.txt3470Betrag.ReadOnly = True + Me.txt3470Betrag.Size = New System.Drawing.Size(107, 20) + Me.txt3470Betrag.TabIndex = 49 + ' + 'Label7 + ' + Me.Label7.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(1065, 10) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(31, 13) + Me.Label7.TabIndex = 48 + Me.Label7.Text = "3470" + ' + 'txtVorschaubetrGes + ' + Me.txtVorschaubetrGes._DateTimeOnly = False + Me.txtVorschaubetrGes._numbersOnly = False + Me.txtVorschaubetrGes._numbersOnlyKommastellen = "" + Me.txtVorschaubetrGes._numbersOnlyTrennzeichen = True + Me.txtVorschaubetrGes._Prozent = False + Me.txtVorschaubetrGes._ShortDateNew = False + Me.txtVorschaubetrGes._ShortDateOnly = False + Me.txtVorschaubetrGes._TimeOnly = False + Me.txtVorschaubetrGes._TimeOnly_Seconds = False + Me.txtVorschaubetrGes._value = "" + Me.txtVorschaubetrGes._Waehrung = True + Me.txtVorschaubetrGes._WaehrungZeichen = True + Me.txtVorschaubetrGes.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.txtVorschaubetrGes.ForeColor = System.Drawing.Color.Black + Me.txtVorschaubetrGes.Location = New System.Drawing.Point(940, 5) + Me.txtVorschaubetrGes.MaxLineLength = -1 + Me.txtVorschaubetrGes.MaxLines_Warning = "" + Me.txtVorschaubetrGes.MaxLines_Warning_Label = Nothing + Me.txtVorschaubetrGes.Name = "txtVorschaubetrGes" + Me.txtVorschaubetrGes.ReadOnly = True + Me.txtVorschaubetrGes.Size = New System.Drawing.Size(107, 20) + Me.txtVorschaubetrGes.TabIndex = 34 + ' + 'Label6 + ' + Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(813, 9) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(121, 13) + Me.Label6.TabIndex = 33 + Me.Label6.Text = "Vorschaubetrag-Gesamt" + ' 'cbxDifferenzbetrag ' Me.cbxDifferenzbetrag.AutoSize = True @@ -327,7 +432,6 @@ Partial Class usrCntlUSTV Me.Panel3.Controls.Add(Me.Label5) Me.Panel3.Controls.Add(Me.Label4) Me.Panel3.Controls.Add(Me.Label3) - Me.Panel3.Controls.Add(Me.btnRMCalle) Me.Panel3.Controls.Add(Me.btnMail) Me.Panel3.Controls.Add(Me.btnPLOSEAlle) Me.Panel3.Controls.Add(Me.Button5) @@ -446,21 +550,6 @@ Partial Class usrCntlUSTV Me.Label3.TabIndex = 27 Me.Label3.Text = "USt-Betrag" ' - 'btnRMCalle - ' - Me.btnRMCalle.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnRMCalle.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.0!) - Me.btnRMCalle.ForeColor = System.Drawing.Color.Black - Me.btnRMCalle.Image = Global.SDL.My.Resources.Resources.plus - Me.btnRMCalle.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnRMCalle.Location = New System.Drawing.Point(545, 6) - Me.btnRMCalle.Name = "btnRMCalle" - Me.btnRMCalle.Size = New System.Drawing.Size(172, 40) - Me.btnRMCalle.TabIndex = 26 - Me.btnRMCalle.Text = "RMC für offene " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Anträge übernehmen" - Me.btnRMCalle.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btnRMCalle.UseVisualStyleBackColor = True - ' 'btnMail ' Me.btnMail.FlatStyle = System.Windows.Forms.FlatStyle.Flat @@ -482,9 +571,9 @@ Partial Class usrCntlUSTV Me.btnPLOSEAlle.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.btnPLOSEAlle.Location = New System.Drawing.Point(367, 8) Me.btnPLOSEAlle.Name = "btnPLOSEAlle" - Me.btnPLOSEAlle.Size = New System.Drawing.Size(172, 40) + Me.btnPLOSEAlle.Size = New System.Drawing.Size(132, 40) Me.btnPLOSEAlle.TabIndex = 24 - Me.btnPLOSEAlle.Text = "PLOSE für offene " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Anträge übernehmen" + Me.btnPLOSEAlle.Text = "offene Anträge übernehmen" Me.btnPLOSEAlle.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnPLOSEAlle.UseVisualStyleBackColor = True ' @@ -521,110 +610,10 @@ Partial Class usrCntlUSTV Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) ' - 'txtVorschaubetrGes + 'ContextMenuStrip2 ' - Me.txtVorschaubetrGes._DateTimeOnly = False - Me.txtVorschaubetrGes._numbersOnly = False - Me.txtVorschaubetrGes._numbersOnlyKommastellen = "" - Me.txtVorschaubetrGes._numbersOnlyTrennzeichen = True - Me.txtVorschaubetrGes._Prozent = False - Me.txtVorschaubetrGes._ShortDateNew = False - Me.txtVorschaubetrGes._ShortDateOnly = False - Me.txtVorschaubetrGes._TimeOnly = False - Me.txtVorschaubetrGes._TimeOnly_Seconds = False - Me.txtVorschaubetrGes._value = "" - Me.txtVorschaubetrGes._Waehrung = True - Me.txtVorschaubetrGes._WaehrungZeichen = True - Me.txtVorschaubetrGes.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.txtVorschaubetrGes.ForeColor = System.Drawing.Color.Black - Me.txtVorschaubetrGes.Location = New System.Drawing.Point(940, 5) - Me.txtVorschaubetrGes.MaxLineLength = -1 - Me.txtVorschaubetrGes.MaxLines_Warning = "" - Me.txtVorschaubetrGes.MaxLines_Warning_Label = Nothing - Me.txtVorschaubetrGes.Name = "txtVorschaubetrGes" - Me.txtVorschaubetrGes.ReadOnly = True - Me.txtVorschaubetrGes.Size = New System.Drawing.Size(107, 20) - Me.txtVorschaubetrGes.TabIndex = 34 - ' - 'Label6 - ' - Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label6.AutoSize = True - Me.Label6.Location = New System.Drawing.Point(813, 9) - Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(121, 13) - Me.Label6.TabIndex = 33 - Me.Label6.Text = "Vorschaubetrag-Gesamt" - ' - 'txt3470Betrag - ' - Me.txt3470Betrag._DateTimeOnly = False - Me.txt3470Betrag._numbersOnly = False - Me.txt3470Betrag._numbersOnlyKommastellen = "" - Me.txt3470Betrag._numbersOnlyTrennzeichen = True - Me.txt3470Betrag._Prozent = False - Me.txt3470Betrag._ShortDateNew = False - Me.txt3470Betrag._ShortDateOnly = False - Me.txt3470Betrag._TimeOnly = False - Me.txt3470Betrag._TimeOnly_Seconds = False - Me.txt3470Betrag._value = "" - Me.txt3470Betrag._Waehrung = True - Me.txt3470Betrag._WaehrungZeichen = True - Me.txt3470Betrag.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.txt3470Betrag.ForeColor = System.Drawing.Color.Black - Me.txt3470Betrag.Location = New System.Drawing.Point(1102, 5) - Me.txt3470Betrag.MaxLineLength = -1 - Me.txt3470Betrag.MaxLines_Warning = "" - Me.txt3470Betrag.MaxLines_Warning_Label = Nothing - Me.txt3470Betrag.Name = "txt3470Betrag" - Me.txt3470Betrag.ReadOnly = True - Me.txt3470Betrag.Size = New System.Drawing.Size(107, 20) - Me.txt3470Betrag.TabIndex = 49 - ' - 'Label7 - ' - Me.Label7.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label7.AutoSize = True - Me.Label7.Location = New System.Drawing.Point(1065, 10) - Me.Label7.Name = "Label7" - Me.Label7.Size = New System.Drawing.Size(31, 13) - Me.Label7.TabIndex = 48 - Me.Label7.Text = "3470" - ' - 'txtVZBetrag - ' - Me.txtVZBetrag._DateTimeOnly = False - Me.txtVZBetrag._numbersOnly = False - Me.txtVZBetrag._numbersOnlyKommastellen = "" - Me.txtVZBetrag._numbersOnlyTrennzeichen = True - Me.txtVZBetrag._Prozent = False - Me.txtVZBetrag._ShortDateNew = False - Me.txtVZBetrag._ShortDateOnly = False - Me.txtVZBetrag._TimeOnly = False - Me.txtVZBetrag._TimeOnly_Seconds = False - Me.txtVZBetrag._value = "" - Me.txtVZBetrag._Waehrung = True - Me.txtVZBetrag._WaehrungZeichen = True - Me.txtVZBetrag.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.txtVZBetrag.ForeColor = System.Drawing.Color.Black - Me.txtVZBetrag.Location = New System.Drawing.Point(1290, 6) - Me.txtVZBetrag.MaxLineLength = -1 - Me.txtVZBetrag.MaxLines_Warning = "" - Me.txtVZBetrag.MaxLines_Warning_Label = Nothing - Me.txtVZBetrag.Name = "txtVZBetrag" - Me.txtVZBetrag.ReadOnly = True - Me.txtVZBetrag.Size = New System.Drawing.Size(107, 20) - Me.txtVZBetrag.TabIndex = 51 - ' - 'Label8 - ' - Me.Label8.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.Label8.AutoSize = True - Me.Label8.Location = New System.Drawing.Point(1229, 11) - Me.Label8.Name = "Label8" - Me.Label8.Size = New System.Drawing.Size(55, 13) - Me.Label8.TabIndex = 50 - Me.Label8.Text = "VZ-Betrag" + Me.ContextMenuStrip2.Name = "ContextMenuStrip1" + Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' 'usrCntlUSTV ' @@ -667,7 +656,6 @@ Partial Class usrCntlUSTV Friend WithEvents cbxTopMax As CheckBox Friend WithEvents txtMaxSrch As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents cbxEingereicht As CheckBox - Friend WithEvents btnRMCalle As Button Friend WithEvents cbxDifferenzbetrag As CheckBox Friend WithEvents Label5 As Label Friend WithEvents Label4 As Label @@ -681,4 +669,5 @@ Partial Class usrCntlUSTV Friend WithEvents Label8 As Label Friend WithEvents txt3470Betrag As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents Label7 As Label + Friend WithEvents ContextMenuStrip2 As ContextMenuStrip End Class diff --git a/SDL/USTV/usrCntlUSTV.resx b/SDL/USTV/usrCntlUSTV.resx index 279a4474..091f0a76 100644 --- a/SDL/USTV/usrCntlUSTV.resx +++ b/SDL/USTV/usrCntlUSTV.resx @@ -120,4 +120,7 @@ 17, 17 + + 174, 17 + \ No newline at end of file diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index cde03fbd..94b1ca40 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -25,7 +25,7 @@ Public Class usrCntlUSTV End If btnPLOSEAlle.Enabled = KdSearchBox1.KdNr > 0 - btnRMCalle.Enabled = KdSearchBox1.KdNr > 0 + With dgvUSTV .ClearSelection() @@ -309,56 +309,125 @@ Public Class usrCntlUSTV ' End If End Sub - Private Sub btnPLOSEAlle_Click(sender As Object, e As EventArgs) Handles btnPLOSEAlle.Click, btnRMCalle.Click + Private Sub btnPLOSEAlle_Click(sender As Object, e As EventArgs) Handles btnPLOSEAlle.Click + + + If Not ContextMenuStrip2.Items.ContainsKey("plose") Then + Dim plose = New ToolStripMenuItem() With {.Text = "Plose", .Name = "plose", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + ContextMenuStrip2.Items.Add(plose) + AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked + End If + + + If Not ContextMenuStrip2.Items.ContainsKey("rmc") Then + Dim rmc = New ToolStripMenuItem() With {.Text = "RMC", .Name = "rmc", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(rmc) + End If + + If Not ContextMenuStrip2.Items.ContainsKey("mse") Then + Dim rmc = New ToolStripMenuItem() With {.Text = "MSE", .Name = "mse", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(rmc) + End If + + If Not ContextMenuStrip2.Items.ContainsKey("uta") Then + Dim uta = New ToolStripMenuItem() With {.Text = "UTA", .Name = "uta", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler uta.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(uta) + End If + + ContextMenuStrip2.Show(Cursor.Position) + + + End Sub + + Private Sub mnuItemAuftrauege_Clicked(sender As Object, e As EventArgs) + Try - Me.Cursor = Cursors.WaitCursor - If KdSearchBox1.KdNr <= 0 Then Exit Sub - If cboJahr._value = "" Then Exit Sub - If cboJahrBis._value = "" Then Exit Sub - Dim cnt = SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [tblUStVAntrag] where UStVAn_AntragEingereichtAm is null AND UStVAn_KuNr=" & KdSearchBox1.KdNr & " AND UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND UStVAn_ReDatBis<='31.12." & cboJahrBis._value & "'", "FMZOLL") - If cnt = 0 Then MsgBox("Keine einreichbaren Anträge gefunden!") : Exit Sub + If dgvUSTV.SelectedRows.Count > 0 Then - Select Case sender.name - Case "btnPLOSEAlle" - If vbYes = MsgBox("Es werden PLOSE Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then - For Each r As DataGridViewRow In dgvUSTV.Rows - If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then ' OrElse r.Cells("UStVAn_AntragEingereichtAm").Value = "" Then - 'Dim Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & r.Cells("UStVAn_LandNr").Value & "'", "FMZOLL") - frmMDM_USTVAntrag.loadUSTVFrom_PLOSE(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) - End If - Next - init() - MsgBox("Fertig!") + ContextMenuStrip1.Hide() + Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem) + + Me.Cursor = Cursors.WaitCursor + If KdSearchBox1.KdNr <= 0 Then Exit Sub + If cboJahr._value = "" Then Exit Sub + If cboJahrBis._value = "" Then Exit Sub + + Dim cnt = SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [tblUStVAntrag] where UStVAn_AntragEingereichtAm is null AND UStVAn_KuNr=" & KdSearchBox1.KdNr & " AND UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND UStVAn_ReDatBis<='31.12." & cboJahrBis._value & "'", "FMZOLL") + If cnt = 0 Then MsgBox("Keine einreichbaren Anträge gefunden!") : Exit Sub + + If item IsNot Nothing Then + If item.Name = "plose" Then + + If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then + For Each r As DataGridViewRow In dgvUSTV.Rows + If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then ' OrElse r.Cells("UStVAn_AntragEingereichtAm").Value = "" Then + 'Dim Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & r.Cells("UStVAn_LandNr").Value & "'", "FMZOLL") + frmMDM_USTVAntrag.loadUSTVFrom_PLOSE(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) + End If + Next + init() + MsgBox("Fertig!") + + End If + + ElseIf item.Name = "rmc" Then + + If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then + For Each r As DataGridViewRow In dgvUSTV.Rows + If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then + frmMDM_USTVAntrag.loadUSTVFrom_RMC(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) + End If + Next + init() + MsgBox("Fertig!") + End If + + ElseIf item.Name = "mse" Then + + If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then + For Each r As DataGridViewRow In dgvUSTV.Rows + If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then + frmMDM_USTVAntrag.loadUSTVFrom_MSE(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) + End If + Next + init() + MsgBox("Fertig!") + End If + + + + ElseIf item.Name = "uta" Then + + If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then + For Each r As DataGridViewRow In dgvUSTV.Rows + If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then + frmMDM_USTVAntrag.loadUSTVFrom_UTA(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) + End If + Next + init() + MsgBox("Fertig!") + End If + + Else + MsgBox("Funktion nicht implementiert!") End If - - Case "btnRMCalle" - - If vbYes = MsgBox("Es werden RMC Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then - For Each r As DataGridViewRow In dgvUSTV.Rows - If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then - frmMDM_USTVAntrag.loadUSTVFrom_RMC(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False) - End If - Next - init() - MsgBox("Fertig!") - End If - - - Case Else - MsgBox("Funktion nicht definiert") - End Select - - - + End If + End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Me.Cursor = Cursors.Default + End Sub + + Private Sub btnMail_Click(sender As Object, e As EventArgs) Handles btnMail.Click If Not ContextMenuStrip1.Items.ContainsKey("excel") Then @@ -401,7 +470,7 @@ Public Class usrCntlUSTV ElseIf item.Name = "offeneAntraege" Then If dgvUSTV.SelectedRows(0) IsNot Nothing AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value) AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value) Then - Dim frm As New frmUSTVoffeneAntraege(CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value), CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value)) + Dim frm As New frmUSTVoffeneAntraege(CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value), CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value), dgvUSTV.SelectedRows(0).Cells("UStVAn_KuNr").Value, dgvUSTV.SelectedRows(0).Cells("UStVAn_Name").Value) frm.Show() Else Dim frm As New frmUSTVoffeneAntraege() @@ -506,4 +575,5 @@ Public Class usrCntlUSTV init() End Sub + End Class diff --git a/SDL/buchhaltung/rptMahnung.Designer.vb b/SDL/buchhaltung/rptMahnung.Designer.vb index 9f0eaa7e..dabb81b7 100644 --- a/SDL/buchhaltung/rptMahnung.Designer.vb +++ b/SDL/buchhaltung/rptMahnung.Designer.vb @@ -517,26 +517,26 @@ Partial Public Class rptMahnung ' 'lblFirmaEmail ' - Me.lblFirmaEmail.Height = 0.1181103! + Me.lblFirmaEmail.Height = 0.1574803! Me.lblFirmaEmail.HyperLink = Nothing - Me.lblFirmaEmail.Left = 2.695638! + Me.lblFirmaEmail.Left = 2.713386! Me.lblFirmaEmail.Name = "lblFirmaEmail" Me.lblFirmaEmail.Style = "font-size: 7pt; font-weight: normal; text-align: right; vertical-align: middle; d" & "do-char-set: 1" Me.lblFirmaEmail.Text = "rechnungsversand@verag.ag" - Me.lblFirmaEmail.Top = 0.8303937! + Me.lblFirmaEmail.Top = 0.8311024! Me.lblFirmaEmail.Width = 1.436614! ' 'lblFirmaWeb ' - Me.lblFirmaWeb.Height = 0.1181103! + Me.lblFirmaWeb.Height = 0.1571657! Me.lblFirmaWeb.HyperLink = Nothing - Me.lblFirmaWeb.Left = 2.695638! + Me.lblFirmaWeb.Left = 2.713386! Me.lblFirmaWeb.Name = "lblFirmaWeb" Me.lblFirmaWeb.Style = "font-size: 7pt; font-weight: normal; text-align: right; vertical-align: middle; d" & "do-char-set: 1" Me.lblFirmaWeb.Text = "www.verag.ag" - Me.lblFirmaWeb.Top = 0.9485043! + Me.lblFirmaWeb.Top = 0.9885827! Me.lblFirmaWeb.Width = 1.436614! ' 'lblRgDatumUeberschrift diff --git a/SDL/kunden/frmKundenblatt.Designer.vb b/SDL/kunden/frmKundenblatt.Designer.vb index c0877314..3ed9ff5e 100644 --- a/SDL/kunden/frmKundenblatt.Designer.vb +++ b/SDL/kunden/frmKundenblatt.Designer.vb @@ -2086,7 +2086,7 @@ Partial Class frmKundenblatt Me.tbUSTVAntrage.Location = New System.Drawing.Point(4, 22) Me.tbUSTVAntrage.Name = "tbUSTVAntrage" Me.tbUSTVAntrage.Padding = New System.Windows.Forms.Padding(3) - Me.tbUSTVAntrage.Size = New System.Drawing.Size(1622, 990) + Me.tbUSTVAntrage.Size = New System.Drawing.Size(184, 45) Me.tbUSTVAntrage.TabIndex = 9 Me.tbUSTVAntrage.Text = "USTV-Anträge" Me.tbUSTVAntrage.UseVisualStyleBackColor = True @@ -2096,7 +2096,7 @@ Partial Class frmKundenblatt Me.UsrCntlUSTV.Dock = System.Windows.Forms.DockStyle.Fill Me.UsrCntlUSTV.Location = New System.Drawing.Point(3, 3) Me.UsrCntlUSTV.Name = "UsrCntlUSTV" - Me.UsrCntlUSTV.Size = New System.Drawing.Size(1616, 984) + Me.UsrCntlUSTV.Size = New System.Drawing.Size(178, 39) Me.UsrCntlUSTV.TabIndex = 0 ' 'cntxtExcel @@ -2241,6 +2241,7 @@ Partial Class frmKundenblatt ' Me.cntxtCntxtMDM.ImageScalingSize = New System.Drawing.Size(24, 24) Me.cntxtCntxtMDM.Name = "cntxtCntxtMDM" + Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem8 Me.cntxtCntxtMDM.Size = New System.Drawing.Size(61, 4) Me.cntxtCntxtMDM.Text = "cntxtMDM" ' diff --git a/SDL/kunden/frmKundenblatt.vb b/SDL/kunden/frmKundenblatt.vb index 3b312c4f..84f454f0 100644 --- a/SDL/kunden/frmKundenblatt.vb +++ b/SDL/kunden/frmKundenblatt.vb @@ -1812,7 +1812,7 @@ Public Class frmKundenblatt .DataSource = SQL.loadDgvBySql("SELECT [KundenNr] as KdNr,[Datum] as Datum,[Rechnung] as Nummer,[Saldo] as Betrag,'-' as [OP-Saldo],'EUR' as Währung ,'-' as [KumSaldoEUR],[Buchungstext] " & " FROM [Offene_Posten_DVO] " & - " WHERE KundenNr='" & KUNDE.KundenNrZentrale & "' " & where & " order BY datum DESC, [OP_ID] DESC", "FMZOLL") + " WHERE KundenNr='" & KUNDE.KundenNrZentrale & "' " & where & " order BY datum, [OP_ID] DESC", "FMZOLL") If .Columns.Count > 0 Then .Columns("KdNr").Visible = False diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index 0a2fb00b..403e92c3 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -2656,12 +2656,13 @@ Public Class usrCntlKundenuebersicht AddHandler frmList.dgv.CellDoubleClick, Sub() Dim eoripruef As New cEORIPruefung(frmList.dgv.SelectedRows(0).Cells("eori_id").Value) Dim msgErgebnis - Select Case eoripruef.eori_valid - Case 0 : msgErgebnis = "EORI-Nr. GÜLTIG - OK" - Case 1 : msgErgebnis = "EORI-Nr. UNGÜLTIG" - End Select + If eoripruef.eori_valid Then + msgErgebnis = "EORI-Nr. GÜLTIG - OK" + Else + msgErgebnis = "EORI-Nr. UNGÜLTIG" + End If - Dim PdfTmp = SDL.FormularManagerNEU.EORI_PRUEFUNG(msgErgebnis, eoripruef.eori_firma, eoripruef.eori_sessionID, KUNDE.EORITIN,, eoripruef.eori_sendungsid) + Dim PdfTmp = SDL.FormularManagerNEU.EORI_PRUEFUNG(msgErgebnis, eoripruef.eori_firma, eoripruef.eori_sessionID, KUNDE.EORITIN,, eoripruef.eori_sendungsid, eoripruef.eori_datum, eoripruef.eori_sachbearbeiter, eoripruef.eori_FirmaID) If PdfTmp <> "" Then Process.Start(PdfTmp) diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 2a9f6b1d..5d36f791 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -1163,6 +1163,7 @@ Public Class frmMDMDatenverarbetiung left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country where bills.invoice_date = '" & DateTimePicker2.Text & "' and trans.charged <> 1 and (trans.transaction_gross_amount <> 0 or [msts_fee_amount] <> 0) and cust.[customer_id] = " & csv.Item("Customer ID"), "FMZOLL") + dt_CSV_selected.ParentRelations.Clear() dt_CSV_selected.ChildRelations.Clear() dt_CSV_selected.Constraints.Clear() diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cDY_Zollanmeldungen_Import.vb b/VERAG_PROG_ALLGEMEIN/Classes/cDY_Zollanmeldungen_Import.vb new file mode 100644 index 00000000..bcc2dd4e --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Classes/cDY_Zollanmeldungen_Import.vb @@ -0,0 +1,392 @@ + +Imports System.Data.SqlClient +Imports System.Reflection + +Public Class cDY_Zollanmeldungen_Import + + Property Id As Integer + Property Teilnehmer As Object = Nothing + Property Anmeldeart_A As Object = Nothing + Property Verfahren As Object = Nothing + Property Bezugsnummer_LRN As Object = Nothing + Property Anlagedatum As Object = Nothing + Property Zeit As Object = Nothing + Property Zeitpunkt_der_letzten_CUSTAX As Object = Nothing + Property Überlassungsdatum As Object = Nothing + Property Annahmedatum As Object = Nothing + Property Registriernummer_MRN As Object = Nothing + Property Weitere_Reg_Nr As Object = Nothing + Property EDIFNR As Object = Nothing + Property Versendungsland As Object = Nothing + Property Art_der_Vertretung As Object = Nothing + Property Vertreter_des_Anmelders As Object = Nothing + Property Vertreter_AE_EORI As Object = Nothing + Property AE_Name As Object = Nothing + Property Versender_CZ_EORI As Object = Nothing + Property CZ_Code As Object = Nothing + Property CZ_Name As Object = Nothing + Property CZ_Ländercode As Object = Nothing + Property Empfänger_CN_EORI As Object = Nothing + Property CN_Code As Object = Nothing + Property CN_Name As Object = Nothing + Property CN_Ländercode As Object = Nothing + Property Anmelder_DT_EORI As Object = Nothing + Property DT_Code As Object = Nothing + Property DT_Name As Object = Nothing + Property DT_Ländercode As Object = Nothing + Property UstID_DT As Object = Nothing + Property Käufer_BY_Name As Object = Nothing + Property BY_EORI As Object = Nothing + Property Verkäufer_SL_Name As Object = Nothing + Property SL_EORI As Object = Nothing + Property ZollRechtlicherStatus As Object = Nothing + Property Bewilligungsnummer As Object = Nothing + Property Gesamtgewicht As Object = Nothing + Property Liefercode As Object = Nothing + Property Lieferort As Object = Nothing + Property Lieferkey As Object = Nothing + Property Geschäftsart As Object = Nothing + Property Rechnungsbetrag As Object = Nothing + Property Rechnungswährung As Object = Nothing + Property Rechnungskurs As Object = Nothing + Property Zollstelle As Object = Nothing + Property Aufschubart As Object = Nothing + Property HZAZoll As Object = Nothing + Property KontoZoll As Object = Nothing + Property TextZoll As Object = Nothing + Property EORIZoll As Object = Nothing + Property KennzeichenEigenZoll As Object = Nothing + Property ArtEust As Object = Nothing + Property HZAEust As Object = Nothing + Property KontoEusT As Object = Nothing + Property TextEust As Object = Nothing + Property EORIEust As Object = Nothing + Property KennzeichenEigenEust As Object = Nothing + Property Container As Object = Nothing + Property Unterlagenzeile As Object = Nothing + Property Unterlagenbereich As Object = Nothing + Property Unterlagenart As Object = Nothing + Property Unterlagennummer As Object = Nothing + Property Unterlagendatum As Object = Nothing + Property PositionNo As Object = Nothing + Property Positionen As Object = Nothing + Property Vorausstl_Zollabgabe As Object = Nothing + Property Vorausstl_Zollsatzabgabe As Object = Nothing + Property Vorausstl_Eustabgabe As Object = Nothing + Property Vorausstl_Eustsatzabgabe As Object = Nothing + Property Zollwert As Object = Nothing + Property AbgabeZoll As Object = Nothing + Property AbgabeZollsatz As Object = Nothing + Property Eustwert As Object = Nothing + Property AbgabeEust As Object = Nothing + Property AbgabeEustsatz As Object = Nothing + Property AbgabeAntidumping As Object = Nothing + Property AbgabeAntidumpingSatz As Object = Nothing + Property Status_Steuerbescheid As Object = Nothing + Property ArtikelCode As Object = Nothing + Property Warentarifnummer As Object = Nothing + Property Warenzusatz1 As Object = Nothing + Property Warenzusatz2 As Object = Nothing + Property Warenbezeichnung As Object = Nothing + Property Verfahren2 As Object = Nothing + Property EU_Code As Object = Nothing + Property Artikelpreis As Object = Nothing + Property Statistischerwert As Object = Nothing + Property Eust_manuell As Object = Nothing + Property Ursprung As Object = Nothing + Property Präferenzursprungsland As Object = Nothing + Property Beguenstigung As Object = Nothing + Property Rohmasse As Object = Nothing + Property Rohmasseeinheit As Object = Nothing + Property Eigenmasse As Object = Nothing + Property Eigenmasseeinheit As Object = Nothing + Property Positionszusatz As Object = Nothing + Property Aussenhandelstatistische_Menge As Object = Nothing + Property Maßeinheit As Object = Nothing + Property AnzahlPackstücke As Object = Nothing + Property Packstückart As Object = Nothing + Property Packstückbezeichnung As Object = Nothing + Property Zusätzliche_angaben As Object = Nothing + Property SonderAbgabeZoll As Object = Nothing + Property SonderAbgabeEust As Object = Nothing + Property AbgabeZusatzzölle As Object = Nothing + Property SonderAbgabeAntidumping As Object = Nothing + Property Verbrauchssteuern As Object = Nothing + Property Positionsunterlagenzeile As Object = Nothing + Property Positionsunterlagenbereich As Object = Nothing + Property Positionsunterlagenart As Object = Nothing + Property Positionsunterlagennummer As Object = Nothing + Property Positionsunterlagendatum As Object = Nothing + Property DV1Rechnungsbetrag As Object = Nothing + Property DV1Währung As Object = Nothing + Property DV1UmgerechnerterRechnungsbetrag As Object = Nothing + Property DV1UmgerechneteWährung As Object = Nothing + Property DV1Versicherung As Object = Nothing + Property DV1Versicherungswährung As Object = Nothing + Property DV1Luftfrachtkosten As Object = Nothing + Property DV1Luftfrachtwährung As Object = Nothing + Property DV1Frachtkosten As Object = Nothing + Property DV1Frachtwährung As Object = Nothing + Property DV1Materialien As Object = Nothing + Property DV1Materialwährung As Object = Nothing + Property DV1Provisionen As Object = Nothing + Property DV1Provisionwährung As Object = Nothing + Property Abflughafen_Code As Object = Nothing + Property Abflughafen_Text As Object = Nothing + Property Vorpapierart As Object = Nothing + Property Vorpapiere_Regnummer As Object = Nothing + Property BEAnteil_SumA As Object = Nothing + Property BEAnteil_ZL As Object = Nothing + Property BEAnteil_AV As Object = Nothing + Property UST_ID_Einführer As Object = Nothing + Property UST_ID_Erwerber As Object = Nothing + Property UST_ID_Fiskalvertreter As Object = Nothing + Property Shipmentnummer As Object = Nothing + Property Importstatus As Object = Nothing + + Public hasEntry = False + + Dim SQL As New SQL + + Sub New() + + End Sub + + Sub New(Id) + Me.Id = 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("Id", Id,, True)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Teilnehmer", Teilnehmer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anmeldeart_A", Anmeldeart_A)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verfahren", Verfahren)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezugsnummer_LRN", Bezugsnummer_LRN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlagedatum", Anlagedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zeit", Zeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zeitpunkt_der_letzten_CUSTAX", Zeitpunkt_der_letzten_CUSTAX)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Überlassungsdatum", Überlassungsdatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Annahmedatum", Annahmedatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Registriernummer_MRN", Registriernummer_MRN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Weitere_Reg_Nr", Weitere_Reg_Nr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EDIFNR", EDIFNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versendungsland", Versendungsland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Art_der_Vertretung", Art_der_Vertretung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertreter_des_Anmelders", Vertreter_des_Anmelders)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vertreter_AE_EORI", Vertreter_AE_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AE_Name", AE_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Versender_CZ_EORI", Versender_CZ_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CZ_Code", CZ_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CZ_Name", CZ_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CZ_Ländercode", CZ_Ländercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger_CN_EORI", Empfänger_CN_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CN_Code", CN_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CN_Name", CN_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CN_Ländercode", CN_Ländercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anmelder_DT_EORI", Anmelder_DT_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DT_Code", DT_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DT_Name", DT_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DT_Ländercode", DT_Ländercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UstID_DT", UstID_DT)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Käufer_BY_Name", Käufer_BY_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BY_EORI", BY_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verkäufer_SL_Name", Verkäufer_SL_Name)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SL_EORI", SL_EORI)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollRechtlicherStatus", ZollRechtlicherStatus)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bewilligungsnummer", Bewilligungsnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Gesamtgewicht", Gesamtgewicht)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Liefercode", Liefercode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferort", Lieferort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lieferkey", Lieferkey)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Geschäftsart", Geschäftsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsbetrag", Rechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungswährung", Rechnungswährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungskurs", Rechnungskurs)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollstelle", Zollstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubart", Aufschubart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("HZAZoll", HZAZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KontoZoll", KontoZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TextZoll", TextZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORIZoll", EORIZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennzeichenEigenZoll", KennzeichenEigenZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ArtEust", ArtEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("HZAEust", HZAEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KontoEusT", KontoEusT)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TextEust", TextEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EORIEust", EORIEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KennzeichenEigenEust", KennzeichenEigenEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Container", Container)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unterlagenzeile", Unterlagenzeile)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unterlagenbereich", Unterlagenbereich)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unterlagenart", Unterlagenart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unterlagennummer", Unterlagennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Unterlagendatum", Unterlagendatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PositionNo", PositionNo)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionen", Positionen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorausstl_Zollabgabe", Vorausstl_Zollabgabe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorausstl_Zollsatzabgabe", Vorausstl_Zollsatzabgabe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorausstl_Eustabgabe", Vorausstl_Eustabgabe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorausstl_Eustsatzabgabe", Vorausstl_Eustsatzabgabe)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zollwert", Zollwert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeZoll", AbgabeZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeZollsatz", AbgabeZollsatz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eustwert", Eustwert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeEust", AbgabeEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeEustsatz", AbgabeEustsatz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeAntidumping", AbgabeAntidumping)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeAntidumpingSatz", AbgabeAntidumpingSatz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status_Steuerbescheid", Status_Steuerbescheid)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ArtikelCode", ArtikelCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Warentarifnummer", Warentarifnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Warenzusatz1", Warenzusatz1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Warenzusatz2", Warenzusatz2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Warenbezeichnung", Warenbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verfahren2", Verfahren2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EU_Code", EU_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Artikelpreis", Artikelpreis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Statistischerwert", Statistischerwert)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eust_manuell", Eust_manuell)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Ursprung", Ursprung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Präferenzursprungsland", Präferenzursprungsland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beguenstigung", Beguenstigung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rohmasse", Rohmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rohmasseeinheit", Rohmasseeinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eigenmasse", Eigenmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Eigenmasseeinheit", Eigenmasseeinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionszusatz", Positionszusatz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aussenhandelstatistische_Menge", Aussenhandelstatistische_Menge)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Maßeinheit", Maßeinheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AnzahlPackstücke", AnzahlPackstücke)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstückart", Packstückart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstückbezeichnung", Packstückbezeichnung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zusätzliche_angaben", Zusätzliche_angaben)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SonderAbgabeZoll", SonderAbgabeZoll)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SonderAbgabeEust", SonderAbgabeEust)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbgabeZusatzzölle", AbgabeZusatzzölle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SonderAbgabeAntidumping", SonderAbgabeAntidumping)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Verbrauchssteuern", Verbrauchssteuern)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionsunterlagenzeile", Positionsunterlagenzeile)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionsunterlagenbereich", Positionsunterlagenbereich)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionsunterlagenart", Positionsunterlagenart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionsunterlagennummer", Positionsunterlagennummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Positionsunterlagendatum", Positionsunterlagendatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Rechnungsbetrag", DV1Rechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Währung", DV1Währung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1UmgerechnerterRechnungsbetrag", DV1UmgerechnerterRechnungsbetrag)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1UmgerechneteWährung", DV1UmgerechneteWährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Versicherung", DV1Versicherung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Versicherungswährung", DV1Versicherungswährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Luftfrachtkosten", DV1Luftfrachtkosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Luftfrachtwährung", DV1Luftfrachtwährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Frachtkosten", DV1Frachtkosten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Frachtwährung", DV1Frachtwährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Materialien", DV1Materialien)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Materialwährung", DV1Materialwährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Provisionen", DV1Provisionen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DV1Provisionwährung", DV1Provisionwährung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abflughafen_Code", Abflughafen_Code)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abflughafen_Text", Abflughafen_Text)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorpapierart", Vorpapierart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorpapiere_Regnummer", Vorpapiere_Regnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BEAnteil_SumA", BEAnteil_SumA)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BEAnteil_ZL", BEAnteil_ZL)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BEAnteil_AV", BEAnteil_AV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UST_ID_Einführer", UST_ID_Einführer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UST_ID_Erwerber", UST_ID_Erwerber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UST_ID_Fiskalvertreter", UST_ID_Fiskalvertreter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Shipmentnummer", Shipmentnummer)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importstatus", Importstatus)) + + 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 tbl_DY_Zollmeldungen_Import WHERE Id=@Id) " & + " BEGIN " & getUpdateCmd() & " END " & + " Else " & + " BEGIN " & getInsertCmd() & " END " & + " commit tran " + + Return SQL.doSQLVarList(sqlstr, "AVISO", , list) + End Function + + Public Sub LOAD() + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() + Using cmd As New SqlCommand("SELECT * FROM tbl_DY_Zollmeldungen_Import WHERE Id=@Id ", conn) + cmd.Parameters.AddWithValue("@Id", Id) + 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.MethodInfo.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 [tbl_DY_Zollmeldungen_Import] SET " & str & " WHERE Id=@Id ") + + 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 tbl_DY_Zollmeldungen_Import (" & 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 + + + + diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb new file mode 100644 index 00000000..b9d4f36d --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb @@ -0,0 +1,1293 @@ +Imports System +Imports System.Collections.Generic +Imports System.Data.SqlClient +Imports System.IO +Imports System.Reflection +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 tblUTAImportNew", "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 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") + + 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 tblUTAHeaderNew 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 tblUTAHeaderNew 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 [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) + 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 tblUTAHeaderNew (" & 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 + Property daId As Object + + + 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)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("daId", daId)) + + 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 tblUTAImportNew 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 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) + 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 [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) + 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 tblUTAImportNew (" & 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 tblUTATrailerNew 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 tblUTATrailerNew 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 [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) + 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 tblUTATrailerNew (" & 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 Function readAndSaveUTA(objFileRead As StreamReader, fi As FileInfo, cnt As Integer) 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 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 + + .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 + cnt = CInt(lngRecordCount) + 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 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) + + End Function + + Public Shared Function GET_Antraege_UTA(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Object = Nothing) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + Using cmd As New SqlCommand("SELECT [tblUTAImportNew].Rechnungsdatum, [tblUTAImportNew].Rechnungsnummer_pro_Lieferland AS Rechnungsnummer, Sum([Gesamtbetrag_Brutto_in_Lieferlandwährung]-[Gesamtbetrag_Netto_in_Lieferlandwährung]) AS Umsatzsteuerbetrag_in_Lieferlandwährung + FROM [tblUTAImportNew] INNER JOIN Adressen ON [tblUTAImportNew].Kundennummer = Adressen.UTAKundenNr + WHERE ([tblUTAImportNew].Rechnungsdatum Between '" & von.ToShortDateString & "' And '" & bis.ToShortDateString & "' AND [tblUTAImportNew].Lieferland_ISO2='" & LandKZ & "' AND [tblUTAImportNew].Lieferlandwährung_ISO='" & Wahrungscode & "' AND Adressen.AdressenNr=" & KundenNr & " AND abgerechnet = 1) + GROUP BY [tblUTAImportNew].Rechnungsdatum, [tblUTAImportNew].Rechnungsnummer_pro_Lieferland + HAVING (((Sum([Gesamtbetrag_Brutto_in_Lieferlandwährung]-[Gesamtbetrag_Netto_in_Lieferlandwährung]))<>0));", conn) + + cmd.Parameters.AddWithValue("@von", von) + cmd.Parameters.AddWithValue("@bis", bis) + cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) + 'If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) + + Dim dr = cmd.ExecuteReader() + dt.Load(dr) + 'While dr.Read + ' dt.Load(dr) + 'End While + dr.Close() + + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + + End Function + + + Public Shared Function UPDATE_ARCHIV(reDat As Date, reNr As Integer, uta_kdNr As Integer) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reDat", reDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reNr", reNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("uta_kdNr", uta_kdNr)) + + + Return SQL.doSQLVarList(" + + UPDATE [tblMSEInvoices] set archiv=1, [archiviertDatum]=GETDATE() + WHERE cast(invoice_date as date) = @reDat and invoice_id = @reNr and customer_number=@mse_kdNr + ", "FMZOLL",, list) + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + 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 diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb index 06239127..b44c91a2 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb @@ -1,6 +1,7 @@ Imports System.Data.SqlClient Imports System.Net Imports System.Reflection +Imports javax Public Class cMSEAPI @@ -514,6 +515,10 @@ Public Class cMSEAPI Return "FEHLER Array Transaktions ist leer" End If + If transactions.Size = 1 Then + row.Item("batch_seq_nr") = transactions.ObjectAt(0).StringOf("batch_seq_nr") + End If + 'If json.StringOf("receiver") = "10738" Then saveTransactions(num, dt, transactions, json.StringOf("receiver")) saveTransactions(num, dt, transactions, json.StringOf("receiver"), True,) ' wenn ID explizit aufgerufen keine Prüfung auf receivcer und purchaseDate @@ -1346,6 +1351,65 @@ Public Class cMSEAPI End Sub + Public Shared Function GET_Antraege_MSE(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Object = Nothing) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + Using cmd As New SqlCommand("select * from ( select cust.[customer_id],bills.invoice_date, bills.invoice_number, bills.specification_page_name, trans.original_currency ,sum(USteuer_EUR) as UST_EUR, sum(original_vat_amount) as UST + FROM [VERAG].[dbo].[tblMSESettlements] as bills + left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id] + left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id + where bills.invoice_date Between '" & von & "' And '" & bis & "'and trans.charged = 1 and cust.[partner_customer_number] = " & KundenNr & " and trans.transaction_country = '" & LandKZ & "' and trans.original_currency = '" & Wahrungscode & "' + group by bills.invoice_date, bills.invoice_number, cust.[customer_id], bills.specification_page_name, trans.original_currency) as temp + where temp.UST <> 0", conn) + + cmd.Parameters.AddWithValue("@von", von) + cmd.Parameters.AddWithValue("@bis", bis) + cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) + 'If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) + + Dim dr = cmd.ExecuteReader() + dt.Load(dr) + 'While dr.Read + ' dt.Load(dr) + 'End While + dr.Close() + + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + + End Function + + + Public Shared Function UPDATE_ARCHIV(reDat As Date, reNr As Integer, mse_kdNr As Integer) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reDat", reDat)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reNr", reNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("mse_kdNr", mse_kdNr)) + + + Return SQL.doSQLVarList(" + + UPDATE [tblMSEInvoices] set archiv=1, [archiviertDatum]=GETDATE() + WHERE cast(invoice_date as date) = @reDat and invoice_id = @reNr and customer_number=@mse_kdNr + ", "FMZOLL",, list) + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + End Function + End Class @@ -1907,4 +1971,5 @@ Public Class cMSECustomers End Try Return "" End Function + End Class diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj index 189f5500..4b84fb4a 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj +++ b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj @@ -339,6 +339,7 @@ + @@ -378,6 +379,7 @@ + diff --git a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb index da2fe723..a00c20f3 100644 --- a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb +++ b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb @@ -464,6 +464,13 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object( End Function + Shared Function getISO2LandFromISO3Land(Iso3Land As String) + If Iso3Land Is Nothing Then Return Nothing + If Iso3Land.Length <> 3 Then Return Nothing + Dim sqlstr = "SELECT TOP 1 isnull(LandKz,'') AS LandKzISO2 from [Länderverzeichnis für die Außenhandelsstatistik] where LandKz_ISO_3 = '" & Iso3Land & "' " + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Return SQL.getValueTxtBySql(sqlstr, "FMZOLL") + End Function Shared Function getISO2Land(LandKz As String) If LandKz Is Nothing Then Return Nothing