From 0b3db20039c1452024d2768b7ed1da5e615e9e9b Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 7 Jan 2026 10:28:11 +0100 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/Classes/cRKSV.vb | 203 +++++++++++++++- SDL/Fakturierung/cFakturierung.vb | 224 +++++++++++------- SDL/SDL.vbproj | 38 ++- SDL/USTV/frmUSTVoffeneAntraege.vb | 4 +- SDL/kassenbuch/frmNacherfassungLeihgeld.vb | 8 +- ...mKundenUebersichtZollRgDetails.Designer.vb | 24 +- .../frmKundenUebersichtZollRgDetails.vb | 41 ++++ SDL/kunden/usrcntlKundeBearbeitenFull.vb | 2 +- SDL/packages.config | 4 + VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb | 8 +- 10 files changed, 447 insertions(+), 109 deletions(-) diff --git a/SDL/Classes/cRKSV.vb b/SDL/Classes/cRKSV.vb index 23cc5bda..6ee3618d 100644 --- a/SDL/Classes/cRKSV.vb +++ b/SDL/Classes/cRKSV.vb @@ -2500,6 +2500,22 @@ Public Class cRKSV End Function + Private Shared Function checkifSaldo(mandant As Integer, Jahr As Integer, kontoNr As Integer) As Boolean + + + Dim sql = "Select COUNT([FIBU2].dbo.fibu_periodensaldo.i_konto) FROM [FIBU2].dbo.fibu_periodensaldo WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = " & mandant & " And [FIBU2].dbo.fibu_periodensaldo.si_jahr = " & Jahr & " And [FIBU2].dbo.fibu_periodensaldo.i_konto = " & kontoNr & "" + + Dim cntTxt = (New VERAG_PROG_ALLGEMEIN.SQL).getValueTxtBySqlVarList(sql, "FIBU", , "0") + + Dim cnt As Integer = 0 + If Integer.TryParse(cntTxt, cnt) AndAlso cnt > 0 Then + Return True + Else + Return False + End If + + End Function + Public Shared Property DefaultMandant As Integer = 9 Public Shared Property DefaultKassenkonto As Integer = 2700 @@ -2577,6 +2593,162 @@ Public Class cRKSV BelegNrUID &= FIBU_YEAR.ToString.Substring(2, 2) BelegNrUID &= i_beleg_refid.ToString("D5") + + 'insert perioden-salden!! + + + For Each Konten In dtKonten.Rows + + Dim kontoNr As Integer = CInt(Konten("Konto")) + + If Not checkifSaldo(mandant, FIBU_YEAR, kontoNr) Then + Dim aktellerSaldo As String = sql.getValueTxtBySqlVarList("Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo FROM [FIBU2].dbo.fibu_konto WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = " & SafeIntToSql(mandant) & " And [FIBU2].dbo.fibu_konto.i_konto = " & kontoNr & " ", "FIBU",, "0") + If aktellerSaldo <> "" AndAlso IsNumeric(aktellerSaldo) Then + InsertFibuPeriodensaldo(sql, mandant, jahr, kontoNr, CDbl(aktellerSaldo)) + End If + End If + + Next + + + 'Set @dec_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo FROM [FIBU2].dbo.fibu_konto WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr And [FIBU2].dbo.fibu_konto.i_konto = @Schleifenkonto) + 'If @dec_aktuellersaldo Is NULL SET @dec_aktuellersaldo = 0 + + 'INSERT INTO [FIBU2].dbo.fibu_periodensaldo ( + '[FIBU2].dbo.fibu_periodensaldo.i_firm_refid, + '[FIBU2].dbo.fibu_periodensaldo.si_jahr, + '[FIBU2].dbo.fibu_periodensaldo.i_konto, + '[FIBU2].dbo.fibu_periodensaldo.i_perioden, + '[FIBU2].dbo.fibu_periodensaldo.dec_eroeff, + '[FIBU2].dbo.fibu_periodensaldo.dec_abschluss, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_1, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_1, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_2, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_2, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_3, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_3, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_4, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_4, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_5, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_5, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_6, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_6, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_7, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_7, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_8, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_8, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_9, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_9, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_10, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_10, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_11, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_11, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_12, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_12, + '[FIBU2].dbo.fibu_periodensaldo.dec_soll_13, + '[FIBU2].dbo.fibu_periodensaldo.dec_haben_13, + '[FIBU2].dbo.fibu_periodensaldo.eur_eroeff, + '[FIBU2].dbo.fibu_periodensaldo.eur_abschluss, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_1, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_1, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_2, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_2, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_3, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_3, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_4, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_4, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_5, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_5, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_6, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_6, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_7, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_7, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_8, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_8, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_9, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_9, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_10, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_10, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_11, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_11, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_12, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_12, + '[FIBU2].dbo.fibu_periodensaldo.eur_soll_13, + '[FIBU2].dbo.fibu_periodensaldo.eur_haben_13, + '[FIBU2].dbo.fibu_periodensaldo.i_buchungskreis) + + 'VALUES ( + '@MandantNr, + '@Jahr, + '@Schleifenkonto, + '0, + '@dec_aktuellersaldo, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '@dec_aktuellersaldo, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '0, + '1) + + + + + + + + + + InsertBelegskopf_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), 1, buchungstext, CType(betrag, Double), "EUR", Now(), VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, protokollId, BelegNrUID) ' 8) insert belegzeilen depending on type @@ -2742,8 +2914,8 @@ Public Class cRKSV End Sub Private Shared Function GetStapelRefId(sql As VERAG_PROG_ALLGEMEIN.SQL, mandant As Integer) As String - Dim v = sql.getValueTxtBySqlVarList("SELECT i_stapel_refid FROM [FIBU2].dbo.fibu_stapelart WHERE c_stapelname LIKE 'Auszahlungskasse 1' AND i_firm_refid = " & SafeIntToSql(mandant), "FIBU",, "") - Return If(String.IsNullOrWhiteSpace(v), "0000", v) + Dim v = sql.getValueTxtBySqlVarList("SELECT i_stapel_refid FROM [FIBU2].dbo.fibu_stapelart WHERE c_stapelname Like 'Auszahlungskasse 1' AND i_firm_refid = " & SafeIntToSql(mandant), "FIBU",, "") + Return If(String.IsNullOrWhiteSpace(v), "0000", v) End Function Private Shared Function GetNextStapelLfdNr(sql As VERAG_PROG_ALLGEMEIN.SQL, stapelRefId As String, mandant As Integer) As Integer @@ -2797,6 +2969,33 @@ Public Class cRKSV sql.doSQL(sqlStr, "FIBU") End Sub + Private Shared Sub InsertFibuPeriodensaldo( + sql As VERAG_PROG_ALLGEMEIN.SQL, + mandant As Integer, + jahr As Integer, + konto As Integer, + decAktuellerSaldo As Double) + + Dim saldo As String = decAktuellerSaldo.ToString().Replace(",", ".") + + Dim sqlStr As String = + "INSERT INTO [FIBU2].dbo.fibu_periodensaldo (i_firm_refid, si_jahr, i_konto, i_perioden, dec_eroeff, dec_abschluss, dec_soll_1, dec_haben_1, dec_soll_2, dec_haben_2, dec_soll_3, dec_haben_3,dec_soll_4, dec_haben_4, dec_soll_5, dec_haben_5, dec_soll_6, dec_haben_6, dec_soll_7, dec_haben_7, dec_soll_8, dec_haben_8, dec_soll_9, dec_haben_9, " & + " dec_soll_10, dec_haben_10, dec_soll_11, dec_haben_11, dec_soll_12, dec_haben_12, dec_soll_13, dec_haben_13, eur_eroeff, eur_abschluss, eur_soll_1, eur_haben_1, eur_soll_2, eur_haben_2, eur_soll_3, eur_haben_3, eur_soll_4, eur_haben_4, eur_soll_5, eur_haben_5, eur_soll_6, eur_haben_6, eur_soll_7, eur_haben_7, eur_soll_8, eur_haben_8, eur_soll_9, eur_haben_9, " & + " eur_soll_10, eur_haben_10, eur_soll_11, eur_haben_11, eur_soll_12, eur_haben_12, eur_soll_13, eur_haben_13, i_buchungskreis) " & + "VALUES (" & + SafeIntToSql(mandant) & "," & + jahr & "," & + konto & "," & + "0," & + String.Join(",", Enumerable.Repeat("0", 32)) & "," & + saldo & "," & + String.Join(",", Enumerable.Repeat("0", 26)) & "," & + "1);" + + sql.doSQL(sqlStr, "FIBU") + + End Sub + Private Shared Sub createOP_new(mandant As Integer, Betrag As Double, BelegNrText As String, datumKurz As String, BelegNr As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, Personenkonto As Integer, Forderungskonto As Integer, i_op_refid As String, c_op_Typ As Char, Sprache As String, Zahlungsziel As String, Skonto As String, Skontodatum As String, Nettodatum As String, c_ustidnr As String, c_urbelegid As String) 'Rechnung Betrag Positiv, Gutschrift Betrag negativ!typ diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index da0aad0d..b58ca9f6 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -3,10 +3,14 @@ Imports System.Globalization Imports System.IO Imports System.Net Imports System.Web.UI.WebControls.Expressions +Imports GrapeCity.ActiveReports.Export.Pdf +Imports iText.Kernel.Pdf +Imports itextsharp.text.pdf Imports Microsoft.Office.Interop Imports s2industries.ZUGFeRD Imports VERAG_PROG_ALLGEMEIN + Public Class cFakturierung Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -321,7 +325,7 @@ Public Class cFakturierung End If End If - Select Case RECHNUNG.[BelegartenNr] + Select Case RECHNUNG.[BelegartenNr] Case 70 'RECHNUNG Dim VK = VERAG_PROG_ALLGEMEIN.cVorauskasse.LOADByFilialeAbfNr(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr) @@ -1838,8 +1842,29 @@ Public Class cFakturierung Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport rpt.Run(False) p.NeverEmbedFonts = "" + 'p.Version = Section.PdfVersion.PDFA3b - NICHT AUSREICHEND FÜR ZUGFERD! AUSSERDEM WIR PROF-VERSION BENÖTIGT! p.Export(rpt.Document, tmpPath) + '------------------- WEGEN PDF/A3 + + 'Dim srcPdf = tmpPath + 'Dim dstPdf = "pdfa3.pdf" + 'Dim iccPath = "sRGB.icc" + + 'Dim reader As New iText.Kernel.Pdf.PdfReader(srcPdf) + 'Dim writer As New PdfWriter(dstPdf) + + 'Dim iccStream = New FileStream(iccPath, FileMode.Open, FileAccess.Read) + 'Dim icc = ICC_Profile.GetInstance(iccStream) + + 'Dim outputIntent As New PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1", iccStream) + + 'Dim pdf As New iText.Pdfa.PdfADocument(writer, iText.Kernel.Pdf.PdfAConformanceLevel.PDF_A_3B, outputIntent) + + 'pdf.Close() + + '------------------- WEGEN PDF/A3 + Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") @@ -2868,107 +2893,107 @@ Public Class cFakturierung ' MsgBox(Rechnugnsdruck) Dim RD_DRUCK = If(Rechnugnsdruck >= 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0)) 'If(AD.Rechnungsdruck, 0) - ' MsgBox(RD_DRUCK) - Select Case RD_DRUCK - Case 0, 1 'DRUCKEN + ' MsgBox(RD_DRUCK) + Select Case RD_DRUCK + Case 0, 1 'DRUCKEN + + Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False) + + If printStbVdb AndAlso RECHNUNG.Firma_ID <> 1 Then + If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then + printSpedBuchAnhaenge(RECHNUNG, True, True) + End If + End If + If RECHNUNG.ANHAENGE.Count > 0 AndAlso RECHNUNG.Firma_ID <> 1 Then + If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then + printRGAnhaenge(RECHNUNG) + End If + End If + + Return ret + + Case 2, 5 'MAIL + + Path = tmpPath + + Try + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + Select Case RECHNUNG.RechnungsLandKz + Case "TR" + Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr + Mail.HTMLBody = "Sayin Bayanlar ve Baylar,

ekte baslikta yazan faturayi bulabilirsinz." + Mail.HTMLBody &= "


Saygilarimizla

" & getSignature(RECHNUNG) + Case "A", "AT", "D", "DE", "CH" + Mail.Subject = "Rechnung Nr. " & RECHNUNG.RechnungsNr + Mail.HTMLBody = "Sehr geehrte Damen und Herren,

im Anhang senden wir Ihnen die o.g. Rechnung." + Mail.HTMLBody &= "


Mit freundlichen Grüßen

" & getSignature(RECHNUNG) + Case Else + Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr + Mail.HTMLBody = "Dear Sir or Madam,

attached we send you the invoice mentioned above." + Mail.HTMLBody &= "


Best regards

" & getSignature(RECHNUNG) + End Select + Mail.HTMLBody = "
" & Mail.HTMLBody & "
" + + Dim emai_receipt As String = "" + If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then emai_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an (ATILLA)") + + Mail.To = IIf(emai_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an"), emai_receipt) + Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Rechnung.pdf") + Mail.Display() + + If RD_DRUCK = 5 Then + ' --> RPOT KOPIE DRUCKEN + Select Case RECHNUNG.RechnungSprache + Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" + Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" + End Select Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False) - - If printStbVdb AndAlso RECHNUNG.Firma_ID <> 1 Then + If printStbVdb Then If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then printSpedBuchAnhaenge(RECHNUNG, True, True) End If End If - If RECHNUNG.ANHAENGE.Count > 0 AndAlso RECHNUNG.Firma_ID <> 1 Then + If RECHNUNG.ANHAENGE.Count > 0 Then + 'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt! If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then printRGAnhaenge(RECHNUNG) End If End If + End If - Return ret + Catch ex As Exception + MsgBox("Fehler beim Öffnen des Mail-Programmes. PDF wird geladen!") + Process.Start(tmpPath) + End Try + rpt.Dispose() + Return True - Case 2, 5 'MAIL + Case 3 'PDF + öffnen - Path = tmpPath + If RECHNUNG.ANHAENGE.Count > 0 Then + If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge öffnen?", vbYesNoCancel)) Then + openRgAnhaenge(RECHNUNG) + End If + End If - Try - Dim outl As New Outlook.Application - Dim Mail As Microsoft.Office.Interop.Outlook.MailItem - Mail = outl.CreateItem(0) - Select Case RECHNUNG.RechnungsLandKz - Case "TR" - Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr - Mail.HTMLBody = "Sayin Bayanlar ve Baylar,

ekte baslikta yazan faturayi bulabilirsinz." - Mail.HTMLBody &= "


Saygilarimizla

" & getSignature(RECHNUNG) - Case "A", "AT", "D", "DE", "CH" - Mail.Subject = "Rechnung Nr. " & RECHNUNG.RechnungsNr - Mail.HTMLBody = "Sehr geehrte Damen und Herren,

im Anhang senden wir Ihnen die o.g. Rechnung." - Mail.HTMLBody &= "


Mit freundlichen Grüßen

" & getSignature(RECHNUNG) - Case Else - Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr - Mail.HTMLBody = "Dear Sir or Madam,

attached we send you the invoice mentioned above." - Mail.HTMLBody &= "


Best regards

" & getSignature(RECHNUNG) - End Select - Mail.HTMLBody = "
" & Mail.HTMLBody & "
" + ' rpt.Dispose() + Path = tmpPath + Process.Start(tmpPath) - Dim emai_receipt As String = "" - If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then emai_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an (ATILLA)") + rpt.Dispose() + Return True + Case 4 'PDF _ für Mail Funktion--> nur PDFpfad benötigt - Mail.To = IIf(emai_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an"), emai_receipt) - Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Rechnung.pdf") - Mail.Display() + Path = tmpPath + rpt.Dispose() + Return True + End Select + End If - If RD_DRUCK = 5 Then - ' --> RPOT KOPIE DRUCKEN - Select Case RECHNUNG.RechnungSprache - Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" - Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" - End Select - - Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False) - If printStbVdb Then - If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then - printSpedBuchAnhaenge(RECHNUNG, True, True) - End If - End If - If RECHNUNG.ANHAENGE.Count > 0 Then - 'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt! - If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then - printRGAnhaenge(RECHNUNG) - End If - End If - End If - - Catch ex As Exception - MsgBox("Fehler beim Öffnen des Mail-Programmes. PDF wird geladen!") - Process.Start(tmpPath) - End Try - rpt.Dispose() - Return True - - Case 3 'PDF + öffnen - - If RECHNUNG.ANHAENGE.Count > 0 Then - If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge öffnen?", vbYesNoCancel)) Then - openRgAnhaenge(RECHNUNG) - End If - End If - - ' rpt.Dispose() - Path = tmpPath - Process.Start(tmpPath) - - rpt.Dispose() - Return True - Case 4 'PDF _ für Mail Funktion--> nur PDFpfad benötigt - - Path = tmpPath - rpt.Dispose() - Return True - End Select - End If - - Return False + Return False End Function Shared Function createZUGFeRD(einzelrechnung As Boolean, Optional RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang = Nothing, Optional SR_DT As DataTable = Nothing, Optional rpt As rptSammelRechnungDruck = Nothing, Optional rptAnl As rptSammelRechnungAnlagenDruck = Nothing) As String @@ -3184,13 +3209,20 @@ Public Class cFakturierung Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RECHNUNG.RechnungsNr, ".xml", True, False) - Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write) - desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort) - stream.Flush() - stream.Close() + Using stream As New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write, FileShare.None) + desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort) + End Using + Return tmpPathZugpferd + 'Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write) + 'desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort) + + 'stream.Flush() + 'stream.Close() + 'Return tmpPathZugpferd + ElseIf Not einzelrechnung AndAlso SR_DT IsNot Nothing Then '--------------------------------------------------------------------------------- @@ -5272,9 +5304,21 @@ Public Class cFakturierung Dim pEx As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport rpt.Run(False) pEx.NeverEmbedFonts = "" + + + 'Dim pdfSetting = New GrapeCity.ActiveReports.Export.Pdf.Page.Settings() + ''Imports GrapeCity.ActiveReports.Export.Pdf + 'pdfSetting.AdditionalMetadata.Add(New AdditionalMetadataInfo With { + '.[Namespace] = AdditionalMetadataNamespace.PurlOrg, + '.Key = "title", + '.Value = "Invoice"}) + + pEx.Export(rpt.Document, tmpPath) + + If isMDMRechnungsdruck AndAlso SammelrechnungsDT IsNot Nothing AndAlso SammelrechnungsDT.Rows.Count > 0 Then Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID) Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD") @@ -6160,7 +6204,7 @@ Public Class cFakturierung Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId) If Path <> "" Then listAnh.Add(Path) End If - Else + Else If RG.Firma_ID = 19 AndAlso RG.Sammelrechnung = 6 AndAlso RG.FilialenNr = 4817 Then 'in diesem Fall PDFs zusammenfassen! diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index b611a3a3..7c868439 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -101,9 +101,8 @@ - - False - C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\BouncyCastle.Crypto.dll + + ..\..\..\Aviso\AVISO\packages\Portable.BouncyCastle.1.8.5\lib\net40\BouncyCastle.Crypto.dll F:\PROGRAMMIERUNG\dll\ActiveReports18\allDll\BouncyCastle.Cryptography.dll @@ -119,6 +118,12 @@ ..\..\..\AVISO\Aviso\packages\esendex-dotnet-sdk.3.8.0\lib\net35\com.esendex.sdk.dll + + ..\..\..\Aviso\AVISO\packages\Common.Logging.3.4.1\lib\net40\Common.Logging.dll + + + ..\..\..\Aviso\AVISO\packages\Common.Logging.Core.3.4.1\lib\net40\Common.Logging.Core.dll + False ..\..\..\dll\SharpSSH\DiffieHellman.dll @@ -233,6 +238,33 @@ ..\packages\IKVM.8.0.5449.1\lib\IKVM.Runtime.JNI.dll + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.barcodes.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.forms.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.io.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.kernel.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.layout.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.pdfa.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.sign.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.styledxmlparser.dll + + + ..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.svg.dll + ..\..\..\dll\itextsharp.dll diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index e68fcb49..687acdca 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -736,7 +736,7 @@ Public Class frmUSTVoffeneAntraege [rmc_betragMWST] as MWST FROM [tblRMCImport] INNER JOIN Adressen on WölflKundenNr= [rmc_kdNr] - where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum <= '" & dat_Sum_Bis.Value & "' And UStVAn_ID is null " & sqlwhereRMC & " AND [rmc_betragMWST] <> 0 @@ -752,7 +752,7 @@ Public Class frmUSTVoffeneAntraege [rmc_betragMWST] as MWST FROM [tblRMCImport] INNER JOIN Adressen on weitereWölflKundenNr=[rmc_kdNr] - where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum <= '" & dat_Sum_Bis.Value & "' And UStVAn_ID is null " & sqlwhereRMC & " AND [rmc_betragMWST] <> 0 diff --git a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb index 15b078d9..6ec8ad54 100644 --- a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb +++ b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb @@ -309,7 +309,7 @@ Public Class frmNacherfassungLeihgeld datatoBeleg() 'Daten werden in "BELEG" geldaen If BELEG.KundenNr > 0 AndAlso cbxOP_sofort_buchen.Checked Then - Dim KundenKontoArchiv As String = (New VERAG_PROG_ALLGEMEIN.SQL).getValueTxtBySql("SELECT isnull(c_archiv,'A') FROM [FIBU2].dbo.fibu_konto WHERE i_konto = " & BELEG.KundenNr & " AND i_firm_refid = 7", "FIBU") 'ATILLA MANDANT!' + Dim KundenKontoArchiv As String = (New VERAG_PROG_ALLGEMEIN.SQL).getValueTxtBySql("SELECT isnull(c_archiv,'A') FROM [FIBU2].dbo.fibu_konto WHERE i_konto = " & BELEG.KundenNr & " AND i_firm_refid = " & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "9", "7"), "FIBU") 'ATILLA MANDANT!' Select Case KundenKontoArchiv Case "I" : MsgBox("ACHTUNG, der Debitor mit der Nr: " & BELEG.KundenNr & " ist in der Syska-FIBU inaktiv, bitte andere KundenNr verwenden (799999)!") : Exit Sub 'inaktiv @@ -457,10 +457,12 @@ Public Class frmNacherfassungLeihgeld If Not cFakturierung.doRechnungsDruck(RECHNUNG, Today(),, 7) Then verarbOK = False 'rechnungsNr vergeben, aber nicht gedruckt! End If - If verarbOK Then + If verarbOK Then + Else + MsgBox("Fehler bei Rechnungserstellung!") - End If + End If End If End If diff --git a/SDL/kunden/frmKundenUebersichtZollRgDetails.Designer.vb b/SDL/kunden/frmKundenUebersichtZollRgDetails.Designer.vb index 57663907..b36c9ecb 100644 --- a/SDL/kunden/frmKundenUebersichtZollRgDetails.Designer.vb +++ b/SDL/kunden/frmKundenUebersichtZollRgDetails.Designer.vb @@ -25,6 +25,7 @@ Partial Class frmKundenUebersichtZollRgDetails Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKundenUebersichtZollRgDetails)) Me.pnl = New System.Windows.Forms.Panel() + Me.Button2 = New System.Windows.Forms.Button() Me.Button1 = New System.Windows.Forms.Button() Me.Label2 = New System.Windows.Forms.Label() Me.Button15 = New System.Windows.Forms.Button() @@ -58,6 +59,7 @@ Partial Class frmKundenUebersichtZollRgDetails 'pnl ' Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.Button2) Me.pnl.Controls.Add(Me.Button1) Me.pnl.Controls.Add(Me.Label2) Me.pnl.Controls.Add(Me.Button15) @@ -90,12 +92,24 @@ Partial Class frmKundenUebersichtZollRgDetails Me.pnl.Size = New System.Drawing.Size(560, 517) Me.pnl.TabIndex = 0 ' + 'Button2 + ' + Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Button2.Location = New System.Drawing.Point(117, 419) + Me.Button2.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(105, 25) + Me.Button2.TabIndex = 93 + Me.Button2.Text = "ZUGFeRD" + Me.Button2.UseVisualStyleBackColor = True + ' 'Button1 ' Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button1.Image = Global.SDL.My.Resources.pdf1 + Me.Button1.Image = Global.SDL.My.Resources.Resources.pdf1 Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button1.Location = New System.Drawing.Point(128, 445) + Me.Button1.Location = New System.Drawing.Point(117, 445) Me.Button1.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(105, 60) @@ -117,12 +131,12 @@ Partial Class frmKundenUebersichtZollRgDetails 'Button15 ' Me.Button15.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button15.Image = Global.SDL.My.Resources.therefore1 + Me.Button15.Image = Global.SDL.My.Resources.Resources.therefore1 Me.Button15.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button15.Location = New System.Drawing.Point(12, 445) Me.Button15.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button15.Name = "Button15" - Me.Button15.Size = New System.Drawing.Size(103, 60) + Me.Button15.Size = New System.Drawing.Size(92, 60) Me.Button15.TabIndex = 89 Me.Button15.Text = "Therefore" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "öffnen" Me.Button15.TextAlign = System.Drawing.ContentAlignment.MiddleRight @@ -140,6 +154,7 @@ Partial Class frmKundenUebersichtZollRgDetails Me.cbxLastschrift.TabIndex = 15 Me.cbxLastschrift.Text = "Lastschrift" Me.cbxLastschrift.UseVisualStyleBackColor = True + Me.cbxLastschrift.Visible = False ' 'Label18 ' @@ -405,4 +420,5 @@ Partial Class frmKundenUebersichtZollRgDetails Friend WithEvents lblAbfNr As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button End Class diff --git a/SDL/kunden/frmKundenUebersichtZollRgDetails.vb b/SDL/kunden/frmKundenUebersichtZollRgDetails.vb index 7f551724..4bd5d3d1 100644 --- a/SDL/kunden/frmKundenUebersichtZollRgDetails.vb +++ b/SDL/kunden/frmKundenUebersichtZollRgDetails.vb @@ -110,4 +110,45 @@ Public Class frmKundenUebersichtZollRgDetails Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 3,,,,, sammelrechnungskopie) End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + + Dim Path_temp As String = "" + + cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 3, Path_temp,,,, sammelrechnungskopie) + + If Path_temp <> "" Then + + Try + + Dim psi As New ProcessStartInfo() + + psi.FileName = "C:\Program Files\Eclipse Adoptium\jre-11.0.28.6-hotspot\bin\java.exe" + psi.Arguments = "-jar ""C:\Users\d.breimaier\Downloads\Mustang-CLI-2.21.0.jar"" --no-notices --action validate --source " & Path_temp & "" + + psi.RedirectStandardOutput = True + psi.RedirectStandardError = True + psi.UseShellExecute = False + psi.CreateNoWindow = True + + Using p As Process = Process.Start(psi) + Dim output = p.StandardOutput.ReadToEnd() + Dim err = p.StandardError.ReadToEnd() + p.WaitForExit() + + Console.WriteLine("ExitCode: " & p.ExitCode) + Console.WriteLine(output) + Console.WriteLine(err) + + If err <> "" Then MsgBox(err) + + End Using + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + End If + + End Sub End Class \ No newline at end of file diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb index df00958f..645a067a 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -940,7 +940,7 @@ Public Class usrcntlKundeBearbeitenFull cboAbf_Steuerschluessel.fillWithSQL("SELECT [Steuerschlüssel], isnull(cast(cast( [Steuersatz %]*100 as decimal(2))as varchar(5)) + '% - ' +AuswahlSteuerbezeichnung,'') as Bezeichnung FROM [Steuertabelle] ORDER BY Steuerschlüssel", False, "FMZOLL", True) - cboUSt_UstIdNrLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].LandKz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez " & + cboUSt_UstIdNrLand.fillWithSQL(" SELECT [Länderverzeichnis für die Außenhandelsstatistik].UIDLandz,[Länderverzeichnis für die Außenhandelsstatistik].LandBez " & " FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN [Währungstabelle] ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = [Währungstabelle].[Währungsschlüssel] " & " WHERE ([Währungstabelle].[MitgliedslandEU] = 1) " & " ORDER BY [Länderverzeichnis für die Außenhandelsstatistik].LandKz ", , "FMZOLL", True) diff --git a/SDL/packages.config b/SDL/packages.config index 90278ae5..2e6bbac4 100644 --- a/SDL/packages.config +++ b/SDL/packages.config @@ -1,6 +1,8 @@  + + @@ -11,6 +13,7 @@ + @@ -51,6 +54,7 @@ + diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb index 0e0bc8d5..51525788 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb @@ -60,8 +60,8 @@ Public Class cAdressen End If End Sub - Sub New(UIDNr As String, woellKdNr As Integer) - LOADUIDNr(UIDNr, woellKdNr) + Sub New(UIDNr As String, woellKdNr As Integer, isWoelflKundenNr As Boolean) + LOADUIDNr(UIDNr, woellKdNr, isWoelflKundenNr) End Sub Public Function FullName() As String Return (If(Name_1, "") & " " & If(Name_2, "")).ToString.Replace(" ", " ") @@ -308,13 +308,13 @@ Public Class cAdressen ' Return Nothing End Sub - Public Sub LOADUIDNr(UIDNr As String, woelflKdNr As Integer) + Public Sub LOADUIDNr(UIDNr As String, woelflKdNr As Integer, isWoelfKdNr As Boolean) Dim test = "" Try Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL(False) - Using cmd As New SqlCommand("Select TOP(1) * FROM Adressen WHERE (UstIdKz + UstIdNr='" & UIDNr & "' or Steuernummer ='" & UIDNr & "') AND WölflKundenNr = " & woelflKdNr & " OR weitereWölflKundenNr = " & woelflKdNr, conn) + Using cmd As New SqlCommand("Select TOP(1) * FROM Adressen WHERE (UstIdKz + UstIdNr='" & UIDNr & "' or Steuernummer ='" & UIDNr & "') AND (WölflKundenNr = " & woelflKdNr & " OR weitereWölflKundenNr = " & woelflKdNr & ") " & IIf(isWoelfKdNr, " AND AdressenNr LIKE '15%'", ""), conn) Dim dr = cmd.ExecuteReader() If dr.Read Then