From 37996955415832004f6da27f6cfe59d2c2e5d437 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 4 Nov 2026 15:47:44 +0100 Subject: [PATCH] cDatenserver, faktMail, Abrechnungsmaske (fremde Grenzen), etc. --- SDL/Fakturierung/cAutomailversand.vb | 2 +- SDL/Fakturierung/cFakturierung.vb | 8 +++--- SDL/Fakturierung/frmAbrechnungsMaske.vb | 25 ++++++++++++++++--- SDL/Fakturierung/frmFaktEmail.vb | 2 +- SDL/buchhaltung/frmBU_Mahnlauf.vb | 6 ++--- SDL/buchhaltung/usrCntlBH.vb | 25 ++++++++++++++----- .../DATENSERVER/cDATENSERVER.vb | 1 + 7 files changed, 51 insertions(+), 18 deletions(-) diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 2139efe8..beefab81 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -813,7 +813,7 @@ Public Class cAutomailversand If SPED.Grenzstelle = "???" Then Return True - Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_BezeichnungCBO='" & SPED.Grenzstelle & "'", "AVISO", False) + Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_Grenzstelle='" & SPED.Grenzstelle & "'", "AVISO", False) Return FREMDEGRENZE diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 2ec319da..ddf337d9 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -3542,7 +3542,7 @@ Public Class cFakturierung End Select - Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") > 0, True, False) + Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") <> 0, True, False) If Gesamt_RG_BetragSteuerfrei > 0 Then @@ -5159,7 +5159,7 @@ Public Class cFakturierung If isMDMRechnungsdruck Then - If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) <> 0 Then Select Case Row("RechnungSprache") Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." @@ -5537,7 +5537,7 @@ Public Class cFakturierung If isMDMRechnungsdruck Then - If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) <> 0 Then Select Case Row("RechnungSprache") Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." @@ -5985,7 +5985,7 @@ Public Class cFakturierung ' Dies hat zur Folge, dass steuerfreie Rechnungsbeträge für Leistungen, ' die in der Leistungstabelle als ReverseCharge gekennzeichnet sind, ' summiert und auf der Rechnung ausgewiesen werden. - If getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), VorschauID) > 0 Then + If getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), VorschauID) <> 0 Then Select Case ROW("RechnungSprache") Case "EN" : rpt.txtInfo.Text = "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service." Case Else : rpt.txtInfo.Text = "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger." diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index 9dcf2f07..993c2069 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -914,6 +914,19 @@ Public Class frmAbrechnungsMaske ContextMenuStrip1.Items.Add(pdf) End If + If Not ContextMenuStrip1.Items.ContainsKey("4") Then + Dim mail = New ToolStripMenuItem() With {.Text = "E-Mail mit Anlagen", .Name = "4", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + ContextMenuStrip1.Items.Add(mail) + AddHandler mail.Click, AddressOf mnuItem_Clicked + End If + + If Not ContextMenuStrip1.Items.ContainsKey("5") Then + Dim pdf = New ToolStripMenuItem() With {.Text = "PDF mit Anlagen", .Name = "5", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler pdf.Click, AddressOf mnuItem_Clicked + ContextMenuStrip1.Items.Add(pdf) + End If + + ContextMenuStrip1.Show(Cursor.Position) End Sub @@ -925,13 +938,20 @@ Public Class frmAbrechnungsMaske If item IsNot Nothing Then id = item.Name + Dim sammelrechnungmitAnhang As Boolean = False + If id > 3 Then + sammelrechnungmitAnhang = True + id = id - 2 + End If + + 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) Dim sammelrechnungskopieMDM As Boolean = False - Dim sammelrechnungmitAnhang As Boolean = False + If RG_TMP IsNot Nothing Then Dim tempPDF As String = "" @@ -940,7 +960,6 @@ Public Class frmAbrechnungsMaske If RG_TMP.Sammelrechnung = 6 Then If RG_TMP.Status = 4 Then sammelrechnungskopieMDM = True - sammelrechnungmitAnhang = MsgBox("Soll die MDM Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 8, tempPDF, True,,,,,,,,, sammelrechnungmitAnhang, sammelrechnungskopieMDM, listOfCSV, True) Select Case id @@ -973,7 +992,7 @@ Public Class frmAbrechnungsMaske Else - 'sammelrechnungmitAnhang = MsgBox("Soll die Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) + ' sammelrechnungmitAnhang = MsgBox("Soll die Sammelrechnung mit Anhang angezeigt werden?", vbYesNo) Select Case id diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index ab2df6d0..90651800 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -1382,7 +1382,7 @@ Public Class frmFaktEmail If SPED.Grenzstelle = "???" Then Return True - Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_BezeichnungCBO='" & SPED.Grenzstelle & "'", "AVISO", False) + Dim FREMDEGRENZE = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("grz_fremdeGrenze", "tblGrenzstelle", "grz_Grenzstelle='" & SPED.Grenzstelle & "'", "AVISO", False) Return FREMDEGRENZE diff --git a/SDL/buchhaltung/frmBU_Mahnlauf.vb b/SDL/buchhaltung/frmBU_Mahnlauf.vb index 04301339..e7b2d50f 100644 --- a/SDL/buchhaltung/frmBU_Mahnlauf.vb +++ b/SDL/buchhaltung/frmBU_Mahnlauf.vb @@ -105,10 +105,10 @@ Public Class frmBU_Mahnlauf sum(case when OP.c_typ = 'g' then isnull(OP.eur_bruttobetrag, 0) + isnull(OP.eur_zahlung, 0) else 0 end) as Gutschrift, cast(MAX(d_mahnung)as date) Mahndatum, case when Kunden.Abfertigungsverbot = 1 then 'gesperrt' - when max(KTO.dec_aktuellersaldo) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) < 0 then 'ZZ 30 Tage' + when max(KTO.dec_aktuellersaldo) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) < 0 and max(si_mahnstufe) > 2 then 'ZZ 30 Tage' when max(si_mahnstufe) = 1 Then 'telefonisch' - when max(si_mahnstufe) = 3 Then 'Donnerstag' - when max(si_mahnstufe) = 2 Then 'Freitag' + when max(si_mahnstufe) = 2 Then 'Freitag' + when max(si_mahnstufe) = 3 Then 'Donnerstag' when max(si_mahnstufe) >= 4 Then 'Mittwoch' else '-' end as Sperre " & If(cbxNurFaellig.Checked, "", ",SUM(CASE WHEN op.d_netto "" AndAlso IsNumeric(SollBetrag) Then - Betrag = CDbl(SollBetrag) + Betrag += CDbl(SollBetrag) ElseIf HabenBetrag <> "" AndAlso IsNumeric(HabenBetrag) Then - Betrag = CDbl(HabenBetrag) + Betrag -= CDbl(HabenBetrag) End If Dim KundenNrCheck As String = "" @@ -2533,10 +2533,10 @@ Public Class usrCntlBH Betrag = Betrag * -1 End If - Betrag = Betrag + 1 - Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5 + 'Betrag = Betrag + 1 + 'Dim aufgerundet As Double = Math.Ceiling(Betrag / 5) * 5 - R("Gebühr") = aufgerundet + R("Gebühr") = Betrag dt.Rows.Add(R) @@ -2627,10 +2627,23 @@ Public Class usrCntlBH txtBankspesen.Text = counter & " / " & frm.dgvHandling.SelectedRows.Count + Else + + If TYP = "M" Then + + Bankspesen.betrag += r.Cells("Betrag").Value + Bankspesen.gebuehr += r.Cells("Gebühr").Value + + If Bankspesen.SAVE() Then + counter += 1 + End If + txtBankspesen.Text = counter & " / " & frm.dgvHandling.SelectedRows.Count + End If + End If - End If + End If Next diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 2c0a28a7..3e32fc24 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -2020,6 +2020,7 @@ Public Class cDatenarchiv_Collection Catch : End Try Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") Else + Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") 'wegn fehlendem Speicherplatz kann uU zwar der DS angelegt wurden sein, allerdings keine Datei dahinter, diese sollten hier bereinigt werden. Return True End If End If