This commit is contained in:
2025-12-23 11:06:33 +01:00
parent 31f391b4f9
commit 00c3215493

View File

@@ -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,<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
' 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,<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()
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)