From ab2324c911f66bfb17e151135f922facc05e3ae5 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 8 Sep 2026 14:37:51 +0200 Subject: [PATCH] ZNB --- SDL/Formulare/KDFormulare/frmFormulare.vb | 6 +- SDL/buchhaltung/usrCntlBH.Designer.vb | 15 ++++ SDL/buchhaltung/usrCntlBH.vb | 89 ++++++++++++++++++++++- 3 files changed, 105 insertions(+), 5 deletions(-) diff --git a/SDL/Formulare/KDFormulare/frmFormulare.vb b/SDL/Formulare/KDFormulare/frmFormulare.vb index fc5db48b..2f7ad9f8 100644 --- a/SDL/Formulare/KDFormulare/frmFormulare.vb +++ b/SDL/Formulare/KDFormulare/frmFormulare.vb @@ -1866,13 +1866,13 @@ Public Class FormularManagerNEU listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(formatAmountEUR(usrCntl.txtCBAM_jeZertBest_Paket_1._value, True), 168, Top + 114.5, 25, 6, "bold", 10, , iTextSharp.text.Element.ALIGN_RIGHT, 2)) - Dim ohneOnboarding As String = IIf(usrCntl.cbxOnboardingVerrechnen.Checked, "", "ohne_Onboarding_") + 'Dim ohneOnboarding As String = IIf(usrCntl.cbxOnboardingVerrechnen.Checked, "", "ohne_Onboarding_") ' Dim firma=getUO2() Select Case usrCntl.cboSprache._value Case "TR", "EN" - Return fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", "VERAG", "", "CBAM_indirekt_" & ohneOnboarding & usrCntl.cboSprache._value, listTowrite) + Return fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", "VERAG", "", "CBAM_indirekt_" & usrCntl.cboSprache._value, listTowrite) Case Else - Return fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", "VERAG", "", "CBAM_indirekt" & ohneOnboarding, listTowrite) + Return fm.fillPDF("DOKUMENTE", "VORLAGEN", "SONSTIGE", "VERAG", "", "CBAM_indirekt", listTowrite) End Select Return "" diff --git a/SDL/buchhaltung/usrCntlBH.Designer.vb b/SDL/buchhaltung/usrCntlBH.Designer.vb index 127f84fb..610d0d46 100644 --- a/SDL/buchhaltung/usrCntlBH.Designer.vb +++ b/SDL/buchhaltung/usrCntlBH.Designer.vb @@ -199,6 +199,7 @@ Partial Class usrCntlBH Me.Label51 = New System.Windows.Forms.Label() Me.txtJahr_FIBU = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Button17 = New System.Windows.Forms.Button() + Me.cbxPOSBNZerstellen = New System.Windows.Forms.CheckBox() Me.pnl.SuspendLayout() Me.TabPage1.SuspendLayout() Me.GroupBox13.SuspendLayout() @@ -2165,6 +2166,7 @@ Partial Class usrCntlBH ' 'GroupBox11 ' + Me.GroupBox11.Controls.Add(Me.cbxPOSBNZerstellen) Me.GroupBox11.Controls.Add(Me.txtPloseAnh_Einarbeitung) Me.GroupBox11.Controls.Add(Me.Label71) Me.GroupBox11.Controls.Add(Me.pbPloseAnh_Proz) @@ -2634,6 +2636,18 @@ Partial Class usrCntlBH Me.Button17.TabIndex = 81 Me.Button17.UseVisualStyleBackColor = True ' + 'cbxPOSBNZerstellen + ' + Me.cbxPOSBNZerstellen.AutoSize = True + Me.cbxPOSBNZerstellen.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxPOSBNZerstellen.Location = New System.Drawing.Point(524, 90) + Me.cbxPOSBNZerstellen.Name = "cbxPOSBNZerstellen" + Me.cbxPOSBNZerstellen.Size = New System.Drawing.Size(115, 17) + Me.cbxPOSBNZerstellen.TabIndex = 81 + Me.cbxPOSBNZerstellen.Text = "POS-BNZ erstellen" + Me.cbxPOSBNZerstellen.UseVisualStyleBackColor = True + Me.cbxPOSBNZerstellen.Visible = False + ' 'usrCntlBH ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -2865,4 +2879,5 @@ Partial Class usrCntlBH Friend WithEvents pbPloseAnh_Proz As ProgressBar Friend WithEvents lblPloseAnh_Proz As Label Friend WithEvents Button17 As Button + Friend WithEvents cbxPOSBNZerstellen As CheckBox End Class diff --git a/SDL/buchhaltung/usrCntlBH.vb b/SDL/buchhaltung/usrCntlBH.vb index 89dee112..929ebe67 100644 --- a/SDL/buchhaltung/usrCntlBH.vb +++ b/SDL/buchhaltung/usrCntlBH.vb @@ -1,5 +1,6 @@ Imports System.Globalization Imports System.Text +Imports System.Web.UI.WebControls.Expressions Imports ClosedXML.Excel Imports com.sun.xml.internal.rngom Imports VERAG_PROG_ALLGEMEIN @@ -69,6 +70,13 @@ Public Class usrCntlBH Dim isMDM As Boolean = False If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_abteilung = "MDM" OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_nname = "Breimaier" Then isMDM = True If isMDM Then + + If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", "SDL") Then + + cbxPOSBNZerstellen.Visible = True + + End If + txtnichtabrechneteKunden.Text = SQL.getValueTxtBySql("SELECT count(distinct(kundenNr)) FROM [VERAG].[dbo].[tblMDM_Zinsberechnung] where verrechnet is null", "FMZOLL",,, "0") If IsNumeric(txtnichtabrechneteKunden.Text) AndAlso CInt(txtnichtabrechneteKunden.Text) > 0 Then btnDel_.Visible = True @@ -1058,7 +1066,7 @@ Public Class usrCntlBH End Function - Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef Fusstext As String, ZahlungszielAusDebitor As Integer, sammelrechnung As Boolean) + Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef Fusstext As String, ZahlungszielAusDebitor As Integer, sammelrechnung As Boolean, POSBNZ As Boolean) Try If KdNr = "" Then Return False @@ -1202,6 +1210,31 @@ Public Class usrCntlBH RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim + If POSBNZ Then + + Dim path As String = createZNBReport(dt, KdNr, CDate(SPEDBUCH.Abfertigungsdatum), RG) + + Dim fi As New System.IO.FileInfo(path) + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "ZNB", RG.KundenNrZentrale, CDate(SPEDBUCH.Abfertigungsdatum).ToShortDateString, "", fi.Name & fi.Extension) + + If Not DS.uploadDataToDATENSERVER(path, fi.Name, fi.Extension,,,, True) Then + MsgBox("Fehler beim Speichern: Datenserver! :" & RG.Firma_ID) + End If + + Dim ANH As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge + ANH.dsId = CInt(DS.da_id) + ANH.Bezeichnung = "POS-Liste VERZUGSZINSEN " & CDate(SPEDBUCH.Abfertigungsdatum).ToShortDateString & fi.Extension + RG.ANHAENGE.Add(ANH) + + If Not ANH.INSERT(RG.RK_ID, False) Then + MsgBox("Fehler beim Anlegen des Anhangs für RK_ID " & RG.RK_ID) + Else + RG.Anlage_1 = "POS-Liste VERZUGSZINSEN" + End If + + + End If + If RG.SAVE Then RK_ID = RG.RK_ID @@ -1217,6 +1250,54 @@ Public Class usrCntlBH End Function + Private Function createZNBReport(dtZNBList As DataTable, KDNr As Integer, rechnungsdatum As Date, RG As cRechnungsausgang) As String + + + Dim rpt As New rptPOS_ZNB(RG, RG.SteuerfreierGesamtbetrag + RG.SteuerpflichtigerGesamtbetrag) + + rpt.DataSource = dtZNBList + + rpt.lblRgDatum.Text = rechnungsdatum + rpt.txtKunde.Text = KDNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KDNr).FullName + rpt.Label2.Visible = False + rpt.TextBox1.Visible = False + rpt.Label4.Text = rechnungsdatum + + rpt.lblHeader.Text &= " " & RG.Vermerk + + If rpt.DataSource.rows.count = 0 Then Return "" + + Dim AD As New cAdressen(KDNr) + Dim sum As Double = 0 + + rpt.txtKunde.Text = AD.FullName + + AddHandler rpt.Detail.Format, Sub() + + If Not IsDBNull(rpt.Fields.Item("clmnZinsen").Value) AndAlso Not IsNothing(rpt.Fields.Item("clmnZinsen").Value) AndAlso IsNumeric(rpt.Fields.Item("clmnZinsen").Value) Then + sum += CDbl(rpt.Fields.Item("clmnZinsen").Value) + End If + + + End Sub + + + AddHandler rpt.ReportFooter1.Format, Sub() + rpt.txtBruttoGesSum.Text = sum.ToString("N2") + End Sub + + + Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG.AbfertigungsNr & ".pdf", ".pdf", , False) + Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport + rpt.Run(False) + p.NeverEmbedFonts = "" + p.Export(rpt.Document, tmpPath) + rpt.Dispose() + + Return tmpPath + + End Function + Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0, Optional leistungsBez As String = "", Optional nachzahlungsID As Integer = -1) @@ -1378,7 +1459,7 @@ Public Class usrCntlBH Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim RK_ID As Integer = -1 If Not gen_SPEDBUCH_ByKdNr(R("kundenNr"), SPEDBUCH, CDate(txtZRbis.Text).ToShortDateString, vermerk) Then verarbOK = False - If Not gen_RECHNUNG_BySPEDBUCH(R("kundenNr"), SPEDBUCH, RK_ID, Fußtext, R("belegZahlungsziel"), cbxZBalsSR.Checked) Then verarbOK = False + If Not gen_RECHNUNG_BySPEDBUCH(R("kundenNr"), SPEDBUCH, RK_ID, Fußtext, R("belegZahlungsziel"), cbxZBalsSR.Checked, cbxPOSBNZerstellen.Checked) Then verarbOK = False If verarbOK Then SQL.doSQL("UPDATE [tblMDM_Zinsberechnung] SET [verrechnet]=GETDATE(), RK_ID = " & RK_ID & " WHERE [verrechnet] Is null And kundenNr='" & R("kundenNr") & "' ", "FMZOLL") @@ -2115,5 +2196,9 @@ Public Class usrCntlBH End If + End Sub + + Private Sub Button18_Click(sender As Object, e As EventArgs) + End Sub End Class