From f117c09420faef01086c724860a1d48f329b7fda Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 28 Jan 2025 13:46:33 +0100 Subject: [PATCH 1/6] Fakt. --- .../usrCntlFakturierung.Designer.vb | 74 +++++++++---------- SDL/seriendruck/usrCntlFakturierung.vb | 62 +++++++++++++--- 2 files changed, 87 insertions(+), 49 deletions(-) diff --git a/SDL/seriendruck/usrCntlFakturierung.Designer.vb b/SDL/seriendruck/usrCntlFakturierung.Designer.vb index 00c12ce1..4c27ce77 100644 --- a/SDL/seriendruck/usrCntlFakturierung.Designer.vb +++ b/SDL/seriendruck/usrCntlFakturierung.Designer.vb @@ -45,6 +45,7 @@ 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.Button1 = New System.Windows.Forms.Button() Me.PictureBox6 = New System.Windows.Forms.PictureBox() Me.PictureBox5 = New System.Windows.Forms.PictureBox() Me.PictureBox4 = New System.Windows.Forms.PictureBox() @@ -75,7 +76,6 @@ 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.Button1 = New System.Windows.Forms.Button() Me.GroupBox1.SuspendLayout() Me.GBMautberichte.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -341,11 +341,22 @@ Partial Class usrcntlFakturierung Me.GBSammelrechnung.TabIndex = 14 Me.GBSammelrechnung.TabStop = False ' + 'Button1 + ' + Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Button1.Location = New System.Drawing.Point(10, 12) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(121, 49) + Me.Button1.TabIndex = 106 + Me.Button1.Text = "Mautanh. prüfen" + Me.Button1.UseVisualStyleBackColor = True + ' 'PictureBox6 ' Me.PictureBox6.BackgroundImage = CType(resources.GetObject("PictureBox6.BackgroundImage"), System.Drawing.Image) Me.PictureBox6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox6.Location = New System.Drawing.Point(232, 151) + Me.PictureBox6.Location = New System.Drawing.Point(151, 172) Me.PictureBox6.Name = "PictureBox6" Me.PictureBox6.Size = New System.Drawing.Size(14, 14) Me.PictureBox6.TabIndex = 105 @@ -356,7 +367,7 @@ Partial Class usrcntlFakturierung ' Me.PictureBox5.BackgroundImage = CType(resources.GetObject("PictureBox5.BackgroundImage"), System.Drawing.Image) Me.PictureBox5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox5.Location = New System.Drawing.Point(232, 134) + Me.PictureBox5.Location = New System.Drawing.Point(151, 155) Me.PictureBox5.Name = "PictureBox5" Me.PictureBox5.Size = New System.Drawing.Size(14, 14) Me.PictureBox5.TabIndex = 104 @@ -367,7 +378,7 @@ Partial Class usrcntlFakturierung ' Me.PictureBox4.BackgroundImage = CType(resources.GetObject("PictureBox4.BackgroundImage"), System.Drawing.Image) Me.PictureBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox4.Location = New System.Drawing.Point(232, 117) + Me.PictureBox4.Location = New System.Drawing.Point(151, 138) Me.PictureBox4.Name = "PictureBox4" Me.PictureBox4.Size = New System.Drawing.Size(14, 14) Me.PictureBox4.TabIndex = 103 @@ -378,7 +389,7 @@ Partial Class usrcntlFakturierung ' Me.PictureBox3.BackgroundImage = CType(resources.GetObject("PictureBox3.BackgroundImage"), System.Drawing.Image) Me.PictureBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox3.Location = New System.Drawing.Point(232, 100) + Me.PictureBox3.Location = New System.Drawing.Point(151, 121) Me.PictureBox3.Name = "PictureBox3" Me.PictureBox3.Size = New System.Drawing.Size(14, 14) Me.PictureBox3.TabIndex = 102 @@ -389,7 +400,7 @@ Partial Class usrcntlFakturierung ' Me.PictureBox2.BackgroundImage = CType(resources.GetObject("PictureBox2.BackgroundImage"), System.Drawing.Image) Me.PictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox2.Location = New System.Drawing.Point(232, 83) + Me.PictureBox2.Location = New System.Drawing.Point(151, 104) Me.PictureBox2.Name = "PictureBox2" Me.PictureBox2.Size = New System.Drawing.Size(14, 14) Me.PictureBox2.TabIndex = 101 @@ -400,7 +411,7 @@ Partial Class usrcntlFakturierung ' Me.PictureBox1.BackgroundImage = Global.SDL.My.Resources.Resources.ok Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.PictureBox1.Location = New System.Drawing.Point(232, 69) + Me.PictureBox1.Location = New System.Drawing.Point(151, 90) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(14, 14) Me.PictureBox1.TabIndex = 95 @@ -409,7 +420,7 @@ Partial Class usrcntlFakturierung ' 'Label4 ' - Me.Label4.Location = New System.Drawing.Point(252, 134) + Me.Label4.Location = New System.Drawing.Point(171, 155) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(440, 17) Me.Label4.TabIndex = 100 @@ -420,7 +431,7 @@ Partial Class usrcntlFakturierung Me.cbxVorschau.AutoSize = True Me.cbxVorschau.Checked = True Me.cbxVorschau.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxVorschau.Location = New System.Drawing.Point(329, 256) + Me.cbxVorschau.Location = New System.Drawing.Point(329, 262) Me.cbxVorschau.Name = "cbxVorschau" Me.cbxVorschau.Size = New System.Drawing.Size(109, 17) Me.cbxVorschau.TabIndex = 48 @@ -432,7 +443,7 @@ Partial Class usrcntlFakturierung Me.cbxAbfVerbotdrucken.AutoSize = True Me.cbxAbfVerbotdrucken.Checked = True Me.cbxAbfVerbotdrucken.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxAbfVerbotdrucken.Location = New System.Drawing.Point(166, 256) + Me.cbxAbfVerbotdrucken.Location = New System.Drawing.Point(166, 262) Me.cbxAbfVerbotdrucken.Name = "cbxAbfVerbotdrucken" Me.cbxAbfVerbotdrucken.Size = New System.Drawing.Size(157, 17) Me.cbxAbfVerbotdrucken.TabIndex = 47 @@ -444,7 +455,7 @@ Partial Class usrcntlFakturierung Me.cbxRechnungsjournaldrucken.AutoSize = True Me.cbxRechnungsjournaldrucken.Checked = True Me.cbxRechnungsjournaldrucken.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxRechnungsjournaldrucken.Location = New System.Drawing.Point(6, 256) + Me.cbxRechnungsjournaldrucken.Location = New System.Drawing.Point(6, 262) Me.cbxRechnungsjournaldrucken.Name = "cbxRechnungsjournaldrucken" Me.cbxRechnungsjournaldrucken.Size = New System.Drawing.Size(154, 17) Me.cbxRechnungsjournaldrucken.TabIndex = 46 @@ -464,7 +475,7 @@ Partial Class usrcntlFakturierung ' 'Label72 ' - Me.Label72.Location = New System.Drawing.Point(96, 280) + Me.Label72.Location = New System.Drawing.Point(96, 286) Me.Label72.Name = "Label72" Me.Label72.Size = New System.Drawing.Size(589, 19) Me.Label72.TabIndex = 42 @@ -490,7 +501,7 @@ Partial Class usrcntlFakturierung Me.KdSearchBox3.KdNr = "-1" Me.KdSearchBox3.kdNrField = Nothing Me.KdSearchBox3.KdNrNullInt = Nothing - Me.KdSearchBox3.Location = New System.Drawing.Point(87, 302) + Me.KdSearchBox3.Location = New System.Drawing.Point(87, 308) Me.KdSearchBox3.Name = "KdSearchBox3" Me.KdSearchBox3.nurAktive = True Me.KdSearchBox3.searchActive = True @@ -502,7 +513,7 @@ Partial Class usrcntlFakturierung 'rbkunde ' Me.rbkunde.AutoSize = True - Me.rbkunde.Location = New System.Drawing.Point(9, 303) + Me.rbkunde.Location = New System.Drawing.Point(9, 309) Me.rbkunde.Name = "rbkunde" Me.rbkunde.Size = New System.Drawing.Size(59, 17) Me.rbkunde.TabIndex = 40 @@ -513,7 +524,7 @@ Partial Class usrcntlFakturierung ' Me.rbAlleKunden.AutoSize = True Me.rbAlleKunden.Checked = True - Me.rbAlleKunden.Location = New System.Drawing.Point(9, 280) + Me.rbAlleKunden.Location = New System.Drawing.Point(9, 286) Me.rbAlleKunden.Name = "rbAlleKunden" Me.rbAlleKunden.Size = New System.Drawing.Size(81, 17) Me.rbAlleKunden.TabIndex = 39 @@ -525,7 +536,7 @@ Partial Class usrcntlFakturierung ' Me.txtPloseAnh_Einarbeitung.BackColor = System.Drawing.Color.White Me.txtPloseAnh_Einarbeitung.BorderStyle = System.Windows.Forms.BorderStyle.None - Me.txtPloseAnh_Einarbeitung.Location = New System.Drawing.Point(209, 212) + Me.txtPloseAnh_Einarbeitung.Location = New System.Drawing.Point(209, 218) Me.txtPloseAnh_Einarbeitung.Name = "txtPloseAnh_Einarbeitung" Me.txtPloseAnh_Einarbeitung.Size = New System.Drawing.Size(106, 13) Me.txtPloseAnh_Einarbeitung.TabIndex = 38 @@ -533,7 +544,7 @@ Partial Class usrcntlFakturierung 'Label71 ' Me.Label71.AutoSize = True - Me.Label71.Location = New System.Drawing.Point(144, 212) + Me.Label71.Location = New System.Drawing.Point(144, 218) Me.Label71.Name = "Label71" Me.Label71.Size = New System.Drawing.Size(56, 13) Me.Label71.TabIndex = 35 @@ -541,14 +552,14 @@ Partial Class usrcntlFakturierung ' 'pbPloseAnh_Proz ' - Me.pbPloseAnh_Proz.Location = New System.Drawing.Point(147, 183) + Me.pbPloseAnh_Proz.Location = New System.Drawing.Point(147, 189) Me.pbPloseAnh_Proz.Name = "pbPloseAnh_Proz" Me.pbPloseAnh_Proz.Size = New System.Drawing.Size(283, 23) Me.pbPloseAnh_Proz.TabIndex = 36 ' 'lblPloseAnh_Proz ' - Me.lblPloseAnh_Proz.Location = New System.Drawing.Point(361, 212) + Me.lblPloseAnh_Proz.Location = New System.Drawing.Point(361, 218) Me.lblPloseAnh_Proz.Name = "lblPloseAnh_Proz" Me.lblPloseAnh_Proz.Size = New System.Drawing.Size(69, 13) Me.lblPloseAnh_Proz.TabIndex = 37 @@ -559,7 +570,7 @@ Partial Class usrcntlFakturierung ' Me.Button19.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button19.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button19.Location = New System.Drawing.Point(10, 183) + Me.Button19.Location = New System.Drawing.Point(10, 163) Me.Button19.Name = "Button19" Me.Button19.Size = New System.Drawing.Size(121, 49) Me.Button19.TabIndex = 32 @@ -568,7 +579,7 @@ Partial Class usrcntlFakturierung ' 'Label70 ' - Me.Label70.Location = New System.Drawing.Point(252, 151) + Me.Label70.Location = New System.Drawing.Point(171, 172) Me.Label70.Name = "Label70" Me.Label70.Size = New System.Drawing.Size(429, 14) Me.Label70.TabIndex = 30 @@ -613,7 +624,7 @@ Partial Class usrcntlFakturierung ' 'Label65 ' - Me.Label65.Location = New System.Drawing.Point(252, 117) + Me.Label65.Location = New System.Drawing.Point(171, 138) Me.Label65.Name = "Label65" Me.Label65.Size = New System.Drawing.Size(440, 17) Me.Label65.TabIndex = 8 @@ -621,7 +632,7 @@ Partial Class usrcntlFakturierung ' 'Label64 ' - Me.Label64.Location = New System.Drawing.Point(252, 100) + Me.Label64.Location = New System.Drawing.Point(171, 121) Me.Label64.Name = "Label64" Me.Label64.Size = New System.Drawing.Size(440, 17) Me.Label64.TabIndex = 7 @@ -629,7 +640,7 @@ Partial Class usrcntlFakturierung ' 'Label63 ' - Me.Label63.Location = New System.Drawing.Point(252, 83) + Me.Label63.Location = New System.Drawing.Point(171, 104) Me.Label63.Name = "Label63" Me.Label63.Size = New System.Drawing.Size(440, 17) Me.Label63.TabIndex = 6 @@ -638,7 +649,7 @@ Partial Class usrcntlFakturierung ' 'Label45 ' - Me.Label45.Location = New System.Drawing.Point(252, 66) + Me.Label45.Location = New System.Drawing.Point(171, 87) Me.Label45.Name = "Label45" Me.Label45.Size = New System.Drawing.Size(224, 17) Me.Label45.TabIndex = 5 @@ -648,24 +659,13 @@ Partial Class usrcntlFakturierung ' Me.Button14.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button14.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button14.Location = New System.Drawing.Point(10, 85) + Me.Button14.Location = New System.Drawing.Point(10, 90) Me.Button14.Name = "Button14" Me.Button14.Size = New System.Drawing.Size(121, 49) Me.Button14.TabIndex = 4 Me.Button14.Text = "Rechnungspos. berechnen" Me.Button14.UseVisualStyleBackColor = True ' - 'Button1 - ' - Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button1.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button1.Location = New System.Drawing.Point(10, 12) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(121, 49) - Me.Button1.TabIndex = 106 - Me.Button1.Text = "Mautanh. prüfen" - Me.Button1.UseVisualStyleBackColor = True - ' 'usrcntlFakturierung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 29671e46..c240c7ca 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -221,7 +221,7 @@ Public Class usrcntlFakturierung '410 Set qdf = dbs.CreateQueryDef("") - ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL") + ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and [Status] = 0 and UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL") showPic(ok, PictureBox1) 'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub @@ -959,10 +959,10 @@ Public Class usrcntlFakturierung - Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status] - FROM Rechnungsausgang + Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz + FROM Rechnungsausgang INNER JOIN Adressen on AdressenNr = RechnungsKundenNr 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 RechnungsKundenNr = " & kdnr, "") & " - group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status] + group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz ORDER BY [Firma_ID], [Status], RechnungsNr" Dim dtSelectedSammelrechnungen As DataTable = (New SQL).loadDgvBySql(SQLStringGruppierteSammelrechnung, "FMZOLL") @@ -977,21 +977,26 @@ Public Class usrcntlFakturierung For Each rowRE In dtSelectedSammelrechnungen.Rows - Dim path = "" + Dim path = "" + If nurNICHTEUKunden Then + Dim isEU As Boolean = True + isEU = (New SQL).getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & rowRE("Adressen.LandKz") & "'", "FMZOLL",) + If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ) + + Else cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ) - If path <> "" Then - If nurNICHTEUKunden Then - 'TODO-> nur nicht EU-Kunden zu Path - listPDFs.Add(path) - Else - listPDFs.Add(path) - End If + If path <> "" Then + listPDFs.Add(path) + + + End If End If + If True Then 'cnt Mod 10 = 0 Then txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100 @@ -1527,4 +1532,37 @@ Public Class usrcntlFakturierung MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF) End Sub + + Private Sub dtRechnungsdatum_ValueChanged(sender As Object, e As EventArgs) Handles dtRechnungsdatum.ValueChanged + Dim sammelrechnung0vorhanden As Boolean = True + sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text)) + + Button14.Enabled = sammelrechnung0vorhanden + Button19.Enabled = sammelrechnung0vorhanden + Button20.Enabled = sammelrechnung0vorhanden + + + End Sub + + + Private Function checkIfStatus0Sammelrechnugnenvorhanden(Sachbearbeiter As String, rechnungsdatum As Date) As Boolean + + + Dim rechnungenMitStatus0 As Integer = CInt((New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) From Rechnungsausgang + Where [Status] = 0 And [Sammelrechnung] = 6 And UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL",, 0)) + + Return rechnungenMitStatus0 > 0 + + End Function + + Private Sub cboSachbearbeiter_RightToLeftChanged(sender As Object, e As EventArgs) Handles cboSachbearbeiter.RightToLeftChanged + Dim sammelrechnung0vorhanden As Boolean = True + sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text)) + + Button19.Enabled = sammelrechnung0vorhanden + Button14.Enabled = sammelrechnung0vorhanden + Button20.Enabled = sammelrechnung0vorhanden + + + End Sub End Class From 34198d99adc3a222ede13bdb09f39244e475552c Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 28 Jan 2025 18:27:33 +0100 Subject: [PATCH 2/6] Fakt MDM --- SDL/Fakturierung/cFakturierung.vb | 27 +++++++++- SDL/My Project/AssemblyInfo.vb | 4 +- .../usrCntlFakturierung.Designer.vb | 15 ++++++ SDL/seriendruck/usrCntlFakturierung.vb | 52 +++++++++++-------- 4 files changed, 72 insertions(+), 26 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index b939cd74..e3027531 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -2978,7 +2978,7 @@ Public Class cFakturierung End Function - Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False) As Boolean + Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsmautanhangAsPDF As Boolean = False) As Boolean 'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit Dim dt As DataTable @@ -3007,6 +3007,31 @@ Public Class cFakturierung doSAMMELRechnungsDruck_Abschnitt = doSAMMELRechnungDruck_Rechnungsdruck(dt, RechnungsNr, DruckdatumUhrzeit, 3, RechnungsdruckArt, pathPDF_SammelRg, PrinterName, SRDruckWiederholen, VorschauID) 'Sammelrechnung drucken If Sammelrechnungsbericht Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht(RechnungsNr, DruckdatumUhrzeit, RechnungsdruckArt, pathPDF_SammelBericht, PrinterName, VorschauID, dt) Then doSAMMELRechnungsDruck_Abschnitt = False 'Sammelrechnungsbericht drucken If AnlageEinzelRg Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Anlagen(RechnungsNr, DruckdatumUhrzeit, PrinterName, pathPDF_Anlage, RechnungsdruckArt, VorschauID) Then doSAMMELRechnungsDruck_Abschnitt = False 'Anlagen drucken + If RechnungsmautanhangAsPDF Then + + Dim displayView = New DataView(dt, "", "RK_ID", DataViewRowState.CurrentRows) + Dim distinctDT_RK As DataTable = displayView.ToTable(True, "RK_ID") + + For Each r In distinctDT_RK.Rows + Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(r("RK_ID")) + If RG IsNot Nothing Then + RG.LOAD_ANHAENGE() + For Each RG_AH In RG.ANHAENGE + If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then + Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId) + If Not pathPDF_Anlage.Contains(Path) Then + + If Not (pathPDF_Anlage.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird. + pathPDF_Anlage.Add(Path) + + End If + End If + End If + Next + End If + Next + End If + 'SONSTIGE ANLAGEN: If AnlageExcelEvolog Then 'Sammelrechnungsbericht EVOLOG diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index d48c51e1..ed58abde 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 4c27ce77..a3f28fac 100644 --- a/SDL/seriendruck/usrCntlFakturierung.Designer.vb +++ b/SDL/seriendruck/usrCntlFakturierung.Designer.vb @@ -76,6 +76,7 @@ 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.cbxMautanh = New System.Windows.Forms.CheckBox() Me.GroupBox1.SuspendLayout() Me.GBMautberichte.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -303,6 +304,7 @@ Partial Class usrcntlFakturierung ' 'GBSammelrechnung ' + Me.GBSammelrechnung.Controls.Add(Me.cbxMautanh) Me.GBSammelrechnung.Controls.Add(Me.Button1) Me.GBSammelrechnung.Controls.Add(Me.PictureBox6) Me.GBSammelrechnung.Controls.Add(Me.PictureBox5) @@ -666,6 +668,18 @@ Partial Class usrcntlFakturierung Me.Button14.Text = "Rechnungspos. berechnen" Me.Button14.UseVisualStyleBackColor = True ' + 'cbxMautanh + ' + Me.cbxMautanh.AutoSize = True + Me.cbxMautanh.Checked = True + Me.cbxMautanh.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxMautanh.Location = New System.Drawing.Point(450, 262) + Me.cbxMautanh.Name = "cbxMautanh" + Me.cbxMautanh.Size = New System.Drawing.Size(184, 17) + Me.cbxMautanh.TabIndex = 107 + Me.cbxMautanh.Text = "Mautanhänge im PDF hinzufügen" + Me.cbxMautanh.UseVisualStyleBackColor = True + ' 'usrcntlFakturierung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -747,4 +761,5 @@ Partial Class usrcntlFakturierung Friend WithEvents PictureBox3 As PictureBox Friend WithEvents PictureBox2 As PictureBox Friend WithEvents Button1 As Button + Friend WithEvents cbxMautanh As CheckBox End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index c240c7ca..c7cb0d9e 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -961,7 +961,7 @@ Public Class usrcntlFakturierung Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz FROM Rechnungsausgang INNER JOIN Adressen on AdressenNr = RechnungsKundenNr - 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 RechnungsKundenNr = " & kdnr, "") & " + WHERE [Status] = 2 AND [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 RechnungsKundenNr = " & kdnr, "") & " group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz ORDER BY [Firma_ID], [Status], RechnungsNr" @@ -972,28 +972,30 @@ Public Class usrcntlFakturierung If cbxVorschau.Checked Then Dim nurNICHTEUKunden As Boolean = False If rbAlleKunden.Checked Then - If vbYes = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?", vbYesNoCancel) Then nurNICHTEUKunden = True + nurNICHTEUKunden = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?", vbYesNo) End If - For Each rowRE In dtSelectedSammelrechnungen.Rows + Dim dTLANDEU As DataTable = (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) + + For Each rowRE In dtSelectedSammelrechnungen.Rows Dim path = "" If nurNICHTEUKunden Then - Dim isEU As Boolean = True - isEU = (New SQL).getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & rowRE("Adressen.LandKz") & "'", "FMZOLL",) - If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ) + Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = rowRE("LandKZ")).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked) + If path <> "" Then listPDFs.Add(path) Else - cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ) + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ,, cbxMautanh.Checked) + If path <> "" Then listPDFs.Add(path) - If path <> "" Then - - listPDFs.Add(path) - - - End If End If @@ -1005,9 +1007,11 @@ Public Class usrcntlFakturierung 'GroupBox12.Refresh() My.Application.DoEvents() End If - cnt += 1 + cnt += 1 - Next + 'Exit For + + Next If listPDFs.Count > 0 Then @@ -1518,16 +1522,14 @@ Public Class usrcntlFakturierung Dim rechnungenMitGesamtmautanhantCSV As String = (New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) FROM Rechnungsausgang inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID - WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' - and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv') - group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsausgangAnhaenge.Bezeichnung ", "FMZOLL",, 0) + WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv')", "FMZOLL",, 0) Dim rechnungenMitGesamtmautanhantPDF As String = (New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) FROM Rechnungsausgang inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID - WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' - and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf') - group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsausgangAnhaenge.Bezeichnung ", "FMZOLL",, 0) + WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf')", "FMZOLL",, 0) MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF) @@ -1538,7 +1540,7 @@ Public Class usrcntlFakturierung sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text)) Button14.Enabled = sammelrechnung0vorhanden - Button19.Enabled = sammelrechnung0vorhanden + 'Button19.Enabled = sammelrechnung0vorhanden wenn RE bereits Status 2 wird sie nur gedruckt!!!! Button20.Enabled = sammelrechnung0vorhanden @@ -1547,6 +1549,10 @@ Public Class usrcntlFakturierung Private Function checkIfStatus0Sammelrechnugnenvorhanden(Sachbearbeiter As String, rechnungsdatum As Date) As Boolean + If Sachbearbeiter = "" Then Return False + + If rechnungsdatum > Today() Then Return False + Dim rechnungenMitStatus0 As Integer = CInt((New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) From Rechnungsausgang Where [Status] = 0 And [Sammelrechnung] = 6 And UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL",, 0)) @@ -1559,7 +1565,7 @@ Public Class usrcntlFakturierung Dim sammelrechnung0vorhanden As Boolean = True sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text)) - Button19.Enabled = sammelrechnung0vorhanden + 'Button19.Enabled = sammelrechnung0vorhanden wenn RE bereits Status 2 wird sie nur gedruckt!!!! Button14.Enabled = sammelrechnung0vorhanden Button20.Enabled = sammelrechnung0vorhanden From 70134c898a983e6375cba1912ab62cd171fd9029 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 28 Jan 2025 18:27:54 +0100 Subject: [PATCH 3/6] Fakt MDM --- SDL/seriendruck/usrCntlFakturierung.vb | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index c7cb0d9e..10fe0543 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -1017,21 +1017,27 @@ Public Class usrcntlFakturierung Dim pathPDF = listPDFs(0).ToString - If listPDFs.Count > 1 Then - Dim pathPDFMerge = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("MDM_Sammelrechnung.pdf", ".pdf", False, False) - If Not FormularManagerNEU.MergePdfFiles(listPDFs, pathPDFMerge) Then - Exit Sub - MsgBox("Fehler beim Zusammenführen der PDFs.") - End If - + If listPDFs.Count > 1 Then + Dim pathPDFMerge = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("MDM_Sammelrechnung.pdf", ".pdf", False, False) + If Not FormularManagerNEU.MergePdfFiles(listPDFs, pathPDFMerge) Then + Exit Sub + MsgBox("Fehler beim Zusammenführen der PDFs.") + Else + Process.Start(pathPDFMerge) End If + Else + Process.Start(pathPDF) + + End If + pbPloseAnh_Proz.Value = 100 txtPloseAnh_Einarbeitung.Text = dtSelectedSammelrechnungen.Rows.Count & " / " & dtSelectedSammelrechnungen.Rows.Count lblPloseAnh_Proz.Text = "100.00 %" - Process.Start(pathPDF) - Else + + + Else MsgBox("Datei von " & rechnungsdatum.ToShortDateString & " konnte nicht erstellt werden!") End If From 936bcce7d6d463b7944eab2687e98965856f41c5 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 29 Jan 2025 10:25:59 +0100 Subject: [PATCH 4/6] faktAbrechnung, email --- SDL/Fakturierung/frmFaktEmail.vb | 4 ++-- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index cbade4f6..b5f024e0 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -382,7 +382,7 @@ Public Class frmFaktEmail End If lastAktuelle_RgNr = RechnungsNr - listPDFs.Add(path) + If path <> "" Then listPDFs.Add(path) End If If Not RechnungsNrisSet Then 'Abbruch bei fehlender RE-Nr @@ -837,7 +837,7 @@ Public Class frmFaktEmail If MergePDF And ATTACHMENTS.Count > 1 Then Dim extension = ".pdf" - Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Rechnungs_Anhänge_" & RgNr & extension, extension,, False, "Zusammenfassung") + Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(IIf(SammelrechungArt <> 6, "Rechnungs_Anhänge_", "Rechnung_") & RgNr & extension, extension,, False, "Zusammenfassung") Dim myList As New List(Of String) For Each a In ATTACHMENTS : myList.Add(a.Pfad) : Next diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 57111a76..10908c41 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -603,7 +603,7 @@ Public Class usrCntlFaktAbrechnung End Select - cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE Firma_ID NOT IN(3) " & whereFirma & " ORDER BY Firma_ID ", True, "FMZOLL", firstEmpty) + cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE Firma_ID NOT IN(3) " & whereFirma & " ORDER BY Firma_ID ", True, "FMZOLL", firstEmpty) cboFirma.SelectedIndex = 0 @@ -1890,7 +1890,7 @@ Public Class usrCntlFaktAbrechnung initRg_Anhaenhe_Default(RECHNUNG, SPEDBUCH) - If Not cboFirma._value = 19 Then + If cboFirma._value IsNot Nothing AndAlso cboFirma._value <> "" AndAlso Not cboFirma._value = 19 Then If cboSammelrechnung.Items.Count > 7 Then From 07531c554764c9e0c6fbdcca078a91a2cf7156cb Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 29 Jan 2025 12:13:21 +0100 Subject: [PATCH 5/6] MDM_USTVA --- SDL/USTV/frmMDM_USTVAntrag.Designer.vb | 29 ++- SDL/USTV/frmMDM_USTVAntrag.vb | 296 +++++++++++++++++++------ 2 files changed, 247 insertions(+), 78 deletions(-) diff --git a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb index 7de7a32b..59ba1c9e 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb @@ -86,12 +86,13 @@ Partial Class frmMDM_USTVAntrag Me.dgvUSTVPositionen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.pnl = New System.Windows.Forms.Panel() Me.Panel2 = New System.Windows.Forms.Panel() + Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition() Me.Panel4 = New System.Windows.Forms.Panel() Me.btnEintragloeschen = New System.Windows.Forms.Button() Me.btnNeuerEintrag = New System.Windows.Forms.Button() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition() + Me.picPDF = New System.Windows.Forms.PictureBox() Me.Panel3.SuspendLayout() Me.Panel1.SuspendLayout() Me.Panel9.SuspendLayout() @@ -104,12 +105,14 @@ Partial Class frmMDM_USTVAntrag Me.pnl.SuspendLayout() Me.Panel2.SuspendLayout() Me.Panel4.SuspendLayout() + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'Panel3 ' 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.picPDF) Me.Panel3.Controls.Add(Me.btnMail) Me.Panel3.Controls.Add(Me.btnAntrageeinarbeiten) Me.Panel3.Controls.Add(Me.cbxArchivierteEintracheNochmalsEinarbetien) @@ -1033,6 +1036,14 @@ Partial Class frmMDM_USTVAntrag Me.Panel2.Size = New System.Drawing.Size(1300, 269) Me.Panel2.TabIndex = 1 ' + 'UstCntlUSTV_AntragPosition1 + ' + Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill + Me.UstCntlUSTV_AntragPosition1.Location = New System.Drawing.Point(0, 0) + Me.UstCntlUSTV_AntragPosition1.Name = "UstCntlUSTV_AntragPosition1" + Me.UstCntlUSTV_AntragPosition1.Size = New System.Drawing.Size(1298, 267) + Me.UstCntlUSTV_AntragPosition1.TabIndex = 0 + ' 'Panel4 ' Me.Panel4.BackColor = System.Drawing.Color.WhiteSmoke @@ -1083,13 +1094,15 @@ Partial Class frmMDM_USTVAntrag Me.ContextMenuStrip2.Name = "ContextMenuStrip1" Me.ContextMenuStrip2.Size = New System.Drawing.Size(61, 4) ' - 'UstCntlUSTV_AntragPosition1 + 'picPDF ' - Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill - Me.UstCntlUSTV_AntragPosition1.Location = New System.Drawing.Point(0, 0) - Me.UstCntlUSTV_AntragPosition1.Name = "UstCntlUSTV_AntragPosition1" - Me.UstCntlUSTV_AntragPosition1.Size = New System.Drawing.Size(1298, 267) - Me.UstCntlUSTV_AntragPosition1.TabIndex = 0 + Me.picPDF.Image = Global.SDL.My.Resources.Resources.pdf + Me.picPDF.Location = New System.Drawing.Point(972, 29) + Me.picPDF.Name = "picPDF" + Me.picPDF.Size = New System.Drawing.Size(50, 50) + Me.picPDF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize + Me.picPDF.TabIndex = 27 + Me.picPDF.TabStop = False ' 'frmMDM_USTVAntrag ' @@ -1123,6 +1136,7 @@ Partial Class frmMDM_USTVAntrag Me.pnl.ResumeLayout(False) Me.Panel2.ResumeLayout(False) Me.Panel4.ResumeLayout(False) + CType(Me.picPDF, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub @@ -1194,4 +1208,5 @@ Partial Class frmMDM_USTVAntrag Friend WithEvents Label4 As Label Friend WithEvents Label2 As Label Friend WithEvents txtBezugsNr As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents picPDF As PictureBox End Class diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index e1aa764c..87471572 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -7,6 +7,7 @@ Imports com.sun.tools.internal.ws.wsdl.framework Imports DocumentFormat.OpenXml.Office2010.Drawing.Charts Imports itextsharp.text.pdf Imports itextsharp.text.pdf.parser +Imports java.awt.geom Imports java.text.Normalizer Imports jdk.nashorn.internal.objects.annotations 'Imports DocumentFormat.OpenXml.Drawing.Charts @@ -470,7 +471,7 @@ Public Class frmMDM_USTVAntrag AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked End If - If USTV_ANTRAG.UStVAn_ReDatVon.year >= 2025 Then 'wenn INFO von PLOSE WÄHRUNGSCODE IN INV_DATA, dann freischalten + If USTV_ANTRAG.UStVAn_ReDatVon.year >= 2025 Then 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) @@ -1490,99 +1491,109 @@ Public Class frmMDM_USTVAntrag If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 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 - If Not IsDBNull(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) AndAlso IsNumeric(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) AndAlso dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value > 0 Then - dsID = dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value - Else - dsID = getDaID_OLD(schnnittstellenNr, ReDat, ReNr) + Dim pdf As String = "" + pdf = getPDF(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) + + If IO.File.Exists(pdf) Then + Process.Start(pdf) End If - Select Case schnnittstellenNr - Case 1 - If dsID > 0 Then - Me.Cursor = Cursors.WaitCursor - cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 3) - End If + '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 - Case 8 + 'Dim dsID - Me.Cursor = Cursors.WaitCursor - Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) + 'If Not IsDBNull(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) AndAlso IsNumeric(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) AndAlso dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value > 0 Then + ' dsID = dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value + 'Else + ' dsID = getDaID_OLD(schnnittstellenNr, ReDat, ReNr) - 'If Not IsDBNull(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) Then - ' ds.OPEN_SINGLE() - ' Exit Sub - 'End If + 'End If - Dim path_src As String = ds.OPEN_SINGLE(False) - If path_src = "" Then Exit Sub + 'Select Case schnnittstellenNr + ' Case 1 + ' If dsID > 0 Then + ' Me.Cursor = Cursors.WaitCursor + ' cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 3) + ' End If - Try + ' Case 8 - Dim fi As New System.IO.DirectoryInfo(path_src) - Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src) + ' Me.Cursor = Cursors.WaitCursor + ' Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) - Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, True, "IDS-Rechnungen") - Dim srcDoc As New itextsharp.text.Document() - Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create)) - PdfCopyProvider.SetFullCompression() - srcDoc.Open() - PdfReader.unethicalreading = True - Dim pages As New List(Of Integer)() + ' 'If Not IsDBNull(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) Then + ' ' ds.OPEN_SINGLE() + ' ' Exit Sub + ' 'End If - For page As Integer = 1 To pdfReader.NumberOfPages + ' Dim path_src As String = ds.OPEN_SINGLE(False) + ' If path_src = "" Then Exit Sub - Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy() - Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy) - Dim searchtext As String = ReNr - Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing + ' Try - If (currentpagetext.Contains(searchtext)) Then + ' Dim fi As New System.IO.DirectoryInfo(path_src) + ' Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src) - If page > pdfReader.NumberOfPages Then - MsgBox("Seitenanzahl überschritten!") - srcDoc.Close() : pdfReader.Close() - Exit Sub - End If - Try + ' Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, True, "IDS-Rechnungen") + ' Dim srcDoc As New itextsharp.text.Document() + ' Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create)) + ' PdfCopyProvider.SetFullCompression() + ' srcDoc.Open() + ' PdfReader.unethicalreading = True + ' Dim pages As New List(Of Integer)() - impPage = PdfCopyProvider.GetImportedPage(pdfReader, page) - ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite - PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page))) - ' ----- PDF Seite in das neue Dokument einfügen - If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage) - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - End Try + ' For page As Integer = 1 To pdfReader.NumberOfPages + + ' Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy() + ' Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy) + ' Dim searchtext As String = ReNr + ' Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing + + ' If (currentpagetext.Contains(searchtext)) Then + + ' If page > pdfReader.NumberOfPages Then + ' MsgBox("Seitenanzahl überschritten!") + ' srcDoc.Close() : pdfReader.Close() + ' Exit Sub + ' End If + ' Try + + ' impPage = PdfCopyProvider.GetImportedPage(pdfReader, page) + ' ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite + ' PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page))) + ' ' ----- PDF Seite in das neue Dokument einfügen + ' If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage) + ' Catch ex As Exception + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' End Try - End If + ' End If - Next + ' Next - srcDoc.Close() - pdfReader.Close() + ' srcDoc.Close() + ' pdfReader.Close() - If IO.File.Exists(TMP_Path_New) Then - Process.Start(TMP_Path_New) - End If + ' If IO.File.Exists(TMP_Path_New) Then + ' Process.Start(TMP_Path_New) + ' End If - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - End Try - 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 + ' Catch ex As Exception + ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + ' End Try + ' 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) @@ -1613,6 +1624,52 @@ Public Class frmMDM_USTVAntrag lblLand.Text = IIf(cbxLand.SelectedItem IsNot Nothing, cbxLand.SelectedItem.Text, "") End Sub + Private Sub picPDF_Click(sender As Object, e As EventArgs) Handles picPDF.Click + + + If dgvUSTVPositionen.SelectedRows.Count = 0 Then Exit Sub + + Try + + Dim list As New List(Of String) + + If dgvUSTVPositionen.SelectedRows.Count > 0 Then + For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows + + Dim pdf As String = "" + pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value) + + If pdf <> "" Then list.Add(pdf) + + Next + End If + + If list.Count = 0 Then Exit Sub + + If list.Count > 1 Then + Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False) + If FormularManagerNEU.MergePdfFiles(list, pathPDF) Then + Process.Start(pathPDF) + End If + Else + Dim PDFFile As String = "" + PDFFile = list(0) + + Process.Start(PDFFile) + + End If + + + Me.Cursor = Cursors.Default + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Me.Cursor = Cursors.Default + End Try + + + End Sub + Private Sub dgvUSTVPositionen_Sorted(sender As Object, e As EventArgs) Handles dgvUSTVPositionen.Sorted For Each r As DataGridViewRow In dgvUSTVPositionen.Rows @@ -1627,4 +1684,101 @@ Public Class frmMDM_USTVAntrag Next End Sub + + + Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId) As String + + + Dim schnnittstellenNr = schnittstellenNr + Dim dsID + + If Not IsDBNull(daId) AndAlso IsNumeric(daId) AndAlso daId > 0 Then + dsID = daId + Else + dsID = getDaID_OLD(schnnittstellenNr, ReDat, ReNr) + + End If + + If dsID < 0 Then Return "" + + Select Case schnnittstellenNr + Case 1 + If dsID > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim path As String + cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 3, path) + Return path + End If + + Case 8 + + Me.Cursor = Cursors.WaitCursor + Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) + + Dim path_src As String = ds.OPEN_SINGLE(False) + If path_src = "" Then Return "" + + Try + + Dim fi As New System.IO.DirectoryInfo(path_src) + Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src) + + Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, False, "IDS-Rechnungen") + Dim srcDoc As New itextsharp.text.Document() + Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create)) + PdfCopyProvider.SetFullCompression() + srcDoc.Open() + PdfReader.unethicalreading = True + Dim pages As New List(Of Integer)() + + For page As Integer = 1 To pdfReader.NumberOfPages + + Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy() + Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy) + Dim searchtext As String = ReNr + Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing + + If (currentpagetext.Contains(searchtext)) Then + + If page > pdfReader.NumberOfPages Then + MsgBox("Seitenanzahl überschritten!") + srcDoc.Close() : pdfReader.Close() + Return False + End If + Try + + impPage = PdfCopyProvider.GetImportedPage(pdfReader, page) + ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite + PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page))) + ' ----- PDF Seite in das neue Dokument einfügen + If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + + End If + + Next + + srcDoc.Close() + pdfReader.Close() + + Return TMP_Path_New + + + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Case Else + If dsID > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) + Return DS.GET_TOP1_PATH + End If + End Select + + + End Function End Class \ No newline at end of file From 454d10372746f2300ce02310daf5a83fc65111b6 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 29 Jan 2025 17:25:20 +0100 Subject: [PATCH 6/6] Berichte, mdmFakt. --- SDL/mdm/PLOSE/rptPLOSE_Anhang.Designer.vb | 34 +++--- .../PLOSE/rptPLOSE_LaenderGesamt.Designer.vb | 2 +- SDL/seriendruck/usrCntlFakturierung.vb | 105 +++++++++++++++--- 3 files changed, 109 insertions(+), 32 deletions(-) diff --git a/SDL/mdm/PLOSE/rptPLOSE_Anhang.Designer.vb b/SDL/mdm/PLOSE/rptPLOSE_Anhang.Designer.vb index f123ff35..d6afed6a 100644 --- a/SDL/mdm/PLOSE/rptPLOSE_Anhang.Designer.vb +++ b/SDL/mdm/PLOSE/rptPLOSE_Anhang.Designer.vb @@ -295,7 +295,7 @@ Partial Public Class rptPLOSE_Anhang 'ReportHeader1 ' Me.ReportHeader1.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.lblRgDatum, Me.txtKunde, Me.Label16, Me.Picture1, Me.picVERAG, Me.lblUeberschriftRG_GS, Me.Line3, Me.lblFirmaOrt, Me.lblFirmaStrasse, Me.lblFirmaTel, Me.lblFirmaFax, Me.lblFirmaEmail, Me.lblFirmaWeb, Me.Label18, Me.Label1, Me.TextBox1, Me.Label2, Me.Label3, Me.Label4}) - Me.ReportHeader1.Height = 1.185761! + Me.ReportHeader1.Height = 1.301575! Me.ReportHeader1.Name = "ReportHeader1" ' 'lblRgDatum @@ -314,12 +314,12 @@ Partial Public Class rptPLOSE_Anhang ' Me.txtKunde.Height = 0.1574802! Me.txtKunde.HyperLink = Nothing - Me.txtKunde.Left = 5.115748! + Me.txtKunde.Left = 5.111811! Me.txtKunde.Name = "txtKunde" - Me.txtKunde.Style = "font-size: 8pt; font-weight: bold; text-align: right; vertical-align: middle; ddo" & - "-char-set: 1" + Me.txtKunde.Style = "font-size: 8pt; font-weight: bold; text-align: left; vertical-align: middle; ddo-" & + "char-set: 1" Me.txtKunde.Text = "1000000 TEST" - Me.txtKunde.Top = 0.9866142! + Me.txtKunde.Top = 0.8291339! Me.txtKunde.Width = 2.354331! ' 'Label16 @@ -330,8 +330,8 @@ Partial Public Class rptPLOSE_Anhang Me.Label16.Name = "Label16" Me.Label16.Style = "font-size: 8pt; font-weight: normal; text-align: left; vertical-align: middle; dd" & "o-char-set: 1" - Me.Label16.Text = "VERAG-Kunde:" - Me.Label16.Top = 0.9866142! + Me.Label16.Text = "Kunde:" + Me.Label16.Top = 0.8291339! Me.Label16.Width = 0.8114175! ' 'Picture1 @@ -439,19 +439,19 @@ Partial Public Class rptPLOSE_Anhang Me.lblFirmaEmail.Style = "font-size: 7pt; font-weight: normal; text-align: right; vertical-align: middle; d" & "do-char-set: 1" Me.lblFirmaEmail.Text = "s.kriegner@verag.ag" - Me.lblFirmaEmail.Top = 0.7503937! + Me.lblFirmaEmail.Top = 0.868504! Me.lblFirmaEmail.Width = 1.436614! ' 'lblFirmaWeb ' - Me.lblFirmaWeb.Height = 0.1181103! + Me.lblFirmaWeb.Height = 0.1181102! Me.lblFirmaWeb.HyperLink = Nothing Me.lblFirmaWeb.Left = 2.492913! 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.8685042! + Me.lblFirmaWeb.Top = 0.7503937! Me.lblFirmaWeb.Width = 1.436614! ' 'Label18 @@ -485,7 +485,7 @@ Partial Public Class rptPLOSE_Anhang Me.TextBox1.Style = "font-size: 8pt; font-weight: bold; text-align: right; vertical-align: middle; ddo" & "-char-set: 1" Me.TextBox1.Text = "1000000" - Me.TextBox1.Top = 0.8291339! + Me.TextBox1.Top = 0.9866142! Me.TextBox1.Width = 0.8688979! ' 'Label2 @@ -497,7 +497,7 @@ Partial Public Class rptPLOSE_Anhang Me.Label2.Style = "font-size: 8pt; font-weight: normal; text-align: left; vertical-align: middle; dd" & "o-char-set: 1" Me.Label2.Text = "Partner-Kunden-Nr:" - Me.Label2.Top = 0.8291339! + Me.Label2.Top = 0.9866142! Me.Label2.Width = 1.020079! ' 'Label3 @@ -509,25 +509,25 @@ Partial Public Class rptPLOSE_Anhang Me.Label3.Style = "font-size: 8pt; font-weight: normal; text-align: left; vertical-align: middle; dd" & "o-char-set: 1" Me.Label3.Text = "Zeitraum bis:" - Me.Label3.Top = 0.8291339! + Me.Label3.Top = 0.9866142! Me.Label3.Width = 0.6905512! ' 'Label4 ' Me.Label4.Height = 0.1574803! Me.Label4.HyperLink = Nothing - Me.Label4.Left = 6.674016! + Me.Label4.Left = 6.670079! Me.Label4.Name = "Label4" Me.Label4.Style = "font-size: 8pt; font-weight: bold; text-align: right; vertical-align: middle; ddo" & "-char-set: 1" Me.Label4.Text = "01.01.2019" - Me.Label4.Top = 0.8291339! + Me.Label4.Top = 0.9866142! Me.Label4.Width = 0.7960634! ' 'ReportFooter1 ' Me.ReportFooter1.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.txtBruttoGesSum, Me.txtNettoGesSum, Me.txtMWSTGEsSum, Me.lblGessumme, Me.Line7, Me.Line8}) - Me.ReportFooter1.Height = 0.2515748! + Me.ReportFooter1.Height = 0.6578248! Me.ReportFooter1.KeepTogether = True Me.ReportFooter1.Name = "ReportFooter1" ' @@ -1032,6 +1032,6 @@ Partial Public Class rptPLOSE_Anhang Public WithEvents Label1 As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents TextBox1 As GrapeCity.ActiveReports.SectionReportModel.TextBox Public WithEvents Label2 As GrapeCity.ActiveReports.SectionReportModel.Label - Private WithEvents Label3 As GrapeCity.ActiveReports.SectionReportModel.Label + Public WithEvents Label3 As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents Label4 As GrapeCity.ActiveReports.SectionReportModel.Label End Class diff --git a/SDL/mdm/PLOSE/rptPLOSE_LaenderGesamt.Designer.vb b/SDL/mdm/PLOSE/rptPLOSE_LaenderGesamt.Designer.vb index b5c1e3ed..e884f0dd 100644 --- a/SDL/mdm/PLOSE/rptPLOSE_LaenderGesamt.Designer.vb +++ b/SDL/mdm/PLOSE/rptPLOSE_LaenderGesamt.Designer.vb @@ -480,7 +480,7 @@ Partial Public Class rptPLOSE_LaenderGesamt Public WithEvents lblSumBrutto As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents lblSumMwst As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents lblSumNetto As GrapeCity.ActiveReports.SectionReportModel.Label - Private WithEvents Label7 As GrapeCity.ActiveReports.SectionReportModel.Label + Public WithEvents Label7 As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents lblEU As GrapeCity.ActiveReports.SectionReportModel.Label Public WithEvents lblLand As GrapeCity.ActiveReports.SectionReportModel.Label End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 10fe0543..cb932963 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -37,6 +37,8 @@ Public Class usrcntlFakturierung PathMautberichte = (New SQL).getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='GESAMTMAUT' AND [Param_name]='ANLAGE_PFAD' AND Param_testsystem = " & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, 1, 0), "FMZOLL") + 'PathMautberichte = "C:\Users\d.breimaier\Desktop\MDM\Mautgesamtberichte\" + Dim countCSV = 0 Dim countPDF = 0 If Directory.Exists(PathMautberichte) Then @@ -1261,7 +1263,15 @@ Public Class usrcntlFakturierung Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable - createPDFMautbericht(pdf.Item(0), dt_PDF_selected, cbxDateMautbericht._value, PathMautberichte) + Dim dtLaender As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], tblMautbericht.[Transaction Country], sum(tblMautbericht.[Net Amount]) as Netto, sum(tblMautbericht.[VAT Amount]) as MWST, sum(tblMautbericht.[Total Amount]) as Brutto + FROM tblMautbericht WHERE [Customer No] ='" & pdf.Item(0) & "' + GROUP BY [Customer No], [Transaction Country] + ORDER BY tblMautbericht.[Customer No], tblMautbericht.[Transaction Country]", "FMZOLL") + + + + + createPDFMautbericht(pdf.Item(0), dt_PDF_selected, cbxDateMautbericht._value, PathMautberichte, dtLaender) @@ -1310,7 +1320,7 @@ Public Class usrcntlFakturierung End Try End Sub - Private Function createPDFMautbericht(kdnr As Integer, dt As DataTable, anhangsdatum As Date, path As String) As String + Private Function createPDFMautbericht(kdnr As Integer, dt As DataTable, anhangsdatum As Date, path As String, dtLaender As DataTable) As String Dim rpt As New rptPLOSE_Anhang Dim sql As New VERAG_PROG_ALLGEMEIN.SQL @@ -1323,17 +1333,17 @@ Public Class usrcntlFakturierung rpt.GroupHeaderKz.DataField = "Licence Plate Number" - rpt.txtNettoKzSum.Visible = False - rpt.txtNettoGesSum.Visible = False - rpt.txtNetto.Visible = False - rpt.txtNettoKatSum.Visible = False - rpt.lblNetto.Visible = False + 'rpt.txtNettoKzSum.Visible = False + 'rpt.txtNettoGesSum.Visible = False + 'rpt.txtNetto.Visible = False + 'rpt.txtNettoKatSum.Visible = False + 'rpt.lblNetto.Visible = False - rpt.txtMWSTKzSum.Visible = False - rpt.txtMWSTGEsSum.Visible = False - rpt.txtMWST.Visible = False - rpt.txtMWSTKatSum.Visible = False - rpt.lblMWST.Visible = False + 'rpt.txtMWSTKzSum.Visible = False + 'rpt.txtMWSTGEsSum.Visible = False + 'rpt.txtMWST.Visible = False + 'rpt.txtMWSTKatSum.Visible = False + 'rpt.lblMWST.Visible = False 'rpt.lblBrutto.Text = "Total Amount ( EUR )" 'rpt.Label4.Text = bis.ToShortDateString @@ -1344,6 +1354,15 @@ Public Class usrcntlFakturierung rpt.lblSummeKennzeichen.Visible = False rpt.lblService.Visible = False + rpt.Label2.Visible = False + rpt.TextBox1.Visible = False + rpt.Label3.Visible = False + rpt.Label4.Visible = False + + rpt.lblFirmaFax.Visible = False + rpt.lblFirmaEmail.Visible = False + rpt.Label16.Visible = False + 'rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y) 'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y) 'rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y) @@ -1382,8 +1401,8 @@ Public Class usrcntlFakturierung rpt.txtMWST.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("VAT Amount").Value, 2, "") rpt.txtBrutto.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 2, "") - sumNetto += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0) - sumMWST += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0) + sumNetto += sql.isDbnullEmptyDbl(rpt.Fields.Item("Net Amount").Value, 4, 0) + sumMWST += sql.isDbnullEmptyDbl(rpt.Fields.Item("VAT Amount").Value, 4, 0) sumBrutto += sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 4, 0) cnt += 1 End Sub @@ -1425,6 +1444,7 @@ Public Class usrcntlFakturierung rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2") rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2") cntKat += 1 + rpt.lblSumKategorie.Text = rpt.lblSumKategorie.Text.Replace("Kunde", sql.isDbnullEmpty(rpt.Fields.Item("Customer No").Value, "")) End Sub AddHandler rpt.ReportFooter1.Format, Sub() 'sumNettoGes += sumNettoKat @@ -1458,6 +1478,63 @@ Public Class usrcntlFakturierung Dim tmpPath = path & "\" & kdnr & "_Maut.pdf" Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport rpt.Run(False) + + + + + Dim rpt2 As New rptPLOSE_LaenderGesamt + rpt2.DataSource = dtLaender + + rpt2.Label7.Visible = False + rpt2.lblEU.Visible = False + + rpt2.lblUeberschrift.Text = "Länder Gesamt" + + Dim sum = 0 + ' rpt.lblUeberschrift.Text = "PLOSE Summenbericht " & dat_Sum_Von.Text & " bis " & dat_Sum_Bis.Text + rpt2.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME + 'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung + + 'Dim cnt As Integer = 0 + rpt2.lblDat.Text = Now.ToLongDateString + + + Dim sumPreis As Double = 0 + Dim sumNettoLaender As Double = 0 + Dim sumMWSTLaender As Double = 0 + Dim sumBruttoLaender As Double = 0 + Dim sumBruttoAlleLeistungen As Double = 0 + Dim sumMenge As Double = 0 + + AddHandler rpt2.Detail.Format, Sub() + rpt2.lblLand.Text = sql.isDbnullEmpty(rpt2.Fields.Item("Transaction Country").Value, "") + rpt2.lblEU.Text = "" 'sql.isDbnullEmpty(rpt.Fields.Item("EU").Value, "") + + rpt2.lblNetto.Text = sql.isDbnullEmptyDbl(rpt2.Fields.Item("Netto").Value, 2, "") + rpt2.lblMWST.Text = sql.isDbnullEmptyDbl(rpt2.Fields.Item("MWST").Value, 2, "") + rpt2.lblBrutto.Text = sql.isDbnullEmptyDbl(rpt2.Fields.Item("Brutto").Value, 2, "") + + sumNetto += sql.isDbnullEmptyDbl(rpt2.Fields.Item("Netto").Value, 4, 0) + sumMWST += sql.isDbnullEmptyDbl(rpt2.Fields.Item("MWST").Value, 4, 0) + sumBrutto += sql.isDbnullEmptyDbl(rpt2.Fields.Item("Brutto").Value, 4, 0) + + + + End Sub + + + AddHandler rpt2.ReportFooter1.Format, Sub() + rpt2.lblSumNetto.Text = sumNetto.ToString("N2") + rpt2.lblSumMwst.Text = sumMWST.ToString("N2") + rpt2.lblSumBrutto.Text = sumBrutto.ToString("N2") + + End Sub + rpt2.Run() + + For i = 0 To rpt2.Document.Pages.Count - 1 + rpt.Document.Pages.Add(rpt2.Document.Pages(i)) + Next + p.NeverEmbedFonts = "" p.Export(rpt.Document, tmpPath)