From 193d4e7d9c4962c2e8167cae678b4f2c086ca7bb Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Fri, 14 Aug 2026 12:54:22 +0200 Subject: [PATCH] ustva, fakt, etc. --- SDL/Fakturierung/cFakturierung.vb | 10 +++++----- SDL/Fakturierung/frmFaktEmail.vb | 4 ++-- SDL/Fakturierung/frmFaktSammelRgDrucken.vb | 14 +++++++------- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 7 ++++--- .../FormulareBaukasten/usrcntlVorauskasse.vb | 4 ++-- SDL/USTV/frmMDM_USTVAntrag.vb | 10 +++++++--- VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb | 14 ++++++++++++++ .../Classes/cMDMFunctionsAllgemein.vb | 8 +++++--- VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb | 9 +++++++-- 9 files changed, 53 insertions(+), 27 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 8ea9988e..adbf848a 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -755,7 +755,7 @@ Public Class cFakturierung End If End Function - Public Shared Function doRechnungsDruck(RK_ID As Integer, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional ByRef printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean + Public Shared Function doRechnungsDruck(RK_ID As Integer, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional ByRef printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False, Optional sendManuell As Boolean = False) As Boolean If RK_ID <= 0 Then Return False Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb) End Function @@ -1389,7 +1389,7 @@ Public Class cFakturierung Return CBool(CInt(SQL.getValueTxtBySql("SELECT TOP 1 isnull(count(*),0) FROM [tblVorauskassen] inner join Rechnungsausgang ON [vk_FilialeNr]=FilialenNr AND [vk_AbfertigungsNr]=AbfertigungsNr AND [vk_KdNr]=RechnungsKundenNr WHERE RechnungsNr='" & RechnungsNr & "' AND Buchungsjahr='" & Buchungsjahr & "'", "FMZOLL")) > 0) End Function - Public Shared Function doRechnungsDruck(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean + Public Shared Function doRechnungsDruck(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False, Optional sendManuell As Boolean = False) As Boolean ' MsgBox(Rechnugnsdruck) If RECHNUNG Is Nothing Then MsgBox("Fehler beim Laden der Rechnungsdaten!") : Return False Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -1411,7 +1411,7 @@ Public Class cFakturierung End If If FIRMA.Firma_ID <> 19 Then - Return doRechnungsdruck_allgemein(RECHNUNG, FIRMA, KD_RG, RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb) + Return doRechnungsdruck_allgemein(RECHNUNG, FIRMA, KD_RG, RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb, sendManuell) Else Return doRechnungsdruck_MDM(RECHNUNG, FIRMA, KD_RG, RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb) End If @@ -1420,7 +1420,7 @@ Public Class cFakturierung End Function - Public Shared Function doRechnungsdruck_allgemein(Rechnung As cRechnungsausgang, firma As cFirmen, KD_RG As cAdressen, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) + Public Shared Function doRechnungsdruck_allgemein(Rechnung As cRechnungsausgang, firma As cFirmen, KD_RG As cAdressen, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False, Optional sendManuell As Boolean = False) Try Dim rpt As New rptRechnungDruck(Rechnung.RechnungSprache) @@ -1951,7 +1951,7 @@ Public Class cFakturierung If Rechnung.[DruckDatumZeit] Is Nothing Then Rechnung.[DruckDatumZeit] = Now 'Wenn Rg-Nr schon vergeben wird das neu gesetzt - Rechnung.SAVE_DruckDatumZeit() ' Nur SAVE_DruckDatumZeit ändern/setzen + Rechnung.SAVE_DruckDatumZeit(sendManuell, Rechnung.Automailversand) ' Nur SAVE_DruckDatumZeit ändern/setzen End If End If diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index 8d49e16b..3f14e874 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -733,7 +733,7 @@ Public Class frmFaktEmail '----------------------------------------------------------------- Dim pathRG = "" - If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then + If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked,,, True) Then Exit Sub End If @@ -741,7 +741,7 @@ Public Class frmFaktEmail If cbxRgKopieDrucken.Checked Then 'KOPIE DRUCK - cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False) + cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False,,, True) End If If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf"))) diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 4db8c2b9..949cf579 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -680,7 +680,7 @@ Public Class frmFaktSammelRgDrucken Dim func As New cAutomailversand For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value)) Dim ADR As New cAdressen(r.Cells("RechnungsKundenNr").Value) - If func.setandcheckEmpfaengerMail_SR(Nothing, ADR, "", "", "", Firma, Sammelrechung) = "" Then + If func.setandcheckEmpfaengerMail_SR(Nothing, ADR, "", "", "", cboFirma._value, Sammelrechung) = "" Then MsgBox("Bei Kunde " & r.Cells("RechnungsKundenNr").Value & " fehlt der Email-Empfänger!" & vbNewLine & "Vorgang wird abgebrochen") Exit Sub End If @@ -733,7 +733,7 @@ Public Class frmFaktSammelRgDrucken End If - setMailversand_ALL(True, Firma, Sammelrechung) + setMailversand_ALL(True, cboFirma._value, Sammelrechung) Me.Enabled = True Me.Cursor = Cursors.Default @@ -764,7 +764,7 @@ Public Class frmFaktSammelRgDrucken If cAutomailversand.automRechnungsversand_deaktivieren(True) Then 'setMailversand(false, Firma, Sammelrechung, 2) - setMailversand_ALL(False, Firma, Sammelrechung) + setMailversand_ALL(False, cboFirma._value, Sammelrechung) cbxAUTOMail.Checked = Not cbxAUTOMail.Checked @@ -930,9 +930,9 @@ Public Class frmFaktSammelRgDrucken Select Case Sammelrechung Case 6 - SQLString = "select RK_ID, RechnungsNr, FilialenNr, AbfertigungsNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 AND Rechnungsausgang.Status IN (2)" & IIf(Firma > 0, " AND Firma_ID =" & Firma, "") - Case Else - SQLString = "select RK_ID, RechnungsNr, FilialenNr, AbfertigungsNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(Abfertigungsdatum as Date) <= '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 AND Rechnungsausgang.Status IN (2) " & IIf(RechnungsNr > 0, " AND Rechnungsausgang.RechnungsNr =" & RechnungsNr, "") & IIf(Firma > 0, " AND Firma_ID =" & Firma, "") + SQLString = "select RK_ID, RechnungsNr, FilialenNr, AbfertigungsNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 AND Rechnungsausgang.Status IN (2)" & IIf(cboFirma._value > 0, " AND Firma_ID =" & cboFirma._value, "") + Case Else + SQLString = "select RK_ID, RechnungsNr, FilialenNr, AbfertigungsNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(Abfertigungsdatum as Date) <= '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 AND Rechnungsausgang.Status IN (2) " & IIf(RechnungsNr > 0, " AND Rechnungsausgang.RechnungsNr =" & RechnungsNr, "") & IIf(cboFirma._value > 0, " AND Firma_ID =" & cboFirma._value, "") End Select dtRE = (New SQL).loadDgvBySql(SQLString, "FMZOLL") @@ -1038,7 +1038,7 @@ Public Class frmFaktSammelRgDrucken Dim fun As New cAutomailversand Dim ShowInfo As String = "" - fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, getAvisoIds(), getKundenNr(), cbxMailoeffnen.Checked,, CDate(txtZeitraumBis.Text), cbxMailoeffnen.Checked, ShowInfo) + fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, cboFirma._value, getAvisoIds(), getKundenNr(), cbxMailoeffnen.Checked,, CDate(txtZeitraumBis.Text), cbxMailoeffnen.Checked, ShowInfo) If cbxMailoeffnen.Checked AndAlso Not ShowInfo.Contains("Empfänger") Then ShowInfo = "" diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index a1a2ed34..75a47310 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -1897,7 +1897,8 @@ Public Class usrCntlFaktAbrechnung 'soll immer alle POS bekommen! laut Lidya! 28.04.2025 - aber nicht im Excel-Format sondern als PDF-Batinic 15.05.2025 Dim dtPOSList As New DataTable - Dim prt As String = FUNC.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1)) + Dim hasVZalreadybilled As Boolean = USTV.hasVZalreadyBilled() + Dim prt As String = FUNC.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1), hasVZalreadybilled) If prt <> "" Then Try @@ -1907,12 +1908,12 @@ Public Class usrCntlFaktAbrechnung If Not String.IsNullOrWhiteSpace(tmpPath) Then Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & ".pdf", USTV.UStVAn_KuNr, False) - If Not DS.hasITEMS OrElse (DS.hasITEMS AndAlso DS.da_date < USTV.UStVAn_Zeitstempel) OrElse isVZ Then 'ahhh die VZ + If Not DS.hasITEMS OrElse (DS.hasITEMS AndAlso DS.da_date < USTV.UStVAn_letzteAenderung) OrElse isVZ OrElse (hasVZalreadybilled And Not isVZ) Then 'ahhh die VZ Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & "_" & RECHNUNG.RK_ID & ".pdf", USTV.UStVAn_KuNr, False) ' Wechsel auf neues Namensschema If Not DS_NEW.hasITEMS Then DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True) reportAktualisiert = True - ElseIf DS_NEW.da_date <= USTV.UStVAn_Zeitstempel Then + ElseIf DS_NEW.da_date <= USTV.UStVAn_letzteAenderung Then DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True) reportAktualisiert = True End If diff --git a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVorauskasse.vb b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVorauskasse.vb index 67c6352d..4937a3a0 100644 --- a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVorauskasse.vb +++ b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVorauskasse.vb @@ -150,8 +150,8 @@ Public Class usrcntlVorauskasse Select Case land Case "DE" - If SENDUNG.tblSnd_Abfertigungsart_ID = 65 AndAlso brexitEnabled Then 'cbam - cboFirma.changeItem("26") + If SENDUNG.tblSnd_Abfertigungsart_ID = 65 Then 'cbam + cboFirma.changeItem("11") Else cboFirma.changeItem("1") End If diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 0ac44865..37f6e1f7 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1835,7 +1835,9 @@ Public Class frmMDM_USTVAntrag dgvUSTVPositionen.GetOrder() getValue(USTV_ANTRAG) + USTV_ANTRAG.UStVAn_letzteAenderung = Now() If USTV_ANTRAG.SAVE Then + init() dgvUSTVPositionen.SetOrder() End If @@ -1889,6 +1891,8 @@ Public Class frmMDM_USTVAntrag End If + + Else Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag() @@ -3866,7 +3870,7 @@ Public Class frmMDM_USTVAntrag Next - SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 1 WHERE [UStVAn_ID] IN (SELECT distinct([UStVAn_ID]) FROM [tblUStVPositionen] WHERE isnull([UStVPo_VZ],0) = 1 and isnull([UStVPo_VZ_RKID],0) = 0)", "FMZOLL") 'Aktualisierung + SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 1, UStVAn_letzteAenderung = getDate() WHERE [UStVAn_ID] IN (SELECT distinct([UStVAn_ID]) FROM [tblUStVPositionen] WHERE isnull([UStVPo_VZ],0) = 1 and isnull([UStVPo_VZ_RKID],0) = 0)", "FMZOLL") 'Aktualisierung init() End If @@ -3902,7 +3906,7 @@ Public Class frmMDM_USTVAntrag Dim count_nichtAbgerVZ As Integer = -1 count_nichtAbgerVZ = CInt(SQL.getValueTxtBySql("SELECT COUNT(*) FROM [tblUStVPositionen] WHERE [UStVAn_ID] = " & USTV_ANTRAG.UStVAn_ID & " and [UStVPo_VZ] = 1 and isnull(UStVPo_VZ_RKID,0) = 0", "FMZOLL")) If count_nichtAbgerVZ = 0 Then - SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 0 WHERE [UStVAn_ID] =" & USTV_ANTRAG.UStVAn_ID, "FMZOLL") + SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 0, UStVAn_letzteAenderung = getDate() WHERE [UStVAn_ID] =" & USTV_ANTRAG.UStVAn_ID, "FMZOLL") End If init() @@ -3996,7 +4000,7 @@ Public Class frmMDM_USTVAntrag Next - If isSet Then SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 1 WHERE [UStVAn_ID] IN (SELECT distinct([UStVAn_ID]) FROM [tblUStVPositionen] WHERE isnull([UStVPo_VZ],0) = 1 and isnull([UStVPo_VZ_RKID],0) = 0)", "FMZOLL") 'Aktualisierung + If isSet Then SQL.doSQL("UPDATE [tblUStVAntrag] SET UStVAn_VZoffen = 1, UStVAn_letzteAenderung = getDate() WHERE [UStVAn_ID] IN (SELECT distinct([UStVAn_ID]) FROM [tblUStVPositionen] WHERE isnull([UStVPo_VZ],0) = 1 and isnull([UStVPo_VZ_RKID],0) = 0)", "FMZOLL") 'Aktualisierung init() End If diff --git a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb index 0be16096..31992cab 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb @@ -62,6 +62,7 @@ Public Class cUSTVAntrag Property UStVAn_Sicherheit As Object = Nothing Property UStVAn_MWSTEingang_offen As Object = Nothing Property POSITIONEN As New List(Of cUStVPositionen) '= Nothing + Property UStVAn_letzteAenderung As Object = Nothing Public hasEntry = False @@ -133,6 +134,7 @@ Public Class cUSTVAntrag list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_VZoffen", UStVAn_VZoffen)) ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Sicherheit", UStVAn_Sicherheit)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_MWSTEingang_offen", UStVAn_MWSTEingang_offen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_letzteAenderung", UStVAn_letzteAenderung)) Return list @@ -322,6 +324,18 @@ Public Class cUSTVAntrag Return -1 End Function + Public Function hasVZalreadyBilled() As Boolean + Try + + + Return SQL.getValueTxtBySql("SELECT count(*) FROM tblUStVPositionen where UStVAn_ID=" & UStVAn_ID & " and UStVPo_VZ = 1 and UStVPo_VZ_RKID is not null", "FMZOLL",,, "0") > 0 + + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + Return False + End Function + Public Function DELETE() As Boolean diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb index 8f929fdd..fcf901b9 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -1098,7 +1098,7 @@ Public Class cMDMFunctionsAllgemein End Function - Shared Function generatePosList(USTV_ANTRAG As cUSTVAntrag, posId As String, Antrag_LandKz As String, SteuerNR As String, openFile As Boolean, type As String, ByRef dt As DataTable, Optional isVZ As Boolean = False, Optional RK_ID As Integer = -1) As String + Shared Function generatePosList(USTV_ANTRAG As cUSTVAntrag, posId As String, Antrag_LandKz As String, SteuerNR As String, openFile As Boolean, type As String, ByRef dt As DataTable, Optional isVZ As Boolean = False, Optional RK_ID As Integer = -1, Optional hasVZalredyBilled As Boolean = False) As String Dim sql As New SQL @@ -1107,6 +1107,8 @@ Public Class cMDMFunctionsAllgemein sqlWHere = " And UStVPo_ID in(" & posId & ")" ElseIf isVZ Then sqlWHere = " and UStVPo_VZ = 1 And (UStVPo_VZ_RKID is null" & IIf(RK_ID > 0, " or UStVPo_VZ_RKID = " & RK_ID & ")", ")") + ElseIf hasVZalredyBilled Then + sqlWHere = " and isnull(UStVPo_VZ,0) = 0 And UStVPo_VZ_RKID is null " End If Dim StringSQL = "SELECT [UStVPo_ID] as Number ,[UStVPo_ReDat] as 'Date of Invoice',[UStVPo_ReNr] as 'Number of invoice' ,[UStVPo_Leistungsbezeichnung] as 'Name of service',[UStVPo_Leistender] as 'Name of supplier',leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as Street, @@ -1164,9 +1166,9 @@ Public Class cMDMFunctionsAllgemein End If header2 = "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & SteuerNR - End If + End If - Return cProgramFunctions.genExcelFromDT_NEW_(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, header1, header2, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "J", True, True, openFile) + Return cProgramFunctions.genExcelFromDT_NEW_(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, header1, header2, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "J", True, True, openFile) Else diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index ad777b85..3ea13bbd 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -464,9 +464,14 @@ Public Class cRechnungsausgang End Function - Public Function SAVE_DruckDatumZeit() As Boolean + Public Function SAVE_DruckDatumZeit(Optional sendmanuell As Boolean = False, Optional isAutoMail As Boolean = False) As Boolean Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() - Dim sqlstr = " UPDATE Rechnungsausgang SET DruckDatumZeit=@DruckDatumZeit WHERE RK_ID=@RK_ID " + Dim SQLStringZusatz = "" + + If isAutoMail AndAlso sendmanuell Then + SQLStringZusatz = ", Automailversand_sent=@DruckDatumZeit" + End If + Dim sqlstr = " UPDATE Rechnungsausgang SET DruckDatumZeit=@DruckDatumZeit " & SQLStringZusatz & " WHERE RK_ID=@RK_ID " Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) End Function