From 2ec5ebc44c21a6abb434f43440496be1bec1104c Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 4 Feb 2025 17:04:12 +0100 Subject: [PATCH] MDM Fakt. --- SDL/Fakturierung/cFakturierung.vb | 64 ++++-- SDL/Fakturierung/frmFaktEmail.Designer.vb | 32 ++- SDL/Fakturierung/frmFaktEmail.vb | 59 ++++- SDL/Fakturierung/frmFaktSammelRgDrucken.vb | 51 ++++- .../rptSammelRechnungAnlagenDruck.Designer.vb | 12 +- .../rptSammelRechnungAnlagenDruck.vb | 1 - SDL/My Project/AssemblyInfo.vb | 4 +- .../usrCntlFakturierung.Designer.vb | 124 ++++++---- SDL/seriendruck/usrCntlFakturierung.vb | 212 ++++++++++-------- 9 files changed, 366 insertions(+), 193 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 25f9fe5f..24924c13 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -5,7 +5,8 @@ Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN Imports s2industries.ZUGFeRD Imports System.IO - +Imports GrapeCity.ActiveReports.SectionReportModel +Imports GrapeCity.ActiveReports Public Class cFakturierung @@ -2829,7 +2830,7 @@ Public Class cFakturierung End Function - Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False, Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional MDMRENrvoarhanden As Boolean = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean + Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False, Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional MDMRENrvoarhanden As Boolean = False, Optional MDMREkopie As Integer = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean 'If RECHNUNG Is Nothing Then MsgBox("Fehler beim Laden der Rechnungsdaten!") : Return False Try 'If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") " @@ -2959,7 +2960,7 @@ Public Class cFakturierung 'Letzter Abschnitt: If found Then Dim path = "" - If Not (SammelrechungArt = 6 And RechnungsdruckArt = 7) Then doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart) + If Not (SammelrechungArt = 6 And RechnungsdruckArt = 7) Then doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,, MDMREkopie) If path <> "" Then listPDFs.Add(path) End If lastAktuelle_RgNr = Aktuelle_RgNr @@ -3553,19 +3554,38 @@ Public Class cFakturierung rpt.lblEORIUeberschrift.Visible = Not isMDMRechnungsdruck rpt.txtAbfertigungsart.Visible = Not isMDMRechnungsdruck - Dim sumSteuerpflichtig As Double = 0 Dim sumSteuerfrei As Double = 0 + Dim watermark As New Label() + + watermark.Font = New Font("Arial", 72, FontStyle.Bold) + watermark.ForeColor = Color.LightGray + watermark.Angle = 45 ' Rotate watermark + watermark.Left = 2.0F + watermark.Top = 5.0F + watermark.Width = 6.0F + watermark.Height = 1.5F + watermark.BackColor = Color.Transparent + ' Ensure the PageHeader section exists + If Sammelrechnungskopie Then + Select Case ROW("RechnungSprache") - Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" - Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" + Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" : watermark.Text = "INVALID" + Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" : watermark.Text = "UNGÜLTIG" End Select + rpt.Sections("Detail").Controls.Add(watermark) End If + + + + + + AddHandler rpt.Detail.Format, Sub() ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString @@ -3596,9 +3616,8 @@ Public Class cFakturierung If If(RECHNUNG.Handling, "") <> "" Then rpt.txtSendungsdetails.Text &= "Handling: " & RECHNUNG.Handling.ToString.Replace(vbNewLine, ", ").Replace(vbCr, ", ").Replace(vbLf, ", ") & vbNewLine End If - - If True Then 'ANLAGEN - Dim Anlagen = "" +If True Then 'ANLAGEN +Dim Anlagen = "" If If(RECHNUNG.Anlage_1, "") <> "" Then Anlagen &= RECHNUNG.Anlage_1 & ", " If If(RECHNUNG.Anlage_2, "") <> "" Then Anlagen &= RECHNUNG.Anlage_2 & ", " If If(RECHNUNG.Anlage_3, "") <> "" Then Anlagen &= RECHNUNG.Anlage_3 & ", " @@ -3641,17 +3660,15 @@ Public Class cFakturierung rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) - - 'txtPackstuecke.Top += SubReport.Height 'txtKdAuftragsnummer.Top += SubReport.Height 'txtSendungsdetails.Top += SubReport.Height Else rpt.SubReport.Report = Nothing End If - ' rpt.Line10.AnchorBottom = True - ' rpt.Line10.Height = rpt.Detail.Height - End If +' rpt.Line10.AnchorBottom = True +' rpt.Line10.Height = rpt.Detail.Height +End If End Sub @@ -3672,6 +3689,7 @@ Public Class cFakturierung Dim tmpSteuerbetrag = CDbl((sumSteuerpflichtig * steuerProz)) If tmpSteuerbetrag = 0 Then rpt.lblSteuerbetrag.Visible = False + rpt.lblSteuersatz.Visible = False End If rpt.lblSteuersatz.Text = steuerBez @@ -3691,10 +3709,10 @@ Public Class cFakturierung End Sub - 'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt... - 'If RECHNUNG.DruckDatumZeit Is Nothing Then - ' RECHNUNG.SET_DruckdatumUhrzeit() - 'End If +'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt... +'If RECHNUNG.DruckDatumZeit Is Nothing Then +' RECHNUNG.SET_DruckdatumUhrzeit() +'End If If isMDMRechnungsdruck Then @@ -3713,7 +3731,7 @@ Public Class cFakturierung Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr")) 'Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & " _Rechnung_" & RechnungsNr & ".pdf" Dim RG_Bezeichnung = "Rechnung_" & RechnungsNr & ".pdf" - 'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben +'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben @@ -3726,20 +3744,18 @@ Public Class cFakturierung If isMDMRechnungsdruck AndAlso SammelrechnungsDT IsNot Nothing AndAlso SammelrechnungsDT.Rows.Count > 0 Then - - Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) +Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") If enableZugpferd Then tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, SammelrechnungsDT, , rpt)) Else - Dim Zugferdpath = createZUGFeRD(False, Nothing, SammelrechnungsDT,, rpt) +Dim Zugferdpath = createZUGFeRD(False, Nothing, SammelrechnungsDT,, rpt) If Zugferdpath IsNot Nothing AndAlso Zugferdpath <> "" Then Dim fileInfo_ZP As New FileInfo(Zugferdpath) Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year & "_SR", "", "", fileInfo_ZP.Name, -1, False) ZUGF_DS.uploadDataToDATENSERVER(Zugferdpath, fileInfo_ZP.Name, fileInfo_ZP.Extension,,,, True) End If - - End If +End If End If diff --git a/SDL/Fakturierung/frmFaktEmail.Designer.vb b/SDL/Fakturierung/frmFaktEmail.Designer.vb index b10d3dbc..329f1391 100644 --- a/SDL/Fakturierung/frmFaktEmail.Designer.vb +++ b/SDL/Fakturierung/frmFaktEmail.Designer.vb @@ -83,6 +83,8 @@ Partial Class frmFaktEmail Me.Label7 = New System.Windows.Forms.Label() Me.Button5 = New System.Windows.Forms.Button() Me.lklcc = New System.Windows.Forms.LinkLabel() + Me.cbxMDMReKopie = New System.Windows.Forms.CheckBox() + Me.cbxMDMAnh = New System.Windows.Forms.CheckBox() CType(Me.dgvEmailBCC, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvEmailCC, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvEmail, System.ComponentModel.ISupportInitialize).BeginInit() @@ -554,7 +556,7 @@ Partial Class frmFaktEmail Me.cboPrinter.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cboPrinter.FormattingEnabled = True - Me.cboPrinter.Location = New System.Drawing.Point(610, 562) + Me.cboPrinter.Location = New System.Drawing.Point(610, 580) Me.cboPrinter.Name = "cboPrinter" Me.cboPrinter.Size = New System.Drawing.Size(118, 21) Me.cboPrinter.TabIndex = 33 @@ -562,7 +564,7 @@ Partial Class frmFaktEmail 'cbxRgKopieDrucken ' Me.cbxRgKopieDrucken.AutoSize = True - Me.cbxRgKopieDrucken.Location = New System.Drawing.Point(610, 543) + Me.cbxRgKopieDrucken.Location = New System.Drawing.Point(610, 561) Me.cbxRgKopieDrucken.Name = "cbxRgKopieDrucken" Me.cbxRgKopieDrucken.Size = New System.Drawing.Size(117, 17) Me.cbxRgKopieDrucken.TabIndex = 34 @@ -696,12 +698,36 @@ Partial Class frmFaktEmail Me.lklcc.Size = New System.Drawing.Size(220, 18) Me.lklcc.TabIndex = 94 ' + 'cbxMDMReKopie + ' + Me.cbxMDMReKopie.AutoSize = True + Me.cbxMDMReKopie.Location = New System.Drawing.Point(610, 520) + Me.cbxMDMReKopie.Name = "cbxMDMReKopie" + Me.cbxMDMReKopie.Size = New System.Drawing.Size(72, 17) + Me.cbxMDMReKopie.TabIndex = 95 + Me.cbxMDMReKopie.Text = "RG-Kopie" + Me.cbxMDMReKopie.UseVisualStyleBackColor = True + Me.cbxMDMReKopie.Visible = False + ' + 'cbxMDMAnh + ' + Me.cbxMDMAnh.AutoSize = True + Me.cbxMDMAnh.Location = New System.Drawing.Point(610, 538) + Me.cbxMDMAnh.Name = "cbxMDMAnh" + Me.cbxMDMAnh.Size = New System.Drawing.Size(125, 17) + Me.cbxMDMAnh.TabIndex = 96 + Me.cbxMDMAnh.Text = "Lieferanten PDF-Anh" + Me.cbxMDMAnh.UseVisualStyleBackColor = True + Me.cbxMDMAnh.Visible = False + ' 'frmFaktEmail ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.WhiteSmoke Me.ClientSize = New System.Drawing.Size(750, 850) + Me.Controls.Add(Me.cbxMDMAnh) + Me.Controls.Add(Me.cbxMDMReKopie) Me.Controls.Add(Me.lklcc) Me.Controls.Add(Me.Button5) Me.Controls.Add(Me.Label7) @@ -809,4 +835,6 @@ Partial Class frmFaktEmail Friend WithEvents clmnAnhId As DataGridViewTextBoxColumn Friend WithEvents Button5 As Button Friend WithEvents lklcc As LinkLabel + Friend WithEvents cbxMDMReKopie As CheckBox + Friend WithEvents cbxMDMAnh As CheckBox End Class diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index b5f024e0..ffcf8e49 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -1,4 +1,5 @@ -Imports Microsoft.Office.Interop +Imports GrapeCity.DataVisualization.TypeScript +Imports Microsoft.Office.Interop Imports org.omg.PortableServer.POAPackage Imports VERAG_PROG_ALLGEMEIN @@ -31,6 +32,7 @@ Public Class frmFaktEmail Dim Abfertigungsart As String Dim DruckDatumZeit As DateTime Dim AvisoIds As List(Of Integer) + Dim printRgCopy As Boolean = False Dim SR = False Sub New(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, printOriginalRg As Object, Rechnungsdruck As Integer, Optional Rechnungsdatum As Object = Nothing) @@ -72,6 +74,7 @@ Public Class frmFaktEmail Me.Abfertigungsart = Abfertigungsart Me.AvisoIds = AvisoIds Me.Rechnungsdruck = Rechnungsdruck + Me.printRgCopy = printRgCopy SR = True End Sub @@ -140,8 +143,22 @@ Public Class frmFaktEmail If SammelrechungArt = 6 Then cbxMergePDF.Checked = False cbxMergePDF.Enabled = False + cbxMDMReKopie.Visible = True + cbxMDMReKopie.Checked = printRgCopy + cbxMDMAnh.Visible = True + cbxMDMAnh.Checked = False + + cboPrinter.Visible = False + cbxRgKopieDrucken.Visible = False + Else cbxMergePDF.Enabled = True + cbxMDMReKopie.Visible = False + cbxMDMAnh.Visible = False + + cboPrinter.Visible = True + cbxRgKopieDrucken.Visible = True + End If Else setMailText(RECHNUNG.RechnungsLandKz) @@ -189,7 +206,6 @@ Public Class frmFaktEmail If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)") End If - Dim EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") If EMAILTMP <> "" Then dgvEmail.Rows.Add(EMAILTMP) Dim EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) @@ -376,7 +392,7 @@ Public Class frmFaktEmail Dim path = "" If SammelrechungArt = 6 Then - RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(19, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart, True) + RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(19, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart, True, cbxMDMReKopie.Checked) Else cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RechnungsNr, -1, -1, DruckDatumZeit, "", False, , 4, path, True,, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked) End If @@ -453,11 +469,17 @@ Public Class frmFaktEmail '----------------------------------------------------------------- For Each l In listPDFs ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) + + + Next For Each l In SonstAnlagen ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) + Next addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked) @@ -562,16 +584,16 @@ Public Class frmFaktEmail '----------------------------------------------------------------- Dim pathRG = "" - If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then - Exit Sub - End If + If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then + Exit Sub + End If - 'If Not RECHNUNG.checkRechnungsNrIsSet() Then - ' MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen") - ' Exit Sub - 'End If + 'If Not RECHNUNG.checkRechnungsNrIsSet() Then + ' MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen") + ' Exit Sub + 'End If - RechnungsNr = RECHNUNG.RechnungsNr + RechnungsNr = RECHNUNG.RechnungsNr If cbxRgKopieDrucken.Checked Then 'KOPIE DRUCK @@ -849,7 +871,20 @@ Public Class frmFaktEmail 'Anhang an Mail anfügen '----------------------------------------------------------------- For Each a In ATTACHMENTS - Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) + + If cbxMDMAnh.Checked Then + Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) + Else + If a.Pfad.ToString.toLowerCase.EndsWith("maut_at.pdf") Or a.Pfad.ToString.toLowerCase.EndsWith("maut_uta.pdf") Or a.Pfad.ToString.toLowerCase.EndsWith("maut_mse.pdf") Then + 'NICHT ANFÜGEN! + Else + Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) + End If + + End If + + + Next '----------------------------------------------------------------- diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index bc6764c7..28e856f1 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -6,6 +6,7 @@ Public Class frmFaktSammelRgDrucken Dim Sammelrechung = -1 Dim Firma = 1 Dim loaded = False + Dim dTLANDEU As New DataTable Sub New() @@ -64,21 +65,24 @@ Public Class frmFaktSammelRgDrucken Dim whereAbfArt = "" Dim whereMWST = "" If cboAbfertigungsart._value <> "" Then whereAbfArt = " AND (SELECT Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr)='" & cboAbfertigungsart._value & "' " - If Not cbxMWST.CheckState.Indeterminate Then whereMWST = "AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0") + If cbxMWST.CheckState.Indeterminate Then + whereMWST = "" + Else + whereMWST = "AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0") + End If Dim sqlStr = "" Select Case Sammelrechung Case 6 ' Maut Sammelrechnung - sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1],0 as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe + sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1],0 as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe, isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST ,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck FROM Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = '6' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & txtZeitraumBis._value & "' " & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & " - " & whereAbfArt & " - /*AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "' */ " & whereMWST & " - GROUP BY RechnungsKundenNr + " & whereAbfArt & " " & whereMWST & " + GROUP BY RechnungsKundenNr, isnull(tblKundenErweitert.kde_keineMWSt,0) ORDER BY Rechnungsausgang.RechnungsKundenNr " Case Else @@ -116,6 +120,10 @@ Public Class frmFaktSammelRgDrucken .Columns("LKW").Width = 80 End If + If .Columns.Contains("keineMWST") Then + .Columns("keineMWST").Visible = False + End If + .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill .ClearSelection() End With @@ -192,6 +200,16 @@ Public Class frmFaktSammelRgDrucken RadioButton.Checked = True loaded = True initDGV() + + + dTLANDEU = (New SQL).loadDgvBySql("select LandKz, MitgliedslandEU from Währungstabelle where LandKz is not null", "FMZOLL") + + Dim R As DataRow = dTLANDEU.NewRow + R("LandKz") = "MK" + R("MitgliedslandEU") = False + dTLANDEU.Rows.Add(R) + + End Sub Private Sub txtRechnungsdatum_TextChanged(sender As Object, e As EventArgs) Handles txtRechnungsdatum.Leave, cboFirma.SelectedIndexChanged, txtZeitraumBis.Leave, cboSB.SelectedIndexChanged @@ -279,7 +297,22 @@ Public Class frmFaktSammelRgDrucken RG_DRUCK = 5 End If - Dim f As New frmFaktEmail(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, RG_DRUCK, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr_Simple, -1, Nothing, cboSB._value,, getAvisoIds, cbxEVOLOG.Checked, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value) + 'KOPIE BEREITS BEIm EMAIL-Versand wenn NICHT-EU Kunde oder mit MWST + Dim MDMKopiedrucken As Boolean = False + + If MyDatagridview1.Columns.Contains("keineMWST") Then + If MyDatagridview1.SelectedRows.Count = 1 Then MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value + End If + + If Not MDMKopiedrucken Then + Dim reLandKZ As String = MyDatagridview1.Rows(0).Cells("RechnungsLandKz").Value + Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = reLandKZ).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + MDMKopiedrucken = Not isEU + + End If + + + Dim f As New frmFaktEmail(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, RG_DRUCK, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr_Simple, -1, Nothing, cboSB._value,, getAvisoIds, cbxEVOLOG.Checked, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value, MDMKopiedrucken) f.ShowDialog(Me) initDGV() 'Else @@ -338,7 +371,7 @@ Public Class frmFaktSammelRgDrucken If IsNumeric(getSelectionKdNr) Then Dim email_receipt As String = "" - If cboFirma._value = "7" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(CInt(getSelectionKdNr()), "Rechnung an (ATILLA)") + If cboFirma._value = "7" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(CInt(getSelectionKdNr()), "Rechnung an (ATILLA)Then") Mail.To = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(CInt(getSelectionKdNr()), "Rechnung an"), email_receipt) End If @@ -354,8 +387,8 @@ Public Class frmFaktSammelRgDrucken MsgBox("Fehler beim Öffnen des Mail-Programmes.") ' PDF wird geöffnet!") ' Process.Start(pdf) End Try - End If - Case 3 'PDF + öffnen + End If + Case 3 'PDF + öffnen Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("VERAG_Sammelrechnung.pdf", ".pdf", False, False) If FormularManagerNEU.MergePdfFiles(listPDFs, pathPDF) Then Process.Start(pathPDF) diff --git a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb index 8876eb74..90124bfc 100644 --- a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb +++ b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb @@ -406,7 +406,7 @@ Partial Public Class rptSammelRechnungAnlagenDruck 'ReportHeader1 ' Me.ReportHeader1.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.lblRgNr, Me.lblRgNrUeberschrift, Me.Picture1, Me.picVERAG, Me.lblKundenNrUeberschrift, Me.lblUeberschriftRG_GS, Me.lblKundenNr, Me.Line3, Me.lblFirmaOrt, Me.lblFirmaStrasse, Me.lblFirmaTel, Me.lblFirmaFax, Me.lblFirmaEmail, Me.lblFirmaWeb, Me.lblRgDatumUeberschrift, Me.lblRgDatum, Me.lblSachbearbeiterUeberschrift, Me.lblSachbearbeiter, Me.lblFirmenbuchUeberschrift, Me.lblFirmenbuch, Me.lblUIDUeberschrift, Me.lblUID, Me.lblEORIUeberschrift, Me.lblEORI, Me.lblRechnung_UID_Ueberschrift, Me.lblRechnung_UID, Me.lblRechnung_Steuernummer_Ueberschrift, Me.lblRechnung_Steuernummer, Me.lblFirma, Me.lblRechnungAn, Me.Line13}) - Me.ReportHeader1.Height = 4.168913! + Me.ReportHeader1.Height = 3.127246! Me.ReportHeader1.Name = "ReportHeader1" ' 'lblRgNr @@ -573,7 +573,7 @@ Partial Public Class rptSammelRechnungAnlagenDruck 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.868504! + Me.lblFirmaWeb.Top = 0.9078741! Me.lblFirmaWeb.Width = 1.436614! ' 'lblRgDatumUeberschrift @@ -1039,7 +1039,7 @@ Partial Public Class rptSammelRechnungAnlagenDruck 'GroupHeader4 ' Me.GroupHeader4.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.lblLeistungsdatumUeberschrift, Me.lblSteuerpflichtigUeberschrift, Me.lblPosNrUeberschrift, Me.lblSendungUeberschrift, Me.lblSteuerfreiUeberschrift, Me.Line4, Me.Line12, Me.Line16, Me.Line15, Me.Line17, Me.lblDurchlaufposten, Me.lblSteuerplichtUeberschriftMDM}) - Me.GroupHeader4.Height = 0.2673933! + Me.GroupHeader4.Height = 0.472441! Me.GroupHeader4.KeepTogether = True Me.GroupHeader4.Name = "GroupHeader4" ' @@ -1109,12 +1109,12 @@ Partial Public Class rptSammelRechnungAnlagenDruck Me.Line4.Left = 0.005118111! Me.Line4.LineWeight = 1.0! Me.Line4.Name = "Line4" - Me.Line4.Top = 0.1511811! + Me.Line4.Top = 0.2362205! Me.Line4.Width = 7.475194! Me.Line4.X1 = 0.005118111! Me.Line4.X2 = 7.480312! - Me.Line4.Y1 = 0.1511811! - Me.Line4.Y2 = 0.1511811! + Me.Line4.Y1 = 0.2362205! + Me.Line4.Y2 = 0.2362205! ' 'Line12 ' diff --git a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.vb b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.vb index cb39628e..8e02e725 100644 --- a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.vb +++ b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.vb @@ -21,5 +21,4 @@ Public Class rptSammelRechnungAnlagenDruck End If End Sub - End Class diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index f4340317..8c74ac97 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/seriendruck/usrCntlFakturierung.Designer.vb b/SDL/seriendruck/usrCntlFakturierung.Designer.vb index 89b7765f..b1918ebd 100644 --- a/SDL/seriendruck/usrCntlFakturierung.Designer.vb +++ b/SDL/seriendruck/usrCntlFakturierung.Designer.vb @@ -45,6 +45,12 @@ Partial Class usrcntlFakturierung Me.Button18 = New System.Windows.Forms.Button() Me.Label44 = New System.Windows.Forms.Label() Me.GBSammelrechnung = New System.Windows.Forms.GroupBox() + Me.btnAbfdruck = New System.Windows.Forms.Button() + Me.btnREJdruck = New System.Windows.Forms.Button() + Me.PictureBox8 = New System.Windows.Forms.PictureBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.PictureBox7 = New System.Windows.Forms.PictureBox() + Me.Label1 = New System.Windows.Forms.Label() Me.Button3 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.cbxMautanh = New System.Windows.Forms.CheckBox() @@ -79,22 +85,18 @@ Partial Class usrcntlFakturierung Me.Label63 = New System.Windows.Forms.Label() Me.Label45 = New System.Windows.Forms.Label() Me.Button14 = New System.Windows.Forms.Button() - Me.PictureBox7 = New System.Windows.Forms.PictureBox() - Me.Label1 = New System.Windows.Forms.Label() - Me.PictureBox8 = New System.Windows.Forms.PictureBox() - Me.Label2 = New System.Windows.Forms.Label() Me.GroupBox1.SuspendLayout() Me.GBMautberichte.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() Me.GBSammelrechnung.SuspendLayout() + CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'GroupBox1 @@ -312,6 +314,8 @@ Partial Class usrcntlFakturierung ' 'GBSammelrechnung ' + Me.GBSammelrechnung.Controls.Add(Me.btnAbfdruck) + Me.GBSammelrechnung.Controls.Add(Me.btnREJdruck) Me.GBSammelrechnung.Controls.Add(Me.PictureBox8) Me.GBSammelrechnung.Controls.Add(Me.Label2) Me.GBSammelrechnung.Controls.Add(Me.PictureBox7) @@ -357,11 +361,71 @@ Partial Class usrcntlFakturierung Me.GBSammelrechnung.TabIndex = 14 Me.GBSammelrechnung.TabStop = False ' + 'btnAbfdruck + ' + Me.btnAbfdruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnAbfdruck.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.btnAbfdruck.Location = New System.Drawing.Point(145, 346) + Me.btnAbfdruck.Name = "btnAbfdruck" + Me.btnAbfdruck.Size = New System.Drawing.Size(106, 32) + Me.btnAbfdruck.TabIndex = 115 + Me.btnAbfdruck.Text = "ABf-Verbot öffnen" + Me.btnAbfdruck.UseVisualStyleBackColor = True + ' + 'btnREJdruck + ' + Me.btnREJdruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnREJdruck.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.btnREJdruck.Location = New System.Drawing.Point(10, 346) + Me.btnREJdruck.Name = "btnREJdruck" + Me.btnREJdruck.Size = New System.Drawing.Size(106, 32) + Me.btnREJdruck.TabIndex = 114 + Me.btnREJdruck.Text = "RE Journal öffnen" + Me.btnREJdruck.UseVisualStyleBackColor = True + ' + 'PictureBox8 + ' + Me.PictureBox8.BackgroundImage = Global.SDL.My.Resources.Resources.ok + Me.PictureBox8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox8.Location = New System.Drawing.Point(148, 212) + Me.PictureBox8.Name = "PictureBox8" + Me.PictureBox8.Size = New System.Drawing.Size(14, 14) + Me.PictureBox8.TabIndex = 113 + Me.PictureBox8.TabStop = False + Me.PictureBox8.Visible = False + ' + 'Label2 + ' + Me.Label2.Location = New System.Drawing.Point(168, 212) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(224, 17) + Me.Label2.TabIndex = 112 + Me.Label2.Text = "2. PDFs erzeugt" + ' + 'PictureBox7 + ' + Me.PictureBox7.BackgroundImage = Global.SDL.My.Resources.Resources.ok + Me.PictureBox7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox7.Location = New System.Drawing.Point(148, 195) + Me.PictureBox7.Name = "PictureBox7" + Me.PictureBox7.Size = New System.Drawing.Size(14, 14) + Me.PictureBox7.TabIndex = 111 + Me.PictureBox7.TabStop = False + Me.PictureBox7.Visible = False + ' + 'Label1 + ' + Me.Label1.Location = New System.Drawing.Point(168, 195) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(224, 17) + Me.Label1.TabIndex = 110 + Me.Label1.Text = "1. Rechnungsnummern gesetzt" + ' 'Button3 ' Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button3.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button3.Location = New System.Drawing.Point(123, 346) + Me.Button3.Location = New System.Drawing.Point(529, 346) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(121, 32) Me.Button3.TabIndex = 109 @@ -373,7 +437,7 @@ Partial Class usrcntlFakturierung ' Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button2.Location = New System.Drawing.Point(4, 346) + Me.Button2.Location = New System.Drawing.Point(410, 346) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(106, 32) Me.Button2.TabIndex = 108 @@ -718,44 +782,6 @@ Partial Class usrcntlFakturierung Me.Button14.Text = "Rechnungspos. berechnen" Me.Button14.UseVisualStyleBackColor = True ' - 'PictureBox7 - ' - Me.PictureBox7.BackgroundImage = Global.SDL.My.Resources.Resources.ok - Me.PictureBox7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox7.Location = New System.Drawing.Point(148, 195) - Me.PictureBox7.Name = "PictureBox7" - Me.PictureBox7.Size = New System.Drawing.Size(14, 14) - Me.PictureBox7.TabIndex = 111 - Me.PictureBox7.TabStop = False - Me.PictureBox7.Visible = False - ' - 'Label1 - ' - Me.Label1.Location = New System.Drawing.Point(168, 195) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(224, 17) - Me.Label1.TabIndex = 110 - Me.Label1.Text = "1. Rechnungsnummern gesetzt" - ' - 'PictureBox8 - ' - Me.PictureBox8.BackgroundImage = Global.SDL.My.Resources.Resources.ok - Me.PictureBox8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox8.Location = New System.Drawing.Point(148, 212) - Me.PictureBox8.Name = "PictureBox8" - Me.PictureBox8.Size = New System.Drawing.Size(14, 14) - Me.PictureBox8.TabIndex = 113 - Me.PictureBox8.TabStop = False - Me.PictureBox8.Visible = False - ' - 'Label2 - ' - Me.Label2.Location = New System.Drawing.Point(168, 212) - Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(224, 17) - Me.Label2.TabIndex = 112 - Me.Label2.Text = "2. PDFs erzeugt" - ' 'usrcntlFakturierung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -775,14 +801,14 @@ Partial Class usrcntlFakturierung CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).EndInit() Me.GBSammelrechnung.ResumeLayout(False) Me.GBSammelrechnung.PerformLayout() + CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.PictureBox7, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -846,4 +872,6 @@ Partial Class usrcntlFakturierung Friend WithEvents Label1 As Label Friend WithEvents PictureBox8 As PictureBox Friend WithEvents Label2 As Label + Friend WithEvents btnREJdruck As Button + Friend WithEvents btnAbfdruck As Button End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 457a0bce..e38179ba 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -61,7 +61,8 @@ Public Class usrcntlFakturierung btnFakturierung.Enabled = True btnRechnugnsdaten.Enabled = True - + btnAbfdruck.Enabled = True + btnREJdruck.Enabled = True End If @@ -1055,96 +1056,15 @@ Public Class usrcntlFakturierung End If + If cbxRechnungsjournaldrucken.Checked Then REJournalExcel(Sachbearbeiter, rechnungsdatum, -1) - - If cbxRechnungsjournaldrucken.Checked Then - Dim dtRechnungsjournal As DataTable = (New SQL).loadDgvBySql("SELECT - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsLandKz, - Rechnungsausgang.RechnungsNr, - Rechnungsausgang.RechnungsDatum, - MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale, - MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr, - MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1], - MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum, - SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag, - SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag, - MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %], - Rechnungsausgang.Status, - Rechnungsausgang.DruckDatumZeit, - Rechnungsausgang.Sachbearbeiter - FROM - Rechnungsausgang - INNER JOIN - Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr - INNER JOIN - RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID - WHERE - [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null - GROUP BY - Rechnungsausgang.Buchungsjahr, - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsLandKz, - Rechnungsausgang.RechnungsNr, - Rechnungsausgang.RechnungsDatum, - Rechnungsausgang.Status, - Rechnungsausgang.DruckDatumZeit, - Rechnungsausgang.Sachbearbeiter - ORDER BY - Rechnungsausgang.Buchungsjahr, - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsLandKz, - Rechnungsausgang.RechnungsNr", "FMZOLL") - - cProgramFunctions.genExcelFromDT_NEW(dtRechnungsjournal, {"J1:J" & (dtRechnungsjournal.Rows.Count + 1), "K1:K" & (dtRechnungsjournal.Rows.Count + 1), "L1:L" & (dtRechnungsjournal.Rows.Count + 1)},, "RECHNUNGSJOURNAL VOM" & rechnungsdatum.ToShortDateString,,, True) - End If - - If cbxAbfVerbotdrucken.Checked Then - - Dim dtEbfertigungsverbot As DataTable = (New SQL).loadDgvBySql("SELECT - Rechnungsausgang.Buchungsjahr, - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsNr, - Rechnungsausgang.RechnungsDatum, - MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale, - MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr, - MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1], - MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum, - SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag, - SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag, - MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %], - Rechnungsausgang.Status, - Rechnungsausgang.DruckDatumZeit, - Rechnungsausgang.Sachbearbeiter - FROM - Rechnungsausgang - INNER JOIN - Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr - INNER JOIN - Kunden ON Rechnungsausgang.RechnungsKundenNr = Kunden.KundenNr - INNER JOIN - RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID - WHERE - Kunden.Abfertigungsverbot = 1 AND [Status] = 2 AND Rechnungsausgang.[Sammelrechnung] = 6 AND UPPER(Rechnungsausgang.[Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null - GROUP BY - Rechnungsausgang.Buchungsjahr, - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsNr, - Rechnungsausgang.RechnungsDatum, - Rechnungsausgang.Status, - Rechnungsausgang.DruckDatumZeit, - Rechnungsausgang.Sachbearbeiter - ORDER BY - Rechnungsausgang.Buchungsjahr, - Rechnungsausgang.Währungscode, - Rechnungsausgang.RechnungsNr;", "FMZOLL") - - cProgramFunctions.genExcelFromDT_NEW(dtEbfertigungsverbot, {"I1:I" & (dtEbfertigungsverbot.Rows.Count + 1), "J1:J" & (dtEbfertigungsverbot.Rows.Count + 1), "K1:K" & (dtEbfertigungsverbot.Rows.Count + 1)},, "RECHNUNGEN VOM " & rechnungsdatum.ToShortDateString & " MIT ABFERTIGUNGSVERBOT",,, True) - End If + If cbxAbfVerbotdrucken.Checked Then AbfVerbotExcel(Sachbearbeiter, rechnungsdatum, -1) - Else + + + Else showPic(false, PictureBox8) MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " vorhanden!") @@ -1663,7 +1583,7 @@ Public Class usrcntlFakturierung End Sub - Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click, Button3.Click + Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click, Button3.Click, btnREJdruck.Click, btnAbfdruck.Click Dim Sachbearbeiter = cboSachbearbeiter._value Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text) @@ -1682,7 +1602,7 @@ Public Class usrcntlFakturierung If rbkunde.Checked Then If KdSearchBox3.KdNr > 0 Then - kdnr = KdSearchBox3.KdNr + kdNr = KdSearchBox3.KdNr Else MsgBox("Kunde auswählen!") Exit Sub @@ -1703,6 +1623,15 @@ Public Class usrcntlFakturierung 'Berechnet Banküberweisung/Bankspesen. showPic(Bankspesen(Sachbearbeiter, rechnungsdatum, kdNr), PictureBox5) + + Case "btnREJdruck" + + REJournalExcel(Sachbearbeiter, rechnungsdatum, kdNr) + + Case "btnAbfdruck" + + AbfVerbotExcel(Sachbearbeiter, rechnungsdatum, kdNr) + End Select @@ -1710,4 +1639,109 @@ Public Class usrcntlFakturierung End Sub + + + Private Sub AbfVerbotExcel(Sachbearbeiter, rechnungsdatum, kdnr) + + Dim dtEbfertigungsverbot As DataTable = (New SQL).loadDgvBySql("SELECT + Rechnungsausgang.Buchungsjahr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsNr, + Rechnungsausgang.RechnungsDatum, + MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale, + MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr, + MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1], + MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum, + SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag, + SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag, + MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %], + Rechnungsausgang.Status, + Rechnungsausgang.DruckDatumZeit, + Rechnungsausgang.Sachbearbeiter + FROM + Rechnungsausgang + INNER JOIN + Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr + INNER JOIN + Kunden ON Rechnungsausgang.RechnungsKundenNr = Kunden.KundenNr + INNER JOIN + RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID + WHERE + Kunden.Abfertigungsverbot = 1 AND [Status] = 2 AND Rechnungsausgang.[Sammelrechnung] = 6 AND UPPER(Rechnungsausgang.[Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND Rechnungsausgang.RechnungsKundenNr = " & kdnr, "") & " + GROUP BY + Rechnungsausgang.Buchungsjahr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsNr, + Rechnungsausgang.RechnungsDatum, + Rechnungsausgang.Status, + Rechnungsausgang.DruckDatumZeit, + Rechnungsausgang.Sachbearbeiter + ORDER BY + Rechnungsausgang.Buchungsjahr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsNr;", "FMZOLL") + + If dtEbfertigungsverbot.Rows.Count > 0 Then + + + cProgramFunctions.genExcelFromDT_NEW(dtEbfertigungsverbot, {"I1:I" & (dtEbfertigungsverbot.Rows.Count + 1), "J1:J" & (dtEbfertigungsverbot.Rows.Count + 1), "K1:K" & (dtEbfertigungsverbot.Rows.Count + 1)},, "RECHNUNGEN VOM " & rechnungsdatum.ToShortDateString & " MIT ABFERTIGUNGSVERBOT",,, True) + + Else + MsgBox("Keine Daten für Abfertigungsverbot") + + End If + + End Sub + + Private Sub REJournalExcel(Sachbearbeiter, rechnungsdatum, kdnr) + + Dim dtRechnungsjournal As DataTable = (New SQL).loadDgvBySql("SELECT + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsLandKz, + Rechnungsausgang.RechnungsNr, + Rechnungsausgang.RechnungsDatum, + MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale, + MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr, + MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1], + MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum, + SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag, + SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag, + MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %], + Rechnungsausgang.Status, + Rechnungsausgang.DruckDatumZeit, + Rechnungsausgang.Sachbearbeiter + FROM + Rechnungsausgang + INNER JOIN + Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr + INNER JOIN + RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID + WHERE + [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND Rechnungsausgang.RechnungsKundenNr = " & kdnr, "") & " + GROUP BY + Rechnungsausgang.Buchungsjahr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsLandKz, + Rechnungsausgang.RechnungsNr, + Rechnungsausgang.RechnungsDatum, + Rechnungsausgang.Status, + Rechnungsausgang.DruckDatumZeit, + Rechnungsausgang.Sachbearbeiter + ORDER BY + Rechnungsausgang.Buchungsjahr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.RechnungsLandKz, + Rechnungsausgang.RechnungsNr", "FMZOLL") + + If dtRechnungsjournal.Rows.Count > 0 Then + + cProgramFunctions.genExcelFromDT_NEW(dtRechnungsjournal, {"J1:J" & (dtRechnungsjournal.Rows.Count + 1), "K1:K" & (dtRechnungsjournal.Rows.Count + 1), "L1:L" & (dtRechnungsjournal.Rows.Count + 1)},, "RECHNUNGSJOURNAL VOM" & rechnungsdatum.ToShortDateString,,, True) + + Else + MsgBox("Keine Daten für Rechnungsjournal") + + End If + + + End Sub End Class