From 5e4b0604ceaff235b1c9fcbe1ba0d8ce3cd6c51b Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 28 Jan 2025 10:19:07 +0100 Subject: [PATCH] Fakt, antragpos. --- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 63 ++++-- SDL/USTV/ustCntlUSTV_AntragPosition.vb | 10 +- .../usrCntlFakturierung.Designer.vb | 66 ++++--- SDL/seriendruck/usrCntlFakturierung.vb | 187 +++++++++++++----- 4 files changed, 230 insertions(+), 96 deletions(-) diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 50be7747..57111a76 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -1,4 +1,7 @@  +Imports System.Web.Configuration +Imports System.Web.UI.WebControls.Expressions +Imports com.sun.imageio.plugins Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlFaktAbrechnung @@ -406,10 +409,10 @@ Public Class usrCntlFaktAbrechnung End If End If - 'initDGVOfferteDetailsUebersicht(RECHNUNG.kundenn,RECHNUNG.OffertenNr) - 'Dann die Werte eintragen: - ' MsgBox("G: " & RECHNUNG.POSITIONEN.Count) - Dim vorzeichen = 1 'If(RECHNUNG.Vorzeichen = "-", -1, 1) + 'initDGVOfferteDetailsUebersicht(RECHNUNG.kundenn,RECHNUNG.OffertenNr) + 'Dann die Werte eintragen: + ' MsgBox("G: " & RECHNUNG.POSITIONEN.Count) + Dim vorzeichen = 1 'If(RECHNUNG.Vorzeichen = "-", -1, 1) For Each POS In RECHNUNG.POSITIONEN Dim found = False For Each r As DataGridViewRow In dgvOfferteDetailsUebersicht.Rows @@ -528,6 +531,15 @@ Public Class usrCntlFaktAbrechnung End If + Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGIMEX", "SDL") Then + FirmaTmp = "VERAGIMEX" + End If + + If Not IsDBNull(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) AndAlso CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) = 19 Then + FirmaTmp = "VERAG360" + End If + cboVorauskasse.Items.Clear() cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEIN", 0)) cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("JA", 1)) @@ -539,7 +551,7 @@ Public Class usrCntlFaktAbrechnung cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("3 monatlich", 3)) cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("4 Dekade", 4)) cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("5 wöchentlich", 5)) - ' cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("6 Maut/Diesel", 6)) + If FirmaTmp = "VERAG360" Then cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("6 Maut/Diesel", 6)) cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("7 pro LKW", 7)) cboSammelrechnung.changeItem(0) @@ -554,15 +566,6 @@ Public Class usrCntlFaktAbrechnung Dim whereFirma = "" Dim firstEmpty = False - Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGIMEX", "SDL") Then - FirmaTmp = "VERAGIMEX" - End If - - If Not IsDBNull(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) AndAlso CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) = 19 Then - FirmaTmp = "VERAG360" - End If - 'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then 'FirmaTmp = "AMBAR" 'End If @@ -596,11 +599,12 @@ Public Class usrCntlFaktAbrechnung Else whereFirma = " AND FIRMENGRUPPE IN ('VERAG360') " : pnlDocs.Visible = True End If + 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.SelectedIndex = 0 + cboFirma.SelectedIndex = 0 If VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE <> "" And Not VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER And FirmaTmp <> "VERAGIMEX" Then @@ -1828,6 +1832,8 @@ Public Class usrCntlFaktAbrechnung pnlTop.BackColor = Color.Teal Case 20 : pic.BackgroundImage = My.Resources.IMEX_LOGO_simple pnlTop.BackColor = Color.FromArgb(250, 120, 0) : errCOlor = Color.DarkRed + Case 19 : pic.BackgroundImage = My.Resources.VERAG_360 + pnlTop.BackColor = Color.FromArgb(250, 120, 0) : errCOlor = Color.LightBlue 'UNISPED: Case 21 : pic.BackgroundImage = My.Resources.Unisped_logo @@ -1883,6 +1889,33 @@ Public Class usrCntlFaktAbrechnung End If initRg_Anhaenhe_Default(RECHNUNG, SPEDBUCH) + + If Not cboFirma._value = 19 Then + + If cboSammelrechnung.Items.Count > 7 Then + + + For iIndex = 0 To cboSammelrechnung.Items.Count - 1 + If cboSammelrechnung.Items(iIndex).value = 6 Then + cboSammelrechnung.Items.RemoveAt(iIndex) + Exit For + End If + Next + + + End If + + Else + + If cboSammelrechnung.Items.Count < 8 Then + cboSammelrechnung.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("6 Maut/Diesel", 6)) + End If + + + + + End If + End Sub diff --git a/SDL/USTV/ustCntlUSTV_AntragPosition.vb b/SDL/USTV/ustCntlUSTV_AntragPosition.vb index 78d48e84..1774f4f9 100644 --- a/SDL/USTV/ustCntlUSTV_AntragPosition.vb +++ b/SDL/USTV/ustCntlUSTV_AntragPosition.vb @@ -193,10 +193,12 @@ Public Class ustCntlUSTV_AntragPosition ElseIf sender Is txtUSTBetragEUR Then - If IsNumeric(txtUSTBetragEUR._value) AndAlso IsNumeric(txtUmrechnungskurs._value) Then - txtUSTBetrag.Text = Math.Floor((txtUSTBetragEUR._value * txtUmrechnungskurs._value) * 100 + 0.5) / 100 - 'values_changed() - End If + 'so herum nicht umrechnen!!!! + 'If IsNumeric(txtUSTBetragEUR._value) AndAlso IsNumeric(txtUmrechnungskurs._value) Then + ' txtUSTBetrag.Text = Math.Floor((txtUSTBetragEUR._value * txtUmrechnungskurs._value) * 100 + 0.5) / 100 + ' 'values_changed() + 'End If + End If diff --git a/SDL/seriendruck/usrCntlFakturierung.Designer.vb b/SDL/seriendruck/usrCntlFakturierung.Designer.vb index 148c6d0b..00c12ce1 100644 --- a/SDL/seriendruck/usrCntlFakturierung.Designer.vb +++ b/SDL/seriendruck/usrCntlFakturierung.Designer.vb @@ -75,6 +75,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.Button1 = New System.Windows.Forms.Button() Me.GroupBox1.SuspendLayout() Me.GBMautberichte.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -294,7 +295,7 @@ Partial Class usrcntlFakturierung Me.Label44.AutoSize = True Me.Label44.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label44.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Label44.Location = New System.Drawing.Point(11, 329) + Me.Label44.Location = New System.Drawing.Point(11, 340) Me.Label44.Name = "Label44" Me.Label44.Size = New System.Drawing.Size(436, 17) Me.Label44.TabIndex = 15 @@ -302,6 +303,7 @@ Partial Class usrcntlFakturierung ' 'GBSammelrechnung ' + Me.GBSammelrechnung.Controls.Add(Me.Button1) Me.GBSammelrechnung.Controls.Add(Me.PictureBox6) Me.GBSammelrechnung.Controls.Add(Me.PictureBox5) Me.GBSammelrechnung.Controls.Add(Me.PictureBox4) @@ -333,7 +335,7 @@ Partial Class usrcntlFakturierung Me.GBSammelrechnung.Controls.Add(Me.Label45) Me.GBSammelrechnung.Controls.Add(Me.Button14) Me.GBSammelrechnung.Enabled = False - Me.GBSammelrechnung.Location = New System.Drawing.Point(10, 340) + Me.GBSammelrechnung.Location = New System.Drawing.Point(10, 351) Me.GBSammelrechnung.Name = "GBSammelrechnung" Me.GBSammelrechnung.Size = New System.Drawing.Size(697, 393) Me.GBSammelrechnung.TabIndex = 14 @@ -343,7 +345,7 @@ Partial Class usrcntlFakturierung ' 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(151, 149) + Me.PictureBox6.Location = New System.Drawing.Point(232, 151) Me.PictureBox6.Name = "PictureBox6" Me.PictureBox6.Size = New System.Drawing.Size(14, 14) Me.PictureBox6.TabIndex = 105 @@ -354,7 +356,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(151, 132) + Me.PictureBox5.Location = New System.Drawing.Point(232, 134) Me.PictureBox5.Name = "PictureBox5" Me.PictureBox5.Size = New System.Drawing.Size(14, 14) Me.PictureBox5.TabIndex = 104 @@ -365,7 +367,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(151, 115) + Me.PictureBox4.Location = New System.Drawing.Point(232, 117) Me.PictureBox4.Name = "PictureBox4" Me.PictureBox4.Size = New System.Drawing.Size(14, 14) Me.PictureBox4.TabIndex = 103 @@ -376,7 +378,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(151, 98) + Me.PictureBox3.Location = New System.Drawing.Point(232, 100) Me.PictureBox3.Name = "PictureBox3" Me.PictureBox3.Size = New System.Drawing.Size(14, 14) Me.PictureBox3.TabIndex = 102 @@ -387,7 +389,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(151, 81) + Me.PictureBox2.Location = New System.Drawing.Point(232, 83) Me.PictureBox2.Name = "PictureBox2" Me.PictureBox2.Size = New System.Drawing.Size(14, 14) Me.PictureBox2.TabIndex = 101 @@ -398,7 +400,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(151, 67) + Me.PictureBox1.Location = New System.Drawing.Point(232, 69) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(14, 14) Me.PictureBox1.TabIndex = 95 @@ -407,9 +409,9 @@ Partial Class usrcntlFakturierung ' 'Label4 ' - Me.Label4.Location = New System.Drawing.Point(171, 132) + Me.Label4.Location = New System.Drawing.Point(252, 134) Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(541, 17) + Me.Label4.Size = New System.Drawing.Size(440, 17) Me.Label4.TabIndex = 100 Me.Label4.Text = "5. Banküberweisung/Bankspesen berechnen" ' @@ -453,7 +455,7 @@ Partial Class usrcntlFakturierung ' Me.Button20.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button20.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button20.Location = New System.Drawing.Point(10, 28) + Me.Button20.Location = New System.Drawing.Point(147, 12) Me.Button20.Name = "Button20" Me.Button20.Size = New System.Drawing.Size(121, 49) Me.Button20.TabIndex = 43 @@ -566,9 +568,9 @@ Partial Class usrcntlFakturierung ' 'Label70 ' - Me.Label70.Location = New System.Drawing.Point(171, 149) + Me.Label70.Location = New System.Drawing.Point(252, 151) Me.Label70.Name = "Label70" - Me.Label70.Size = New System.Drawing.Size(498, 17) + Me.Label70.Size = New System.Drawing.Size(429, 14) Me.Label70.TabIndex = 30 Me.Label70.Text = "6. Hängt Mautgesamtbericht an Sammenrechnungen an." ' @@ -578,7 +580,7 @@ Partial Class usrcntlFakturierung Me.cboSachbearbeiter._allowFreiText = False Me.cboSachbearbeiter._value = "" Me.cboSachbearbeiter.FormattingEnabled = True - Me.cboSachbearbeiter.Location = New System.Drawing.Point(243, 36) + Me.cboSachbearbeiter.Location = New System.Drawing.Point(529, 38) Me.cboSachbearbeiter.Name = "cboSachbearbeiter" Me.cboSachbearbeiter.Size = New System.Drawing.Size(152, 21) Me.cboSachbearbeiter.TabIndex = 29 @@ -586,7 +588,7 @@ Partial Class usrcntlFakturierung 'Label67 ' Me.Label67.AutoSize = True - Me.Label67.Location = New System.Drawing.Point(148, 36) + Me.Label67.Location = New System.Drawing.Point(434, 38) Me.Label67.Name = "Label67" Me.Label67.Size = New System.Drawing.Size(82, 13) Me.Label67.TabIndex = 28 @@ -595,7 +597,7 @@ Partial Class usrcntlFakturierung 'dtRechnungsdatum ' Me.dtRechnungsdatum.Format = System.Windows.Forms.DateTimePickerFormat.[Short] - Me.dtRechnungsdatum.Location = New System.Drawing.Point(292, 10) + Me.dtRechnungsdatum.Location = New System.Drawing.Point(578, 12) Me.dtRechnungsdatum.Name = "dtRechnungsdatum" Me.dtRechnungsdatum.Size = New System.Drawing.Size(103, 20) Me.dtRechnungsdatum.TabIndex = 26 @@ -603,7 +605,7 @@ Partial Class usrcntlFakturierung 'Label66 ' Me.Label66.AutoSize = True - Me.Label66.Location = New System.Drawing.Point(148, 16) + Me.Label66.Location = New System.Drawing.Point(434, 18) Me.Label66.Name = "Label66" Me.Label66.Size = New System.Drawing.Size(94, 13) Me.Label66.TabIndex = 27 @@ -611,34 +613,34 @@ Partial Class usrcntlFakturierung ' 'Label65 ' - Me.Label65.Location = New System.Drawing.Point(171, 115) + Me.Label65.Location = New System.Drawing.Point(252, 117) Me.Label65.Name = "Label65" - Me.Label65.Size = New System.Drawing.Size(541, 17) + Me.Label65.Size = New System.Drawing.Size(440, 17) Me.Label65.TabIndex = 8 Me.Label65.Text = "4. Porto/Papiere berechnen" ' 'Label64 ' - Me.Label64.Location = New System.Drawing.Point(171, 98) + Me.Label64.Location = New System.Drawing.Point(252, 100) Me.Label64.Name = "Label64" - Me.Label64.Size = New System.Drawing.Size(541, 17) + Me.Label64.Size = New System.Drawing.Size(440, 17) Me.Label64.TabIndex = 7 Me.Label64.Text = "3. Rechnungstext im RK eintragen" ' 'Label63 ' - Me.Label63.Location = New System.Drawing.Point(171, 81) + Me.Label63.Location = New System.Drawing.Point(252, 83) Me.Label63.Name = "Label63" - Me.Label63.Size = New System.Drawing.Size(541, 17) + Me.Label63.Size = New System.Drawing.Size(440, 17) Me.Label63.TabIndex = 6 Me.Label63.Text = "2. Rechnung oder Gutschrift im RK eintragen, abhängig vom Sammelrechnungsbetrag (" & "+/-)" ' 'Label45 ' - Me.Label45.Location = New System.Drawing.Point(171, 64) + Me.Label45.Location = New System.Drawing.Point(252, 66) Me.Label45.Name = "Label45" - Me.Label45.Size = New System.Drawing.Size(530, 17) + Me.Label45.Size = New System.Drawing.Size(224, 17) Me.Label45.TabIndex = 5 Me.Label45.Text = "1. Einträge auf Sachbearbeiter ändern." ' @@ -646,13 +648,24 @@ 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, 94) + Me.Button14.Location = New System.Drawing.Point(10, 85) 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!) @@ -733,4 +746,5 @@ Partial Class usrcntlFakturierung Friend WithEvents PictureBox4 As PictureBox Friend WithEvents PictureBox3 As PictureBox Friend WithEvents PictureBox2 As PictureBox + Friend WithEvents Button1 As Button End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index dd85bc32..29671e46 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -93,7 +93,7 @@ Public Class usrcntlFakturierung If rechnungenMitGesamtmautanhant <> "" Then - If vbYes = MsgBox("Möchten Sie die " & rechnungenMitGesamtmautanhant & " Gesamtmautberichte (PDF und CSV) aus den Rechnungen vom entfernen?" & vbNewLine & "Die Mautberichte können erneut über 'Durchfüren' and die Rechnung gehängt werden.", vbYesNoCancel) Then + If vbYes = MsgBox("Möchten Sie die " & rechnungenMitGesamtmautanhant & " Gesamtmautberichte (PDF und CSV) aus den Rechnungen vom entfernen?" & vbNewLine & "Die Mautberichte können erneut über 'Durchfüren' and die Rechnung gehängt werden." & vbNewLine & "Nur bei Rechnungen mit Status 0 möglich!", vbYesNoCancel) Then deleted = (New SQL).doSQL("delete from RechnungsausgangAnhaenge where RechnungsausgangAnhaenge.RK_ID IN (SELECT Rechnungsausgang.RK_ID FROM Rechnungsausgang @@ -112,6 +112,8 @@ Public Class usrcntlFakturierung Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click + Label70.Text = "6. Hängt Mautgesamtbericht an Sammenrechnungen an." + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim ok As Boolean = True @@ -151,6 +153,32 @@ Public Class usrcntlFakturierung End If + 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) + + + 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) + + If rechnungenMitGesamtmautanhantPDF <> "" Then + MsgBox("Bei " & rechnungenMitGesamtmautanhantPDF & " Rechnungen befindet sich noch eine PDF-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN " & vbNewLine & "Vorang wird abgebrochen!") + Exit Sub + + End If + + If rechnungenMitGesamtmautanhantCSV <> "" Then + MsgBox("Bei " & rechnungenMitGesamtmautanhantCSV & " Rechnungen befindet sich noch eine CSV-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN " & vbNewLine & "Vorang wird abgebrochen!") + Exit Sub + + End If + + '---------------DONE ' ' Sachbearbeiter im RK eintragen. '140 Call SysCmd(acSysCmdSetStatus, "Sachbearbeiter im RK eintragen...") @@ -754,6 +782,8 @@ Public Class usrcntlFakturierung Private Function setMautgesamtberichtInRechnung(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) Try + Dim counterPDF As Integer = 0 + Dim counterCSV As Integer = 0 Dim attachmentIsSet As Boolean = False If dtSammelRechnugen.Rows.Count = 0 Then @@ -771,6 +801,7 @@ Public Class usrcntlFakturierung Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KundenNr).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault() Dim RECHNUNG As New cRechnungsausgang(RK_ID) attachmentIsSet = AddAttachementToRE(FileCSV.FullName, KundenNr, RECHNUNG, rechnungsdatum) + If attachmentIsSet Then counterCSV = counterCSV + 1 End If End If @@ -784,6 +815,7 @@ Public Class usrcntlFakturierung Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = CInt(KundenNr)).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault() Dim RECHNUNG As New cRechnungsausgang(RK_ID) attachmentIsSet = AddAttachementToRE(FilePDF.FullName, KundenNr, RECHNUNG, rechnungsdatum) + If attachmentIsSet Then counterPDF = counterPDF + 1 End If End If End If @@ -791,12 +823,14 @@ Public Class usrcntlFakturierung End If + Label70.Text = "6. Hängt Mautgesamtbericht an Sammenrechnungen an." & " CSV: " & counterCSV & " PDF: " & counterPDF Return attachmentIsSet Catch ex As SystemException VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try + Label70.Text = "6. Hängt Mautgesamtbericht an Sammenrechnungen an." Return False End Function @@ -936,58 +970,70 @@ Public Class usrcntlFakturierung If dtSelectedSammelrechnungen.Rows.Count > 0 Then 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 + End If - For Each rowRE In dtSelectedSammelrechnungen.Rows + For Each rowRE In dtSelectedSammelrechnungen.Rows - Dim path = "" + Dim path = "" - 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,, , , , , , , ) - If path <> "" Then listPDFs.Add(path) - - If True Then 'cnt Mod 10 = 0 Then - txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count - Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100 - pbPloseAnh_Proz.Value = proz - lblPloseAnh_Proz.Text = proz.ToString("N2") & " %" - 'GroupBox12.Refresh() - My.Application.DoEvents() - End If - cnt += 1 - - Next - - If listPDFs.Count > 0 Then - - 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.") + If path <> "" Then + If nurNICHTEUKunden Then + 'TODO-> nur nicht EU-Kunden zu Path + listPDFs.Add(path) + Else + listPDFs.Add(path) End If End If - pbPloseAnh_Proz.Value = 100 - txtPloseAnh_Einarbeitung.Text = dtSelectedSammelrechnungen.Rows.Count & " / " & dtSelectedSammelrechnungen.Rows.Count - lblPloseAnh_Proz.Text = "100.00 %" - Process.Start(pathPDF) + If True Then 'cnt Mod 10 = 0 Then + txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count + Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100 + pbPloseAnh_Proz.Value = proz + lblPloseAnh_Proz.Text = proz.ToString("N2") & " %" + 'GroupBox12.Refresh() + My.Application.DoEvents() + End If + cnt += 1 - Else - MsgBox("Datei von " & rechnungsdatum.ToShortDateString & " konnte nicht erstellt werden!") + Next + + If listPDFs.Count > 0 Then + + 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 + + End If + + pbPloseAnh_Proz.Value = 100 + txtPloseAnh_Einarbeitung.Text = dtSelectedSammelrechnungen.Rows.Count & " / " & dtSelectedSammelrechnungen.Rows.Count + lblPloseAnh_Proz.Text = "100.00 %" + Process.Start(pathPDF) + + Else + MsgBox("Datei von " & rechnungsdatum.ToShortDateString & " konnte nicht erstellt werden!") + + End If End If - End If - - If cbxRechnungsjournaldrucken.Checked Then - Dim dtRechnungsjournal As DataTable = (New SQL).loadDgvBySql("SELECT + If cbxRechnungsjournaldrucken.Checked Then + Dim dtRechnungsjournal As DataTable = (New SQL).loadDgvBySql("SELECT Rechnungsausgang.Währungscode, Rechnungsausgang.RechnungsLandKz, Rechnungsausgang.RechnungsNr, @@ -1025,12 +1071,12 @@ Public Class usrcntlFakturierung 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 + 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 + If cbxAbfVerbotdrucken.Checked Then - Dim dtEbfertigungsverbot As DataTable = (New SQL).loadDgvBySql("SELECT + Dim dtEbfertigungsverbot As DataTable = (New SQL).loadDgvBySql("SELECT Rechnungsausgang.Buchungsjahr, Rechnungsausgang.Währungscode, Rechnungsausgang.RechnungsNr, @@ -1068,14 +1114,14 @@ Public Class usrcntlFakturierung 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 + 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 - Else + Else - MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " vorhanden!") + MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " vorhanden!") End If End Sub @@ -1098,6 +1144,8 @@ Public Class usrcntlFakturierung 'für Kunde an RE anhängen Case "Gesamtbericht_CSV" + Dim AnzahlCSV_Berichte As Integer = CInt((New SQL).getValueTxtBySql("SELECT count(distinct(tblMautbericht.[Customer No])) FROM Adressen INNER JOIN tblMautbericht ON Adressen.AdressenNr = tblMautbericht.[Customer No] WHERE Adressen.ExportMautberichtCSV=1 AND cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'", "FMZOLL")) + Dim dtBerichtkunden_CSV As DataTable = (New SQL).loadDgvBySql("SELECT [Customer No], [Licence Plate Number], [Transaction Country], [Transaction date], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], tblMautbericht.[Net Amount], tblMautbericht.[VAT Amount], tblMautbericht.[Total Amount] FROM Adressen INNER JOIN tblMautbericht ON Adressen.AdressenNr = tblMautbericht.[Customer No] @@ -1139,8 +1187,8 @@ Public Class usrcntlFakturierung outFile.Close() If True Then 'cnt Mod 10 = 0 Then - TextBox1.Text = cnt & " / " & dtBerichtkunden_CSV.Rows.Count - Dim proz As Double = (cnt / dtBerichtkunden_CSV.Rows.Count) * 100 + TextBox1.Text = cnt & " / " & AnzahlCSV_Berichte + Dim proz As Double = (cnt / AnzahlCSV_Berichte) * 100 pbMautAnh_Proz.Value = proz lblMautAnh_Proz.Text = proz.ToString("N2") & " %" 'GroupBox12.Refresh() @@ -1151,7 +1199,7 @@ Public Class usrcntlFakturierung Next pbMautAnh_Proz.Value = 100 - TextBox1.Text = dtBerichtkunden_CSV.Rows.Count & " / " & dtBerichtkunden_CSV.Rows.Count + TextBox1.Text = AnzahlCSV_Berichte & " / " & AnzahlCSV_Berichte lblMautAnh_Proz.Text = "100.00 %" @@ -1165,6 +1213,8 @@ Public Class usrcntlFakturierung 'für Kunde an RE anhängen (Tool Report to Verag Invoice aus FMZOLL) Case "Lieferantenbericht_PDF" + Dim AnzahlPDF_Berichte As Integer = CInt((New SQL).getValueTxtBySql("SELECT count(distinct(tblMautbericht.[Customer No])) FROM tblMautbericht WHERE cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'", "FMZOLL")) + Dim dtBerichtkunden_PDF As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], Adressen.Ordnungsbegriff AS [Customer name], tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction date], tblMautbericht.[Transaction Country], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], Sum(tblMautbericht.[Net Amount]) AS [Net Amount], Sum(tblMautbericht.[VAT Amount]) AS [VAT Amount], Sum(tblMautbericht.[Total Amount]) AS [Total Amount] FROM tblMautbericht INNER JOIN Adressen ON tblMautbericht.[Customer No] = Adressen.AdressenNr WHERE cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "' @@ -1201,8 +1251,8 @@ Public Class usrcntlFakturierung If True Then 'cnt Mod 10 = 0 Then - TextBox1.Text = cnt & " / " & dtBerichtkunden_PDF.Rows.Count - Dim proz As Double = (cnt / dtBerichtkunden_PDF.Rows.Count) * 100 + TextBox1.Text = cnt & " / " & AnzahlPDF_Berichte + Dim proz As Double = (cnt / AnzahlPDF_Berichte) * 100 pbMautAnh_Proz.Value = proz lblMautAnh_Proz.Text = proz.ToString("N2") & " %" 'GroupBox12.Refresh() @@ -1213,7 +1263,7 @@ Public Class usrcntlFakturierung Next pbMautAnh_Proz.Value = 100 - TextBox1.Text = dtBerichtkunden_PDF.Rows.Count & " / " & dtBerichtkunden_PDF.Rows.Count + TextBox1.Text = AnzahlPDF_Berichte & " / " & AnzahlPDF_Berichte lblMautAnh_Proz.Text = "100.00 %" MsgBox("PDF-Berichte wurden unter " & PathMautberichte & "erzeugt.") @@ -1442,4 +1492,39 @@ Public Class usrcntlFakturierung Dim f As New SDL.frmRechnungenSuche f.Show(Me) End Sub + + Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click + + Dim Sachbearbeiter = cboSachbearbeiter._value + Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text) + Dim deleted As Boolean = False + + If rechnungsdatum > Today() Then + MsgBox("Rechnungsdatum liegt in der Zukunft, nicht möglich") + Exit Sub + + End If + + If Sachbearbeiter = "" Then + MsgBox("Sachbearbeiter auswählen!") + Exit Sub + End If + + + 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) + + + 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) + + MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF) + + End Sub End Class