From 7049e6b3b8143782474dd02ce95abcbf803bd389 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Fri, 27 Sep 2024 16:01:54 +0200 Subject: [PATCH] MDM, Rechnungen, Abrechnung --- .../usrCntlFaktAbrechnung.Designer.vb | 21 ++++++++++++--- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 26 ++++++++++++++----- SDL/mdm/frmMDMDatenverarbetiung.vb | 17 ------------ .../Classes/cRechnungsausgang.vb | 6 +++++ 4 files changed, 44 insertions(+), 26 deletions(-) diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.Designer.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.Designer.vb index aa8f8c40..80096c21 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.Designer.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.Designer.vb @@ -279,6 +279,7 @@ Partial Class usrCntlFaktAbrechnung Me.GutschriftAnVeragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.VeragAGToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.VeragCSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.lblOFgesperrt = New System.Windows.Forms.Label() Me.pnlTop.SuspendLayout() Me.Panel3.SuspendLayout() Me.Panel1.SuspendLayout() @@ -2648,6 +2649,7 @@ Partial Class usrCntlFaktAbrechnung Me.Panel7.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Panel7.BackColor = System.Drawing.Color.WhiteSmoke + Me.Panel7.Controls.Add(Me.lblOFgesperrt) Me.Panel7.Controls.Add(Me.picVK) Me.Panel7.Controls.Add(Me.Button1) Me.Panel7.Controls.Add(Me.Button12) @@ -3931,7 +3933,7 @@ Partial Class usrCntlFaktAbrechnung ' Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GutschriftAusRechnungToolStripMenuItem, Me.SeperateRechnungFürEUSTToolStripMenuItem, Me.GutschriftAnVeragToolStripMenuItem}) Me.ContextMenuStrip2.Name = "ContextMenuStrip2" - Me.ContextMenuStrip2.Size = New System.Drawing.Size(224, 92) + Me.ContextMenuStrip2.Size = New System.Drawing.Size(224, 70) ' 'GutschriftAusRechnungToolStripMenuItem ' @@ -3955,15 +3957,27 @@ Partial Class usrCntlFaktAbrechnung 'VeragAGToolStripMenuItem ' Me.VeragAGToolStripMenuItem.Name = "VeragAGToolStripMenuItem" - Me.VeragAGToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.VeragAGToolStripMenuItem.Size = New System.Drawing.Size(122, 22) Me.VeragAGToolStripMenuItem.Text = "Verag AG" ' 'VeragCSToolStripMenuItem ' Me.VeragCSToolStripMenuItem.Name = "VeragCSToolStripMenuItem" - Me.VeragCSToolStripMenuItem.Size = New System.Drawing.Size(180, 22) + Me.VeragCSToolStripMenuItem.Size = New System.Drawing.Size(122, 22) Me.VeragCSToolStripMenuItem.Text = "Verag CS" ' + 'lblOFgesperrt + ' + Me.lblOFgesperrt.AutoSize = True + Me.lblOFgesperrt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Bold) + Me.lblOFgesperrt.ForeColor = System.Drawing.Color.Red + Me.lblOFgesperrt.Location = New System.Drawing.Point(8, 1) + Me.lblOFgesperrt.Name = "lblOFgesperrt" + Me.lblOFgesperrt.Size = New System.Drawing.Size(73, 13) + Me.lblOFgesperrt.TabIndex = 46 + Me.lblOFgesperrt.Text = "OF gesperrt" + Me.lblOFgesperrt.Visible = False + ' 'usrCntlFaktAbrechnung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -4248,4 +4262,5 @@ Partial Class usrCntlFaktAbrechnung Friend WithEvents GutschriftAnVeragToolStripMenuItem As ToolStripMenuItem Friend WithEvents VeragAGToolStripMenuItem As ToolStripMenuItem Friend WithEvents VeragCSToolStripMenuItem As ToolStripMenuItem + Friend WithEvents lblOFgesperrt As Label End Class diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index e0e70b64..82ff0e90 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -394,10 +394,19 @@ Public Class usrCntlFaktAbrechnung dgvOffertenSperrliste.ClearSelection() : r.Cells("OffertenBez").Selected = True : Exit For End If Next - 'initDGVOfferteDetailsUebersicht(RECHNUNG.kundenn,RECHNUNG.OffertenNr) - 'Dann die Werte eintragen: - ' MsgBox("G: " & RECHNUNG.POSITIONEN.Count) - Dim vorzeichen = 1 'If(RECHNUNG.Vorzeichen = "-", -1, 1) + + If dgvOffertenSperrliste.SelectedRows.Count > 0 Then + If Not IsDBNull(dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt").Value) AndAlso dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt").Value AndAlso IsDate(dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt_Datum").Value) AndAlso dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt_Datum").Value >= RECHNUNG.Abfertigungsdatum Then + dgvOfferteDetailsUebersicht.Rows.Clear() + RECHNUNG.POSITIONEN.Clear() + Exit Sub + 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) For Each POS In RECHNUNG.POSITIONEN Dim found = False For Each r As DataGridViewRow In dgvOfferteDetailsUebersicht.Rows @@ -1120,9 +1129,13 @@ Public Class usrCntlFaktAbrechnung If dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt").Value IsNot DBNull.Value Then If dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt").Value Then dgvOffertenSperrliste.SelectedRows(0).DefaultCellStyle.SelectionForeColor = Color.Red + Else dgvOffertenSperrliste.SelectedRows(0).DefaultCellStyle.SelectionForeColor = Color.Black End If + lblOFgesperrt.Visible = dgvOffertenSperrliste.SelectedRows(0).Cells("Gesperrt").Value + Else + lblOFgesperrt.Visible = False End If Else '.Columns..Columns.Clear() @@ -1168,7 +1181,7 @@ Public Class usrCntlFaktAbrechnung Dim dt As DataTable = SQL.loadDgvBySql(" SELECT [Offertenpositionen].[LeistungsNr],[Offertenpositionen].[LeistungsBez],[Anzahl],[Preis],[Offertenpositionen].[BerechnungsartNr],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],Steuerpflichtig/*,[Geändert am],[Sachbearbeiter]*/,BerechnungsartPosInkludiert " & - " FROM [Offertenpositionen] INNER JOIN [Leistungen] ON leistungen.LeistungsNr=Offertenpositionen.LeistungsNr" & + " FROM [Offertenpositionen] INNER JOIN [Leistungen] ON leistungen.LeistungsNr=Offertenpositionen.LeistungsNr " & " WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr ", "FMZOLL") @@ -4108,10 +4121,11 @@ Nächste_Textzeile_lesen: If cboSteuerschlüssel._value IsNot Nothing AndAlso IsNumeric(cboSteuerschlüssel._value) Then Dim check As Integer = cAllgemein.checkSteuerschluessel(cboFirma._value, RECHNUNG.RechnungsLandKz, RECHNUNG.RechnungsUstIdKz, RECHNUNG.RechnungsUstIdNr, RECHNUNG.RechnungsUstIdGeprüft) + Dim daysCheck As Integer = 31 If check >= 0 Then If IsNumeric(cboSteuerschlüssel._value) AndAlso CInt(cboSteuerschlüssel._value) <> check Then Dim text = SQL.getValueTxtBySql("select AuswahlSteuerbezeichnung from Steuertabelle where Steuerschlüssel =" & check, "FMZOLL") - Dim hintUIDPruef As String = IIf((RECHNUNG.RechnungsUstIdGeprüft IsNot Nothing AndAlso CDate(RECHNUNG.RechnungsUstIdGeprüft) < Today.AddDays(-31)), "UID-Prüfung ist älter als 31 Tage!", "") + Dim hintUIDPruef As String = IIf((RECHNUNG.RechnungsUstIdGeprüft IsNot Nothing AndAlso CDate(RECHNUNG.RechnungsUstIdGeprüft) < Today.AddDays(-daysCheck)), "UID-Prüfung ist älter als " & daysCheck & " Tage!", "") If Not vbYes = MsgBox("Falscher Steuertyp!" & vbNewLine & "Steuerschlüssel " & text & " sollte hinterlegt werden." & vbNewLine & IIf(hintUIDPruef <> "", hintUIDPruef & vbNewLine, "") & "Trotzdem speichern?", vbYesNo) Then Return False End If diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 5d8e5b3d..a0b534a9 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -2637,26 +2637,9 @@ Public Class frmMDMDatenverarbetiung Select Case Lieferant Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4824 - - 'Dim displayFilter = False - 'Dim sqlstr As String = "" - - 'sqlstr &= " SELECT * " - 'sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode " - 'sqlstr &= " WHERE 1=1 " - 'sqlstr &= " AND plose_Fakturiert=0 " - 'sqlstr &= " AND plose_POLSEKundennummer = '" & KdNr & "' " - 'sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " - - '' sqlstr &= " group by plose_ProduktCode" - 'sqlstr &= " order by plp_Land, plose_DatumTransaktion" - - 'Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") - Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4814 Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4823 Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4821 - End Select SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index fb938243..92807cae 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -498,6 +498,8 @@ Public Class cRechnungsausgang If dgv Is Nothing Then errMsg = "ERROR: Keine Positionen angegeben!" : Return False + ElseIf dgv.Rows.Count = 0 Then + errMsg = "ERROR: Keine Positionen angegeben!" : Return False Else If dgv.Rows.Count > 1 Then 'Prüfung für doppelte Positionen mit PK: Bezeichnung und LeistungNr! @@ -521,6 +523,8 @@ Public Class cRechnungsausgang If dgv Is Nothing Then errMsg = "ERROR: Keine Positionen angegeben!" : Return False + ElseIf dgv.Rows.Count = 0 Then + errMsg = "ERROR: Keine Positionen angegeben!" : Return False Else If dgv.Rows.Count > 1 Then 'Prüfung für doppelte Positionen mit PK: Bezeichnung und LeistungNr! @@ -542,6 +546,8 @@ Public Class cRechnungsausgang End If End If + + 'checkFirmen Return True