From 00c3215493924507a6c6b488b151fbcf852ed5c5 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 23 Dec 2025 11:06:33 +0100 Subject: [PATCH] cFakt, --- SDL/Fakturierung/cFakturierung.vb | 185 ++++++++++++++++-------------- 1 file changed, 97 insertions(+), 88 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 989331e6..da0aad0d 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -2855,115 +2855,120 @@ Public Class cFakturierung '------------------------------------------------------------------------------- '----------Rechnung immer in Datenserver speichern------------------------ - Dim RG_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("RECHNUNGEN", "Firma_" & RECHNUNG.Firma_ID, CDate(RECHNUNG.RechnungsDatum).Year & "_" & CDate(RECHNUNG.RechnungsDatum).Month, "", "", RG_Bezeichnung, RECHNUNG.RechnungsKundenNr, True) - RG_DS.uploadDataToDATENSERVER(tmpPath, RG_Bezeichnung, ".pdf",,,, True) - RECHNUNG.SAVE_DsId(RG_DS.da_id) + If Not Kopie Then + If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then + Dim RG_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("RECHNUNGEN", "Firma_" & RECHNUNG.Firma_ID, CDate(RECHNUNG.RechnungsDatum).Year & "_" & CDate(RECHNUNG.RechnungsDatum).Month, "", "", RG_Bezeichnung, RECHNUNG.RechnungsKundenNr, True) + RG_DS.uploadDataToDATENSERVER(tmpPath, RG_Bezeichnung, ".pdf",,,, True) + RECHNUNG.SAVE_DsId(RG_DS.da_id) + End If + End If + '------------------------------------------------------------------------- ' 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 - - 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 + ' MsgBox(RD_DRUCK) + Select Case RD_DRUCK + Case 0, 1 'DRUCKEN Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False) - If printStbVdb Then + + 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 Then - 'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt! + 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 - 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 + Return ret - Case 3 'PDF + öffnen + Case 2, 5 'MAIL - 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 + Path = tmpPath - ' rpt.Dispose() - Path = tmpPath - Process.Start(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 & "
" - rpt.Dispose() - Return True - Case 4 'PDF _ für Mail Funktion--> nur PDFpfad benötigt + 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)") - Path = tmpPath - rpt.Dispose() - Return True - End Select - End If + 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() - Return False + 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 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 @@ -4475,7 +4480,11 @@ Public Class cFakturierung '----------Rechnung immer in Datenserver speichern------------------------ If Not SRDruckWiederholen And saveInTherefore Then If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM And VorschauID = "" Then - Dim RG_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("RECHNUNGEN", "Firma_" & Firma_ID, CDate(dt.Rows(0)("RechnungsDatum")).Year & "_" & CDate(dt.Rows(0)("RechnungsDatum")).Month, "", "", "Sammelrechnung_" & RechnungsNr & ".pdf", dt.Rows(0)("RechnungsKundenNr"), False) + Dim FirmaID_temp = Firma_ID + If Firma_ID = -1 Then + FirmaID_temp = CInt(dt.Rows(0)("Firma_ID")) + End If + Dim RG_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("RECHNUNGEN", "Firma_" & FirmaID_temp, CDate(dt.Rows(0)("RechnungsDatum")).Year & "_" & CDate(dt.Rows(0)("RechnungsDatum")).Month, "", "", "Sammelrechnung_" & RechnungsNr & ".pdf", dt.Rows(0)("RechnungsKundenNr"), False) RG_DS.uploadDataToDATENSERVER(pathPDF, "Sammelrechnung_" & RechnungsNr & ".pdf", ".pdf",,,, True) For Each r In dt.Rows VERAG_PROG_ALLGEMEIN.cRechnungsausgang.SAVE_DsId(r("RK_ID"), RG_DS.da_id)