From eba128614df73452dc8b5eeff1533fd6f3eff304 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 10 Apr 2024 15:11:49 +0200 Subject: [PATCH] =?UTF-8?q?Bugfix=20Emailversand,=20kurli.=20Schriftart=20?= =?UTF-8?q?aus=20Email/Anhang=20entfernen,=20Pr=C3=BCfung=20f=C3=BCr=20dop?= =?UTF-8?q?p.=20Positionen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/Fakturierung/frmAbrechnungsMaske.vb | 14 +++++------ .../Classes/cRechnungsausgang.vb | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index 9aaf8290..7e349130 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -742,15 +742,15 @@ Public Class frmAbrechnungsMaske Dim SR_RechnungsNr = InputBox("SR-Nummer eingeben: ", "Rechnungsdruck - " & IIf(item.Text IsNot Nothing, item.Text, "PDF")) If IsNumeric(SR_RechnungsNr) Then - Dim RK_ID = SQL.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & SR_RechnungsNr & "' AND Firma_ID='" & cboFirma._value & "' ORDER BY DruckDatumZeit DESC", "FMZOLL") - If IsNumeric(RK_ID) Then - Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) - If RG_TMP IsNot Nothing Then - 'id mitübergeben (1_> drucken, 2 Email, 3 PDF) - cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, , id,, True) - End If + Dim RK_ID = SQL.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & SR_RechnungsNr & "' AND Firma_ID='" & cboFirma._value & "' ORDER BY DruckDatumZeit DESC", "FMZOLL") + If IsNumeric(RK_ID) Then + Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) + If RG_TMP IsNot Nothing Then + 'id mitübergeben (1_> drucken, 2 Email, 3 PDF) + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, , id,, True) End If End If + End If End Sub diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index 5746e60a..2b42fa84 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -518,6 +518,29 @@ Public Class cRechnungsausgang End If End If + If dgv Is Nothing 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! + Dim dt As New DataTable + dt.Columns.Add("name", GetType(String)) + + For Each row As DataGridViewRow In dgv.Rows + Dim R As DataRow = dt.NewRow + R("name") = row.Cells(0).Value + dt.Rows.Add(R) + Next + Dim dv As New DataView(dt) + Dim distinct As DataTable = dv.ToTable(True, New String() {"name"}) + + If distinct.Rows.Count <> dt.Rows.Count Then + errMsg = "ERROR: Doppelte Positionen vorhanden!" : Return False + End If + + End If + End If + Return True End Function