From ded64d31920313d2f11f147e48530a159223963b Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 29 Apr 2026 15:13:30 +0200 Subject: [PATCH] Rechnungsversand, etc. --- SDL/Fakturierung/cAutomailversand.vb | 4 +- SDL/Fakturierung/frmAbrechnungsMaske.vb | 33 +++-- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 156 ++++++++++++---------- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/SDL.vbproj | 7 +- SDL/packages.config | 2 + 6 files changed, 113 insertions(+), 93 deletions(-) diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 8fdbc829..519ab6d0 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -29,7 +29,7 @@ Public Class cAutomailversand LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz WHERE Rechnungsausgang.Status IN (2) and Rechnungsausgang.Automailversand_sent is null And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & _Rechnungsdatum.ToShortDateString & "' - and isnull(Rechnungsausgang.Automailversand,0) = 1 and Rechnungsausgang.Automailversand_sent = NULL and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " + and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU ORDER BY RechnungsLandKz, RechnungsKundenNr" @@ -39,7 +39,7 @@ Public Class cAutomailversand LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz WHERE Rechnungsausgang.Status IN (2) and Rechnungsausgang.Automailversand_sent is null And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & _Rechnungsdatum.ToShortDateString & "' - and isnull(Rechnungsausgang.Automailversand,0) = 1 and Rechnungsausgang.Automailversand_sent = NULL and RechnungsNr > 0 and FakturierungsGruppe = '" & faktGruppe & "'" & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " + and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 and FakturierungsGruppe = '" & faktGruppe & "'" & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " GROUP BY RechnungsNr, RechnungsKundenNr,tblKundenErweitert.kde_SR_IM_EX ORDER BY RechnungsLandKz, RechnungsKundenNr" diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index 4205deb6..f0322c91 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -1,5 +1,6 @@ Imports System.IO Imports Microsoft.Office.Interop +Imports VERAG_PROG_ALLGEMEIN Public Class frmAbrechnungsMaske Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -53,7 +54,7 @@ Public Class frmAbrechnungsMaske FirmaTmp = "VERAGIMEX" End If - FirmaTmp = "AMBAR" + 'FirmaTmp = "AMBAR" cboSachbearbeiter.Items.Clear() @@ -246,22 +247,22 @@ Public Class frmAbrechnungsMaske End If .Columns("UnterNr").Width = 35 - .Columns("Art").Width = 30 - .Columns("Betrag").Width = 100 - .Columns("Rechnungsempfänger").MinimumWidth = 150 - .Columns("Rechnungsempfänger").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill + .Columns("Art").Width = 30 + .Columns("Betrag").Width = 100 + .Columns("Rechnungsempfänger").MinimumWidth = 150 + .Columns("Rechnungsempfänger").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - If Not cbxGutschriftenAnVerag.Checked Then - .Columns("Rechnungsdruck").Width = 60 - .Columns("Rechnungsdruck").HeaderText = "Rg.Art" - .Columns("Rechnungsdruck").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter - End If - - - .Columns("Betrag").DefaultCellStyle.Format = "C2" + If Not cbxGutschriftenAnVerag.Checked Then + .Columns("Rechnungsdruck").Width = 60 + .Columns("Rechnungsdruck").HeaderText = "Rg.Art" + .Columns("Rechnungsdruck").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter End If - If cboFirma._value <> "" AndAlso cboFirma._value = "19" Then + + .Columns("Betrag").DefaultCellStyle.Format = "C2" + End If + + If cboFirma._value <> "" AndAlso cboFirma._value = "19" Then For Each r In .Rows @@ -986,6 +987,10 @@ Public Class frmAbrechnungsMaske Dim ListOfRK_ID As New List(Of Integer) + Dim noRE_DATE = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value)) + + If noRE_DATE Then MsgBox("ACHTUNG, Rechnungsdatum wurde nicht gesetzt." & vbNewLine & "Vorgang wird abgebrochen!") : Exit Sub + For Each row As DataGridViewRow In dgvRechnungen.SelectedRows If Not IsDBNull(row.Cells("RK_ID").Value) AndAlso IsNumeric(row.Cells("RK_ID").Value) Then diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 30840f4f..05b97e8c 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -5524,104 +5524,114 @@ mwst: If cboRechnungAn._value = "" Then Return enableAUTOMAIL + If cboSammelrechnung._value <> 0 Then Return enableAUTOMAIL + Dim RD_DRUCK = -1 - Dim AD As cAdressen + Dim AD As cAdressen - Select Case cboRechnungAn._value - Case "1" - If kdFirmaAbsender.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAbsender.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "2" - If kdFirmaEmpfaenger.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaEmpfaenger.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "3" - If kdFirmaAuftraggeber.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAuftraggeber.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "4" - If kdFirmaAvisierer.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAvisierer.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case Else - Return enableAUTOMAIL - End Select + Select Case cboRechnungAn._value + Case "1" + If kdFirmaAbsender.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAbsender.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "2" + If kdFirmaEmpfaenger.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaEmpfaenger.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "3" + If kdFirmaAuftraggeber.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAuftraggeber.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "4" + If kdFirmaAvisierer.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAvisierer.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case Else + Return enableAUTOMAIL + End Select - 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + + If cboSammelrechnung._value = 0 AndAlso lblDruckDatum.Text = "" AndAlso RD_DRUCK = 2 Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + If RECHNUNG IsNot Nothing AndAlso (RECHNUNG.Status <> 0 AndAlso RECHNUNG.Status <> 2) Then + Return enableAUTOMAIL = False + Else + enableAUTOMAIL = True + End If - 'STATUS 0-_> Rechnung angelegt - 'STATUS 1-_> Einzel-Rg gedruckt - 'STATUS 2-_> Anlagen zur Rg gedruckt - 'STATUS 3-_> Sammel-Rg gedruckt - 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - If cboSammelrechnung._value = 0 AndAlso lblDruckDatum.Text = "" AndAlso RD_DRUCK = 2 Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? - If RECHNUNG IsNot Nothing AndAlso (RECHNUNG.Status <> 0 AndAlso RECHNUNG.Status <> 2) Then - Return enableAUTOMAIL = False Else - enableAUTOMAIL = True + enableAUTOMAIL = False End If Else - enableAUTOMAIL = False - End If - - - Else If RECHNUNG.Rechnung_an = 0 Then Return enableAUTOMAIL + If cboSammelrechnung._value <> 0 Then + Return enableAUTOMAIL + ElseIf RECHNUNG.Sammelrechnung <> 0 Then + Return enableAUTOMAIL + End If + + + Dim RD_DRUCK = -1 - Dim AD As cAdressen - Select Case RECHNUNG.Rechnung_an - Case 1 - If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.AbsenderKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 2 - If RECHNUNG.EmpfängerKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.EmpfängerKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 3 - If RECHNUNG.VermittlerKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.VermittlerKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case 4 - If RECHNUNG.AvisiererKundenNr Is Nothing Then Return enableAUTOMAIL - AD = New cAdressen(RECHNUNG.AvisiererKundenNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case Else - Return enableAUTOMAIL - End Select + Dim AD As cAdressen + Select Case RECHNUNG.Rechnung_an + Case 1 + If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.AbsenderKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 2 + If RECHNUNG.EmpfängerKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.EmpfängerKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 3 + If RECHNUNG.VermittlerKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.VermittlerKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case 4 + If RECHNUNG.AvisiererKundenNr Is Nothing Then Return enableAUTOMAIL + AD = New cAdressen(RECHNUNG.AvisiererKundenNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case Else + Return enableAUTOMAIL + End Select - 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft - 'STATUS 0-_> Rechnung angelegt - 'STATUS 1-_> Einzel-Rg gedruckt - 'STATUS 2-_> Anlagen zur Rg gedruckt - 'STATUS 3-_> Sammel-Rg gedruckt - 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + + If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + enableAUTOMAIL = True + Else + enableAUTOMAIL = False + + + + End If - If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? - enableAUTOMAIL = True - Else - enableAUTOMAIL = False End If - - - - End If - - If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then 'Button8.Enabled = Not enableAUTOMAIL 'Button9.Enabled = Not enableAUTOMAIL 'Button4.Enabled = Not enableAUTOMAIL diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index b1be998c..addf9aac 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/SDL.vbproj b/SDL/SDL.vbproj index 4c88809d..452cc65a 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -104,8 +104,8 @@ ..\..\..\Aviso\AVISO\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll - - F:\PROGRAMMIERUNG\dll\ActiveReports18\allDll\BouncyCastle.Cryptography.dll + + ..\..\..\Aviso\AVISO\packages\BouncyCastle.Cryptography.2.6.2\lib\net461\BouncyCastle.Cryptography.dll False @@ -256,6 +256,9 @@ ..\..\..\Aviso\AVISO\packages\itext.9.6.0\lib\net461\itext.barcodes.dll + + ..\..\..\Aviso\AVISO\packages\itext.bouncy-castle-adapter.9.6.0\lib\net461\itext.bouncy-castle-adapter.dll + ..\..\..\Aviso\AVISO\packages\itext.9.6.0\lib\net461\itext.bouncy-castle-connector.dll diff --git a/SDL/packages.config b/SDL/packages.config index 482b0167..463dcfc4 100644 --- a/SDL/packages.config +++ b/SDL/packages.config @@ -1,6 +1,7 @@  + @@ -19,6 +20,7 @@ +