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