diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 157534de..6ab794c4 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -1,9 +1,14 @@  Imports System.Globalization Imports System.Net +Imports System.Runtime.Serialization Imports System.Xml +Imports DocumentFormat.OpenXml.Office.CustomUI +Imports GrapeCity.ActiveReports.ReportsCore.Tools Imports itextsharp.text.pdf Imports Microsoft.Office.Interop +Imports VERAG_PROG_ALLGEMEIN +Imports VERAG_PROG_ALLGEMEIN.Factur_X_1_07_2_EN16931 Imports VERAG_PROG_ALLGEMEIN.Spire.Pdf Imports VERAG_PROG_ALLGEMEIN.Spire.Pdf.Attachments @@ -1730,85 +1735,18 @@ Public Class cFakturierung Shared Function createZUGFeRD(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As String + ' ZUGFeRD XML-Dokument erzeugen - Dim zugferdXml As New XmlDocument() + Dim inv As New CrossIndustryInvoiceType - ' Root-Element (Invoice) erstellen - Dim root As XmlElement = zugferdXml.CreateElement("Invoice") - ' Namespaces definieren - root.SetAttribute("xmlns", "urn:ferd:zugferd:invoice:1p0") - root.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance") - root.SetAttribute("xsi:schemaLocation", "urn:ferd:zugferd:invoice:1p0 ZugferdInvoice_1p0.xsd") - - zugferdXml.AppendChild(root) - - ' ZUGFeRD Header - Dim header As XmlElement = zugferdXml.CreateElement("Header") - root.AppendChild(header) - - ' Absender und Empfänger - Dim sender As XmlElement = zugferdXml.CreateElement("Seller") - sender.SetAttribute("name", RECHNUNG.AbsenderName_1) - sender.SetAttribute("address", RECHNUNG.AbsenderStraße & ", " & RECHNUNG.AbsenderOrt) - header.AppendChild(sender) - - Dim recipient As XmlElement = zugferdXml.CreateElement("Buyer") - recipient.SetAttribute("name", RECHNUNG.EmpfängerName_1) - recipient.SetAttribute("address", RECHNUNG.EmpfängerStraße & ", " & RECHNUNG.EmpfängerOrt) - header.AppendChild(recipient) - - ' Rechnungsdaten - Dim invoiceDetails As XmlElement = zugferdXml.CreateElement("InvoiceDetails") - root.AppendChild(invoiceDetails) - - ' Rechnungsnummer und -datum - Dim invoiceNumber As XmlElement = zugferdXml.CreateElement("InvoiceNumber") - invoiceNumber.InnerText = RECHNUNG.RechnungsNr - invoiceDetails.AppendChild(invoiceNumber) - - Dim invoiceDate As XmlElement = zugferdXml.CreateElement("InvoiceDate") - invoiceDate.InnerText = RECHNUNG.RechnungsDatum - invoiceDetails.AppendChild(invoiceDate) - - For Each pos In RECHNUNG.POSITIONEN + inv.ExchangedDocument.ID.Value = RECHNUNG.RK_ID + inv.ExchangedDocument.TypeCode.Value = 632 - ' Rechnungspositionen (Artikel) - Dim items As XmlElement = zugferdXml.CreateElement("Items") - invoiceDetails.AppendChild(items) - - Dim item As XmlElement = zugferdXml.CreateElement("Item") - items.AppendChild(item) - - ' Artikelbeschreibung und Preis - Dim description As XmlElement = zugferdXml.CreateElement("Description") - description.InnerText = pos.LeistungsBez - item.AppendChild(description) - - Dim quantity As XmlElement = zugferdXml.CreateElement("Quantity") - quantity.InnerText = pos.Anzahl - item.AppendChild(quantity) - - Dim unitPrice As XmlElement = zugferdXml.CreateElement("UnitPrice") - unitPrice.InnerText = pos.Preis - item.AppendChild(unitPrice) - - Next - - ' Gesamtsumme - Dim totalAmount As XmlElement = zugferdXml.CreateElement("TotalAmount") - totalAmount.InnerText = RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag - invoiceDetails.AppendChild(totalAmount) - - ' Zahlungstermine und -bedingungen - Dim paymentTerms As XmlElement = zugferdXml.CreateElement("PaymentTerms") - paymentTerms.InnerText = RECHNUNG.TextZZ - invoiceDetails.AppendChild(paymentTerms) - Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice", ".xml", , False) - zugferdXml.Save(tmpPathZugpferd) + inv.SaveToFile(tmpPathZugpferd) @@ -2855,7 +2793,8 @@ Public Class cFakturierung Else dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE RechnungsNr is null AND VorschauID='" & VorschauID & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL") End If - Dim ROW As DataRow = dt.Rows(0) + + Dim ROW As DataRow = IIf(dt.Rows.Count > 0, dt.Rows(0), Nothing) Dim rpt As New rptSammelRechnungAnlagenDruck(ROW("RechnungSprache")) rpt.DataSource = dt diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 9fe54fe9..48677e56 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1,10 +1,7 @@  Imports System.Reflection -Imports System.Web.UI.WebControls.Expressions -Imports jdk.nashorn.internal.objects.annotations 'Imports DocumentFormat.OpenXml.Drawing.Charts Imports Microsoft.Office.Interop - Imports VERAG_PROG_ALLGEMEIN Public Class frmMDM_USTVAntrag @@ -115,20 +112,12 @@ Public Class frmMDM_USTVAntrag c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - .Columns.Add(c) + + If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) For Each r As DataGridViewRow In .Rows - - Dim da_id = -1 - - Select Case If(r.Cells("UStVPo_SchnittstellenNr").Value, -1) - Case 6, 0 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & r.Cells("UStVPo_ReDat").Value & "' and plInv_SupplierRechnungsNr='" & r.Cells("UStVPo_ReNr").Value & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1) - Case 4, 9 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblMSEInvoices] as inv inner join tblMSECustomers on inv.customer_number = customer_id where invoice_date='" & r.Cells("UStVPo_ReDat").Value & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & USTV_ANTRAG.UStVAn_KuNr & " AND daId is not null", "FMZOLL",,, -1) - Case 10 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & r.Cells("UStVPo_ReDat").Value & "' and Abrechnungsnummer='" & r.Cells("UStVPo_ReNr").Value & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1) - Case 7 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & r.Cells("UStVPo_ReDat").Value & "' and rmc_reNr='" & r.Cells("UStVPo_ReNr").Value & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1) - Case 8 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNew.daId FROM [tblIDSTransactionsNew] INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber where tblIDSTransactionsNew.[YearMonthDay] ='" & r.Cells("UStVPo_ReDat").Value & "' and tblIDSTransactionsNew.[Paymentsummarynumber]='" & r.Cells("UStVPo_ReNr").Value & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1) - End Select + Dim da_id = getDaID(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value) If da_id > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf @@ -152,8 +141,8 @@ Public Class frmMDM_USTVAntrag Dim antraegeVearbeitet = 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) + Case "plose", "ploseneu" + GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False, IIf(Lieferant.ToLower = "ploseneu", True, False)) antraegeVearbeitet = True Case "rmc" Dim dt As New DataTable @@ -296,6 +285,12 @@ Public Class frmMDM_USTVAntrag AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked End If + If Not ContextMenuStrip2.Items.ContainsKey("ploseneu") Then + Dim plose = New ToolStripMenuItem() With {.Text = "Plose NEUE LOGIK", .Name = "ploseneu", .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 @@ -339,8 +334,8 @@ Public Class frmMDM_USTVAntrag 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) + If item.Name = "plose" Or item.Name = "ploseneu" Then + loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked, IIf(item.Name = "ploseneu", True, False)) init() ElseIf item.Name = "rmc" Then loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) @@ -392,11 +387,13 @@ Public Class frmMDM_USTVAntrag Return False End Function - Shared Function loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean + Shared Function loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien, MWSTSummenAusBeleg) As Boolean Try Dim bytSchnittstellenNr = 6 Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) - Dim GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) + Dim GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien, MWSTSummenAusBeleg) + + If GET_Antraege IsNot Nothing Then @@ -415,6 +412,7 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = "Maut" USTV_POS.UStVPo_Leistender = ANTRAG.plose_Lieferant + USTV_POS.UStVPo_Leistender = USTV_POS.UStVPo_Leistender.ToString.Replace("", "PLOSE Sistem Service") USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() ' Berechnungen @@ -799,9 +797,12 @@ Public Class frmMDM_USTVAntrag Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + dgvUSTVPositionen.GetOrder() + getValue(USTV_ANTRAG) If USTV_ANTRAG.SAVE Then init() + dgvUSTVPositionen.SetOrder() End If End Sub @@ -1196,4 +1197,76 @@ Public Class frmMDM_USTVAntrag End Sub + Private Sub dgvUSTVPositionen_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvUSTVPositionen.CellContentDoubleClick + + Try + If e.RowIndex >= 0 AndAlso e.ColumnIndex = 17 Then + + + Dim schnnittstellenNr = dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value + Dim ReNr = dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value + Dim ReDat = dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value + + Dim dsID = getDaID(schnnittstellenNr, ReDat, ReNr) + + Select Case schnnittstellenNr + Case 1 + + If dsID > 0 Then + Me.Cursor = Cursors.WaitCursor + cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 3) + End If + + Case Else + + If dsID > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) + DS.OPEN_SINGLE() + End If + + End Select + + + End If + + + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Me.Cursor = Cursors.Default + End Try + + Me.Cursor = Cursors.Default + + + + End Sub + + Private Function getDaID(SchnittstellenNr, reDat, reNr) + + Dim da_id = -1 + + Select Case If(SchnittstellenNr, -1) + Case 1 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & reDat & "' and Rechnungsausgang.RechnungsNr='" & reNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL",,, -1) + Case 6, 0 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & reDat & "' and plInv_SupplierRechnungsNr='" & reNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1) + Case 4, 9 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblMSEInvoices] as inv inner join tblMSECustomers on inv.customer_number = customer_id where invoice_date='" & reDat & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & USTV_ANTRAG.UStVAn_KuNr & " AND daId is not null", "FMZOLL",,, -1) + Case 10 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & reDat & "' and Abrechnungsnummer='" & reNr & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1) + Case 7 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & reDat & "' and rmc_reNr='" & reNr & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1) + Case 8 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNew.daId FROM [tblIDSTransactionsNew] INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber where tblIDSTransactionsNew.[YearMonthDay] ='" & reDat & "' and tblIDSTransactionsNew.[Paymentsummarynumber]='" & reNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1) + End Select + + Return da_id + + End Function + + Private Sub dgvUSTVPositionen_Sorted(sender As Object, e As EventArgs) Handles dgvUSTVPositionen.Sorted + + For Each r As DataGridViewRow In dgvUSTVPositionen.Rows + + Dim da_id = getDaID(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value) + If da_id > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf + Next + + End Sub End Class \ No newline at end of file diff --git a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb index 8e1f28fc..691a18eb 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb @@ -28,6 +28,7 @@ Partial Class frmUSTVoffeneAntraege Me.Button7 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() + Me.Button3 = 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() @@ -43,7 +44,6 @@ Partial Class frmUSTVoffeneAntraege Me.Label3 = New System.Windows.Forms.Label() Me.cbxAlleoffenen = New System.Windows.Forms.CheckBox() Me.lblKunde = New System.Windows.Forms.Label() - Me.Button3 = New System.Windows.Forms.Button() Me.FlowLayoutPanel.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel4.SuspendLayout() @@ -109,6 +109,17 @@ Partial Class frmUSTVoffeneAntraege Me.Button2.Text = "MSE" Me.Button2.UseVisualStyleBackColor = False ' + 'Button3 + ' + Me.Button3.BackColor = System.Drawing.Color.FloralWhite + Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button3.Location = New System.Drawing.Point(507, 3) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(120, 23) + Me.Button3.TabIndex = 4 + Me.Button3.Text = "IDS" + Me.Button3.UseVisualStyleBackColor = False + ' 'lbl ' Me.lbl.AutoSize = True @@ -312,17 +323,6 @@ Partial Class frmUSTVoffeneAntraege Me.lblKunde.Size = New System.Drawing.Size(0, 16) Me.lblKunde.TabIndex = 45 ' - 'Button3 - ' - Me.Button3.BackColor = System.Drawing.Color.FloralWhite - Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button3.Location = New System.Drawing.Point(507, 3) - Me.Button3.Name = "Button3" - Me.Button3.Size = New System.Drawing.Size(120, 23) - Me.Button3.TabIndex = 4 - Me.Button3.Text = "IDS" - Me.Button3.UseVisualStyleBackColor = False - ' 'frmUSTVoffeneAntraege ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index 4be16121..706dad45 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -1,4 +1,6 @@ -Public Class frmUSTVoffeneAntraege +Imports GrapeCity.ActiveReports.FormattedText.Layout.Utils + +Public Class frmUSTVoffeneAntraege Public LIEFERANT = "" Dim datumBis As Date = Nothing @@ -131,7 +133,7 @@ .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] + Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid as daId FROM [tblRMCImport] 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" @@ -146,7 +148,7 @@ .Columns("rmc_reNr").HeaderText = "RE-Nr" .Columns("rmc_betragMWST").HeaderText = "MWSt" .Columns("rmc_waehrung").HeaderText = "Währung" - .Columns("rmc_daid").Visible = False + .Columns("daId").Visible = False .Columns("rmc_kdName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells @@ -162,12 +164,12 @@ c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - .Columns.Add(c) + If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) For Each r As DataGridViewRow In .Rows sumMwSt += If(IsNumeric(r.Cells("rmc_betragMWST").Value), CDbl(r.Cells("rmc_betragMWST").Value), 0) - If Not IsDBNull(r.Cells("rmc_daid").Value) AndAlso r.Cells("rmc_daid").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 @@ -223,7 +225,7 @@ c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - .Columns.Add(c) + If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) For Each r As DataGridViewRow In .Rows sumMwSt += If(IsNumeric(r.Cells("total_vat_amount_euro").Value), CDbl(r.Cells("total_vat_amount_euro").Value), 0) @@ -379,7 +381,7 @@ c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - .Columns.Add(c) + If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) For Each r As DataGridViewRow In .Rows @@ -424,5 +426,39 @@ init() End Sub + Private Sub MyDatagridview1_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles MyDatagridview1.CellContentDoubleClick + + Try + If e.RowIndex >= 0 AndAlso e.ColumnIndex = 7 Then + Dim dsID = MyDatagridview1.Rows(e.RowIndex).Cells("daId").Value + + If dsID > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) + DS.OPEN_SINGLE() + End If + End If + + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + Me.Cursor = Cursors.Default + End Try + + Me.Cursor = Cursors.Default + + + + End Sub + + Private Sub MyDatagridview1_Sorted(sender As Object, e As EventArgs) Handles MyDatagridview1.Sorted + + For Each r As DataGridViewRow In MyDatagridview1.Rows + + If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf + Next + + 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 c5a1a44b..ca72acba 100644 --- a/SDL/USTV/usrCntlUSTV.Designer.vb +++ b/SDL/USTV/usrCntlUSTV.Designer.vb @@ -23,7 +23,7 @@ Partial Class usrCntlUSTV Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Me.pnlFilter = New System.Windows.Forms.Panel() Me.dgvUSTV = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Label1 = New System.Windows.Forms.Label() @@ -87,8 +87,8 @@ Partial Class usrCntlUSTV Me.dgvUSTV.AKTUALISIERUNGS_INTERVALL = -1 Me.dgvUSTV.AllowUserToAddRows = False Me.dgvUSTV.AllowUserToDeleteRows = False - DataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) - Me.dgvUSTV.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(CType(CType(240, Byte), Integer), CType(CType(245, Byte), Integer), CType(CType(255, Byte), Integer)) + Me.dgvUSTV.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle2 Me.dgvUSTV.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.dgvUSTV.Dock = System.Windows.Forms.DockStyle.Fill Me.dgvUSTV.Location = New System.Drawing.Point(0, 108) diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index 90895ca6..644b4af0 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -370,6 +370,11 @@ Public Class usrCntlUSTV AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked End If + If Not ContextMenuStrip2.Items.ContainsKey("ploseneu") Then + Dim plose = New ToolStripMenuItem() With {.Text = "Plose-NEUE LOGIK", .Name = "ploseneu", .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)} @@ -395,6 +400,12 @@ Public Class usrCntlUSTV ContextMenuStrip2.Items.Add(ids) End If + If Not ContextMenuStrip2.Items.ContainsKey("verag") Then + Dim ids = New ToolStripMenuItem() With {.Text = "VERAG", .Name = "verag", .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) @@ -418,13 +429,13 @@ Public Class usrCntlUSTV If cnt = 0 Then MsgBox("Keine einreichbaren Anträge gefunden!") : Exit Sub If item IsNot Nothing Then - If item.Name = "plose" Then + If item.Name = "plose" Or item.Name = "ploseneu" 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) + frmMDM_USTVAntrag.loadUSTVFrom_PLOSE(r.Cells("UStVAn_ID").Value, r.Cells("LandKz").Value, False, IIf(item.Name = "ploseneu", True, False)) End If Next init() @@ -482,6 +493,19 @@ Public Class usrCntlUSTV MsgBox("Fertig!") End If + + ElseIf item.Name = "verag" 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_VERAG(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 @@ -664,5 +688,14 @@ Public Class usrCntlUSTV Me.Cursor = Cursors.Default End Sub + Private Sub btnNeuerUSTVA_Click(sender As Object, e As EventArgs) Handles btnNeuerUSTVA.Click + MsgBox("Bevor das Antragsformular geöffnet werden kann," & vbNewLine & " müssen Sie Angaben zum Antrag in der Antragserfassung machen." & vbNewLine & "Aktuell noch im FM-Zoll durchzuführen!") + 'frmUStVAntrag im SDL bauen! + + End Sub + + Private Sub btnUSTVAloeschen_Click(sender As Object, e As EventArgs) Handles btnUSTVAloeschen.Click + MsgBox("NOCH NICHT IMPLEMENTIERT!") + End Sub End Class diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 10166613..c9172a42 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -1999,7 +1999,7 @@ Public Class frmMDMDatenverarbetiung End If - sqlstr = "SELECT qryUTA_Fakturierungspositionen.KundenNr AS [Customer No], + sqlstr = "SELECT 'UTA',qryUTA_Fakturierungspositionen.KundenNr AS [Customer No], isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS LicencePlateNumber, cast([Belegdatum] as datetime) AS [Transaction Date], qryUTA_Fakturierungspositionen.Lieferland AS [Transaction Country], @@ -2048,7 +2048,7 @@ Public Class frmMDMDatenverarbetiung Try 'Zeitstempel - Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10) " + Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) " ' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";" Using Command As New OleDbCommand(SQLQuery, con) @@ -2059,9 +2059,11 @@ Public Class frmMDMDatenverarbetiung Command.Parameters.AddWithValue("@P5", r(4)) Command.Parameters.AddWithValue("@P6", r(5)) Command.Parameters.AddWithValue("@P7", r(6)) - Command.Parameters.AddWithValue("@P8", CDbl(r(7))) - Command.Parameters.AddWithValue("@P9", CDbl(r(8))) + Command.Parameters.AddWithValue("@P8", r(7)) + Command.Parameters.AddWithValue("@P9", r(8)) Command.Parameters.AddWithValue("@P10", CDbl(r(9))) + Command.Parameters.AddWithValue("@P11", CDbl(r(10))) + Command.Parameters.AddWithValue("@P12", CDbl(r(11))) Command.ExecuteNonQuery() Command.Dispose() @@ -3922,17 +3924,6 @@ Public Class frmMDMDatenverarbetiung pruefData_ASFINAG = True Try - ' Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql(" - ' SELECT dbo.TTRBody.CardNumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr, (SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11))) AS Offerte_11 - ' FROM dbo.CLFArchiv - ' RIGHT OUTER JOIN dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.InfoField - 'LEFT OUTER JOIN dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode - ' LEFT JOIN [VERAG].[dbo].[Kreditkarten] on dbo.TTRBody.CardNumber = Kreditkarten.KartenNr - ' WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%')" & SQLAbrechnungsparameter & - ' "GROUP BY dbo.TTRBody.CardNumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr - ' HAVING dbo.TTRBody.CardNumber is null or (dbo.TTRBody.CardNumber is not null AND ((Kreditkarten.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11)))) Is Null)) - ' ORDER BY dbo.TTRBody.CardNumber", "ASFINAG") - Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql(" SELECT cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr, (SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11))) AS Offerte_11 FROM dbo.tblAsfinagMaut @@ -4168,8 +4159,6 @@ Public Class frmMDMDatenverarbetiung End If - - Dim OBONumberOderVRNumberfehlern As Integer = 0 OBONumberOderVRNumberfehlern = CInt((New SQL).getValueTxtBySql("select count(*) from [tblIDSTransactionsNew] WHERE cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null AND [VRNumber] is null AND [OBONumber] is null", "FMZOLL")) diff --git a/SDL/mdm/usrCntlMDMAuswertungen.vb b/SDL/mdm/usrCntlMDMAuswertungen.vb index 962fa7d2..efcedd80 100644 --- a/SDL/mdm/usrCntlMDMAuswertungen.vb +++ b/SDL/mdm/usrCntlMDMAuswertungen.vb @@ -1436,6 +1436,9 @@ Class cMDMAuswertung rpt.kdnr = kdnr rpt.SDLNr = sdlNr rpt.erstelltVon = erstelltVon + + rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4 + print.Viewer.LoadDocument(rpt) print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous print.Show() @@ -1460,6 +1463,8 @@ Class cMDMAuswertung rpt.sdlNr = sdlNr ' rpt.erstelltVon = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME + rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4 + print.Viewer.LoadDocument(rpt) print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous ' print.RaisePrintEvent = True diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb index 30e5e654..998a1388 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -422,19 +422,7 @@ Public Class cMDMFunctionsAllgemein Shared Function UStVKunden_Summen_lesen_Vorschau_PLOSE(varUStVAn_KuNr As Integer, invoiceDate As Date, calcSumme As Boolean) As Double - '1300 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1)) - '1310 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum) - '1320 Set qdf = dbs.CreateQueryDef("") - '1330 With qdf - '1340 .Connect = AktuelleVerbindungszeichenfolge(0) - '1350 .ReturnsRecords = True - '1360 .SQL = "EXEC [dbo].[spUStVVorschau_IDS_Summe] " & strParameter - '1370 Set rst = qdf.OpenRecordset() - '1380 End With - '1390 Do Until rst.EOF - '1400 UStVKunden_Summen_lesen_Vorschau_IDS = UStVKunden_Summen_lesen_Vorschau_IDS + rst![Vorschaubetrag] - '1410 rst.MoveNext - '1420 Loop + ' set plose_Archiv=1, [plose_ArchiviertDatum]=GETDATE(), UStVAn_ID = @UStVAn_ID beim Einarbeiten in USTVA Try @@ -590,6 +578,7 @@ Public Class cMDMFunctionsAllgemein Next End If + '[tblMSEInvoices] set archiv=1, [archiviertDatum]=GETDATE(), UStVAn_ID = @UStVAn_ID If calcSumneueSchnittstelle Then Dim sqlFMZollDatenNEU = "select * from ( select cust.[customer_id],bills.invoice_date, bills.invoice_number, bills.specification_page_name, trans.transaction_country, trans.original_currency ,sum(USteuer_EUR) as UST_EUR, sum(original_vat_amount) as UST @@ -694,14 +683,14 @@ Public Class cMDMFunctionsAllgemein End If If calcSumneueSchnittstelle Then - + 'hier muss auch auf die UStVAn_ID IS nULL geprüft werden /vorher noch kontrollieren Dim sqlNeueSchnittstelle = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Vorschaubetrag FROM dbo.tblSteuernummern INNER JOIN dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN dbo.tblUTAImportNew ON dbo.Adressen.UTAKundenNr = dbo.tblUTAImportNew.Kundennummer INNER JOIN dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND dbo.tblUTAImportNew.Lieferland = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3 - WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAImportNew.archiv IS NULL) AND + WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAImportNew.archiv IS NULL) AND (dbo.tblUTAImportNew.charged = 1) AND (dbo.tblUTAImportNew.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0) GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr"