Datenserver, faktmail, a
This commit is contained in:
@@ -1414,7 +1414,7 @@ Public Class cAutomailversand
|
||||
|
||||
End Function
|
||||
|
||||
Private Function setAccountToSend(FIRMA_ID As Integer) As String
|
||||
Public Function setAccountToSend(FIRMA_ID As Integer) As String
|
||||
|
||||
Dim tmpFirma = New VERAG_PROG_ALLGEMEIN.cFirmen(FIRMA_ID)
|
||||
|
||||
|
||||
@@ -4466,16 +4466,18 @@ Public Class cFakturierung
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsanhangPDF As Boolean = False, Optional RechnugnskopieMDMSammelrechnung As Boolean = False, Optional AnhList As List(Of String) = Nothing, Optional RechnungsanhangCSV As Boolean = False, Optional onlyAsfinagAnhang As Boolean = False, Optional saveInTherefore As Boolean = True) As Boolean
|
||||
Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsanhangPDF As Boolean = False, Optional RechnugnskopieMDMSammelrechnung As Boolean = False, Optional AnhList As List(Of String) = Nothing, Optional RechnungsanhangCSV As Boolean = False, Optional onlyAsfinagAnhang As Boolean = False, Optional saveInTherefore As Boolean = True, Optional dt_temp As DataTable = Nothing) As Boolean
|
||||
'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit
|
||||
|
||||
Dim dt As DataTable
|
||||
If SRDruckWiederholen Then
|
||||
dt = getSAMMELRechnung_Dt(RechnungsNr, DruckdatumUhrzeit, "3,4,5", ) ' 3,4,5-_> irgendebbs
|
||||
dt_temp = dt
|
||||
Else
|
||||
'Dim RG_NR = New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(Firma_ID, Buchungsjahr)
|
||||
'RG_NR.INCREASE_RGNR() 'für die nächste Rechnung
|
||||
dt = getSAMMELRechnung_Dt(RechnungsNr, DruckdatumUhrzeit, IIf(RechnungsdruckArt = 7, "2", "2, 3, 4"), [VorschauID])
|
||||
dt_temp = dt
|
||||
End If
|
||||
' 3-_> Anlagen gedruckt
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
Imports System.IO
|
||||
Imports GrapeCity.ActiveReports.PageReportModel
|
||||
Imports iText.IO.Util
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports sun.net.www.protocol
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class frmAbrechnungsMaske
|
||||
@@ -62,13 +64,13 @@ Public Class frmAbrechnungsMaske
|
||||
|
||||
|
||||
txtRechnungsdatumAutomail.Visible = setDefaultAutoMailversand
|
||||
dtp_RD_automail.Visible = setDefaultAutoMailversand
|
||||
lblRechnungsdatumAUTOMAIL.Visible = setDefaultAutoMailversand
|
||||
dtp_RD_automail.Visible = setDefaultAutoMailversand
|
||||
lblRechnungsdatumAUTOMAIL.Visible = setDefaultAutoMailversand
|
||||
|
||||
|
||||
'FirmaTmp = "AMBAR"
|
||||
'FirmaTmp = "AMBAR"
|
||||
|
||||
cboSachbearbeiter.Items.Clear()
|
||||
cboSachbearbeiter.Items.Clear()
|
||||
|
||||
Select Case FirmaTmp
|
||||
|
||||
@@ -918,15 +920,17 @@ Public Class frmAbrechnungsMaske
|
||||
If IsNumeric(RK_ID) Then
|
||||
Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID)
|
||||
Dim sammelrechnungskopieMDM As Boolean = False
|
||||
Dim sammelrechnungMDMmitAnhang As Boolean = False
|
||||
Dim sammelrechnungmitAnhang As Boolean = False
|
||||
If RG_TMP IsNot Nothing Then
|
||||
'id mitübergeben (1_> drucken, 2 Email, 3 PDF)
|
||||
|
||||
Dim tempPDF As String = ""
|
||||
Dim listOfCSV As New List(Of String)
|
||||
|
||||
If RG_TMP.Sammelrechnung = 6 Then
|
||||
If RG_TMP.Status = 4 Then sammelrechnungskopieMDM = True
|
||||
Dim tempPDF As String = ""
|
||||
Dim listOfCSV As New List(Of String)
|
||||
sammelrechnungMDMmitAnhang = MsgBox("Soll die MDM Sammelrechnung mit Anhang angezeigt werden?", vbYesNoCancel)
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 8, tempPDF, True,,,,,,,,, sammelrechnungMDMmitAnhang, sammelrechnungskopieMDM, listOfCSV, True)
|
||||
|
||||
sammelrechnungmitAnhang = MsgBox("Soll die MDM Sammelrechnung mit Anhang angezeigt werden?", vbYesNo)
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 8, tempPDF, True,,,,,,,,, sammelrechnungmitAnhang, sammelrechnungskopieMDM, listOfCSV, True)
|
||||
|
||||
Select Case id
|
||||
Case 1
|
||||
@@ -957,16 +961,246 @@ Public Class frmAbrechnungsMaske
|
||||
|
||||
|
||||
Else
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, id,, True,,,,,,,,,)
|
||||
|
||||
'sammelrechnungmitAnhang = MsgBox("Soll die Sammelrechnung mit Anhang angezeigt werden?", vbYesNo)
|
||||
|
||||
|
||||
Select Case id
|
||||
Case 1
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 3, tempPDF, True,,,,,,,, True, sammelrechnungmitAnhang,,)
|
||||
Case 2
|
||||
Try
|
||||
Dim dt_temp As New DataTable
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 4, tempPDF, True,,,,,,,, True, sammelrechnungmitAnhang,, listOfCSV,,,, dt_temp)
|
||||
|
||||
|
||||
Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(RG_TMP.RechnungsKundenNr)
|
||||
|
||||
Dim outl As New Outlook.Application
|
||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||
Mail = outl.CreateItem(0)
|
||||
Dim auto As New cAutomailversand
|
||||
Dim oAccount As Outlook.Account
|
||||
Dim accountToSent = ""
|
||||
|
||||
accountToSent = auto.setAccountToSend(RG_TMP.Firma_ID)
|
||||
|
||||
If accountToSent <> "" Then
|
||||
If outl.Session.Accounts.Count > 0 Then
|
||||
For Each oAccount In outl.Session.Accounts
|
||||
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
|
||||
Mail.SendUsingAccount = oAccount
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
setEmailText(RG_TMP.RechnungsLandKz, RG_TMP.Firma_ID, RG_TMP.RechnungsNr, Mail.Subject, Mail.HTMLBody, RG_TMP.Sammelrechnung, RG_TMP.BelegartenNr)
|
||||
setandcheckEmpfaengerMail_SR(dt_temp, AD, Mail.To, Mail.CC, Mail.BCC, RG_TMP.Firma_ID, RG_TMP.Sammelrechnung)
|
||||
Dim anhangbezeichnung = getAnhangbezeichnung(AD.LandKz, RG_TMP, RG_TMP.BelegartenNr)
|
||||
Mail.Attachments.Add(tempPDF, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , RG_TMP.RechnungsNr & "_" & anhangbezeichnung)
|
||||
If listOfCSV.Count > 0 Then
|
||||
For Each r In listOfCSV
|
||||
Dim file As New FileInfo(r)
|
||||
Mail.Attachments.Add(r, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , file.Name)
|
||||
Next
|
||||
End If
|
||||
Mail.Display()
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler bim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||||
Process.Start(tempPDF)
|
||||
End Try
|
||||
|
||||
Case 3 'PDF + öffnen
|
||||
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", False, True, 4, tempPDF, True,,,,,,,, True, sammelrechnungmitAnhang,,)
|
||||
Process.Start(tempPDF)
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
Else
|
||||
|
||||
MsgBox("Bei " & cboFirma.SelectedItem.Text & " existiert keine Sammelrechnung mit der Nr: " & SR_RechnungsNr & "")
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
Private Sub setEmailText(RechnungsLandKz As String, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String, ByRef SammelrechungArt As Integer, ByRef BelegartenNr As Integer)
|
||||
|
||||
Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr)
|
||||
Dim Mailtext As String
|
||||
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID)
|
||||
|
||||
Dim spracheRechnung As String = "EN" 'Defaultsprache
|
||||
|
||||
Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice")
|
||||
|
||||
|
||||
|
||||
Select Case RechnungsLandKz
|
||||
Case "TR" : spracheRechnung = "TR" : spracheRechnung = RechnungsLandKz : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura")
|
||||
Case "RO"
|
||||
If Firma_ID = 19 Then
|
||||
spracheRechnung = "RO" : spracheRechnung = RechnungsLandKz : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura")
|
||||
End If
|
||||
|
||||
Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung")
|
||||
|
||||
Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO"
|
||||
If Firma_ID = 19 Then
|
||||
spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch!
|
||||
End If
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then
|
||||
|
||||
|
||||
Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung)
|
||||
If r IsNot Nothing Then
|
||||
Subject = r.txt_betreff
|
||||
Subject = Subject.Replace("%BelegNr%", txtRgNr)
|
||||
Subject = Subject.Replace("%Belegtyp%", belegtyp)
|
||||
TextHTML &= r.txt_text
|
||||
If Mailtext <> "" Then TextHTML &= Mailtext
|
||||
TextHTML &= vbNewLine & vbNewLine
|
||||
|
||||
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
|
||||
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
TextHTML &= "<br>"
|
||||
TextHTML &= "<br>"
|
||||
|
||||
Select Case RechnungsLandKz
|
||||
Case "TR"
|
||||
TextHTML &= "Saygilarimizla<br>"
|
||||
Case "A", "AT", "D", "DE", "CH"
|
||||
TextHTML &= "Mit freundlichen Grüßen<br>"
|
||||
Case Else
|
||||
TextHTML &= "Best regards<br>"
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br><br>"
|
||||
TextHTML &= cFakturierung.getSignature(RechnungsLandKz, Firma_ID, True, True,,,,,, True)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function getAnhangbezeichnung(sprache As String, RECHNUNG As cRechnungsausgang, BelegartenNr As Integer, Optional onlyBelegsuebersetzung As Boolean = False)
|
||||
|
||||
Dim Anhangsbez = ""
|
||||
If RECHNUNG IsNot Nothing Then
|
||||
|
||||
Select Case sprache
|
||||
Case "A", "AT", "D", "DE", "CH"
|
||||
|
||||
If BelegartenNr = 71 Then
|
||||
If onlyBelegsuebersetzung Then
|
||||
Anhangsbez = "Gutschrift.pdf"
|
||||
Else
|
||||
Anhangsbez = "Gutschriftsanhaenge.pdf"
|
||||
End If
|
||||
Else
|
||||
If onlyBelegsuebersetzung Then
|
||||
Anhangsbez = "Rechnung.pdf"
|
||||
Else
|
||||
Anhangsbez = "Rechnungsanhaenge.pdf"
|
||||
End If
|
||||
End If
|
||||
|
||||
Case "TR" : If BelegartenNr = 71 Then Anhangsbez = "Kredi.pdf" Else Anhangsbez = "Fatura.pdf"
|
||||
Case Else : If BelegartenNr = 71 Then Anhangsbez = "Creditnote.pdf" Else Anhangsbez = "Invoice.pdf"
|
||||
End Select
|
||||
|
||||
Else
|
||||
|
||||
|
||||
Select Case sprache
|
||||
Case "A", "AT", "D", "DE", "CH" : If BelegartenNr = 71 Then Anhangsbez = "Sammelgutschrift.pdf" Else Anhangsbez = "Sammelrechnung.pdf"
|
||||
Case "TR" : If BelegartenNr = 71 Then Anhangsbez = "Toplukredi.pdf" Else Anhangsbez = "Toplufatura.pdf"
|
||||
Case Else : If BelegartenNr = 71 Then Anhangsbez = "Collectivecreditnote.pdf" Else Anhangsbez = "Collectiveinvoice.pdf"
|
||||
End Select
|
||||
|
||||
End If
|
||||
|
||||
Return Anhangsbez
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function setandcheckEmpfaengerMail_SR(ByRef SR_DT As DataTable, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef FirmaID As Integer, ByRef SammelrechungArt As String) As String
|
||||
|
||||
If SammelrechungArt <> 6 Then
|
||||
|
||||
|
||||
Dim email_receipt As String = ""
|
||||
|
||||
Dim allAtilla = IIf(FirmaID = 7, True, False)
|
||||
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
|
||||
For Each r In SR_DT.Rows
|
||||
If "4801" <> r("FilialenNr") And "4802" <> r("FilialenNr") Then
|
||||
allAtilla = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
email_receipt = IIf(allAtilla, VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)"), "")
|
||||
|
||||
EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an")
|
||||
EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
|
||||
EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
|
||||
|
||||
Else
|
||||
|
||||
If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then EMAILTMP &= AD.E_Mail & ";"
|
||||
If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then EMAILTMP &= AD.E_Mail2 & ";"
|
||||
|
||||
|
||||
End If
|
||||
|
||||
If EMAILTMP = "" And EMAILTMPCC = "" And EMAILTMPBCC = "" Then
|
||||
|
||||
If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then EMAILTMP &= AD.E_Mail & ";"
|
||||
If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then EMAILTMP &= AD.E_Mail2 & ";"
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Return EMAILTMP & EMAILTMPCC
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||||
Dim f As New frmFaktAufschubSuche(False)
|
||||
f.Show(Me)
|
||||
|
||||
@@ -195,7 +195,9 @@ Public Class frmFaktEmail
|
||||
If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)")
|
||||
End If
|
||||
|
||||
|
||||
If Firma_ID = 24 Then
|
||||
cbxMergeRg.Checked = False
|
||||
End If
|
||||
|
||||
Dim EMAILTMP = ""
|
||||
Dim EMAILTMPCC = ""
|
||||
|
||||
Reference in New Issue
Block a user