div. Änderungen, etc.

This commit is contained in:
2026-01-07 10:28:11 +01:00
parent ddb99e931d
commit 0b3db20039
10 changed files with 447 additions and 109 deletions

View File

@@ -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

View File

@@ -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,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(RECHNUNG)
Case "A", "AT", "D", "DE", "CH"
Mail.Subject = "Rechnung Nr. " & RECHNUNG.RechnungsNr
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(RECHNUNG)
Case Else
Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(RECHNUNG)
End Select
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & Mail.HTMLBody & "</div>"
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,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(RECHNUNG)
Case "A", "AT", "D", "DE", "CH"
Mail.Subject = "Rechnung Nr. " & RECHNUNG.RechnungsNr
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(RECHNUNG)
Case Else
Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(RECHNUNG)
End Select
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & Mail.HTMLBody & "</div>"
' 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!

View File

@@ -101,9 +101,8 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Accessibility" />
<Reference Include="BouncyCastle.Crypto, Version=1.8.4.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\BouncyCastle.Crypto.dll</HintPath>
<Reference Include="BouncyCastle.Crypto, Version=1.8.5.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\Portable.BouncyCastle.1.8.5\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="BouncyCastle.Cryptography">
<HintPath>F:\PROGRAMMIERUNG\dll\ActiveReports18\allDll\BouncyCastle.Cryptography.dll</HintPath>
@@ -119,6 +118,12 @@
<Reference Include="com.esendex.sdk, Version=3.8.0.0, Culture=neutral, PublicKeyToken=9dceac28a20578e2, processorArchitecture=MSIL">
<HintPath>..\..\..\AVISO\Aviso\packages\esendex-dotnet-sdk.3.8.0\lib\net35\com.esendex.sdk.dll</HintPath>
</Reference>
<Reference Include="Common.Logging, Version=3.4.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\Common.Logging.3.4.1\lib\net40\Common.Logging.dll</HintPath>
</Reference>
<Reference Include="Common.Logging.Core, Version=3.4.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\Common.Logging.Core.3.4.1\lib\net40\Common.Logging.Core.dll</HintPath>
</Reference>
<Reference Include="DiffieHellman, Version=0.0.0.0, Culture=neutral">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\dll\SharpSSH\DiffieHellman.dll</HintPath>
@@ -233,6 +238,33 @@
<Reference Include="IKVM.Runtime.JNI, Version=8.0.5449.1, Culture=neutral, PublicKeyToken=13235d27fcbfff58, processorArchitecture=MSIL">
<HintPath>..\packages\IKVM.8.0.5449.1\lib\IKVM.Runtime.JNI.dll</HintPath>
</Reference>
<Reference Include="itext.barcodes, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.barcodes.dll</HintPath>
</Reference>
<Reference Include="itext.forms, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.forms.dll</HintPath>
</Reference>
<Reference Include="itext.io, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.io.dll</HintPath>
</Reference>
<Reference Include="itext.kernel, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.kernel.dll</HintPath>
</Reference>
<Reference Include="itext.layout, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.layout.dll</HintPath>
</Reference>
<Reference Include="itext.pdfa, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.pdfa.dll</HintPath>
</Reference>
<Reference Include="itext.sign, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.sign.dll</HintPath>
</Reference>
<Reference Include="itext.styledxmlparser, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.styledxmlparser.dll</HintPath>
</Reference>
<Reference Include="itext.svg, Version=7.1.11.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
<HintPath>..\..\..\Aviso\AVISO\packages\itext7.7.1.11\lib\net40\itext.svg.dll</HintPath>
</Reference>
<Reference Include="itextsharp">
<HintPath>..\..\..\dll\itextsharp.dll</HintPath>
</Reference>

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ClosedXML" version="0.95.4" targetFramework="net47" />
<package id="Common.Logging" version="3.4.1" targetFramework="net48" />
<package id="Common.Logging.Core" version="3.4.1" targetFramework="net48" />
<package id="DocumentFormat.OpenXml" version="3.0.1" targetFramework="net48" />
<package id="DocumentFormat.OpenXml.Framework" version="3.0.1" targetFramework="net48" />
<package id="DS.Documents.DX.Windows" version="7.2.2" targetFramework="net48" />
@@ -11,6 +13,7 @@
<package id="ExcelNumberFormat" version="1.0.10" targetFramework="net47" />
<package id="Hardcodet.NotifyIcon.Wpf" version="1.0.5" targetFramework="net40-Client" requireReinstallation="True" />
<package id="IKVM" version="8.0.5449.1" targetFramework="net47" />
<package id="itext7" version="7.1.11" targetFramework="net48" />
<package id="LiveCharts" version="0.6.7.0" targetFramework="net40-Client" requireReinstallation="True" />
<package id="MESCIUS.ActiveReports" version="18.2.2" targetFramework="net48" />
<package id="MESCIUS.ActiveReports.Chart" version="18.0.4" targetFramework="net48" />
@@ -51,6 +54,7 @@
<package id="MESCIUS.Data.VBFunctionLib" version="4.0.3" targetFramework="net48" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net47" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net47" />
<package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net48" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net48" />
<package id="System.IO.Packaging" version="4.5.0" targetFramework="net48" />
<package id="TAlex.WPF.Controls" version="2.0.1.0" targetFramework="net40-Client" />

View File

@@ -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