Compare commits

...

2 Commits

8 changed files with 789 additions and 195 deletions

View File

@@ -4,14 +4,16 @@ Imports VERAG_PROG_ALLGEMEIN
Public Class cAutomailversand Public Class cAutomailversand
Sub sendMailSammelrechnung(Sammelrechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False) Sub sendMailSammelrechnung(_Rechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False)
Try Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
'BEI SAMMELRECHNUNG WIRD ZUERST INTERN DER STATUS AUF 2 GESETZT
Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Sammelrechnungsdatum.ToShortDateString & "' WHERE Rechnungsausgang.Status IN (2) and Rechnungsausgang.Automailversand_sent is null And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & _Rechnungsdatum.ToShortDateString & "'
and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & "
GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU
ORDER BY RechnungsLandKz, RechnungsKundenNr" ORDER BY RechnungsLandKz, RechnungsKundenNr"
@@ -52,7 +54,7 @@ Public Class cAutomailversand
End If End If
SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, Sammelrechnungsdatum, row.Item("RechnungsKundenNr"),,,,, True) SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, _Rechnungsdatum, row.Item("RechnungsKundenNr"),,,,, True)
Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr")) Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr"))
Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr")) Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr"))
@@ -81,34 +83,8 @@ Public Class cAutomailversand
Dim MailtoCC As String = "" Dim MailtoCC As String = ""
Dim MailtoBCC As String = "" Dim MailtoBCC As String = ""
If SammelrechungArt <> 6 Then
setEmpfaengerMail_SR(SR_DT, AD, MailTo, MailtoCC, MailtoBCC, FirmaID, SammelrechungArt)
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)"), "")
MailTo = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an")
MailtoCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
MailtoBCC = 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 MailTo &= AD.E_Mail & ";"
If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then MailTo &= AD.E_Mail2 & ";"
End If
'im TESTSYSTEM bewusst die Empfänger leeren! 'im TESTSYSTEM bewusst die Empfänger leeren!
@@ -148,7 +124,7 @@ Public Class cAutomailversand
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True) TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>" HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,,, FISKAL) Then
End If End If
@@ -166,17 +142,27 @@ Public Class cAutomailversand
End Sub End Sub
Sub sendMailEinzelrechnungen(Rechnungsdatum As Date, FirmaID As Integer, Optional Sachbearbeiter As String = "", Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False) Sub sendMailEinzelrechnungen(FirmaID As Integer, Rechnungsdatum As Date, Optional Sachbearbeiter As String = "", Optional RK_ID As List(Of Integer) = Nothing, Optional mailoeffnen As Boolean = True)
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang Dim SQL_RKID As String = ""
If RK_ID IsNot Nothing Then
If RK_ID.Count > 0 Then
SQL_RKID = " AND RK_ID IN (" & String.Join(",", RK_ID) & ")"
End If
End If
'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft
Dim rechnungenMailversand = "SELECT RK_ID,RechnungsKundenNr,Rechnungsausgang.VermittlerKundenNr,Rechnungsausgang.RechnungsLandKz,Rechnungsausgang.FilialenNr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.UnterNr, Rechnungsausgang.ErfassungsNr , Rechnungsausgang.SteuerpflichtigerGesamtbetrag AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "' WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) <= '" & Rechnungsdatum.ToShortDateString & "'
and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " and isnull(Rechnungsausgang.Automailversand,0) = 1 AND Automailversand_sent IS NULL " & IIf(Sachbearbeiter <> "", " AND Sachbearbeiter = '" & Sachbearbeiter & "'", "") & SQL_RKID & "
GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU
ORDER BY RechnungsLandKz, RechnungsKundenNr" ORDER BY RechnungsLandKz, RechnungsKundenNr, Rechnungsausgang.Rechnungsdatum"
Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL") Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL")
Try Try
@@ -187,6 +173,17 @@ Public Class cAutomailversand
Dim MailtoCC As String = "" Dim MailtoCC As String = ""
Dim MailtoBCC As String = "" Dim MailtoBCC As String = ""
Dim FISKAL As cFiskal_Daten = Nothing
Dim AD As New cAdressen(r.Item("RechnungsKundenNr"))
Dim ATTACHMENTS As New List(Of cFakt_MailATTach)
Dim RECHNUNG As New cRechnungsausgang(r.Item("RK_ID"))
Dim SPEDBUCH As New cSpeditionsbuch(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr, RECHNUNG.UnterNr)
FISKAL = New cFiskal_Daten(r.Item("RechnungsKundenNr"))
setEmpfaengerMail_ER(SPEDBUCH, AD, MailTo, MailtoCC, MailtoBCC, "")
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = "" MailTo = ""
@@ -196,12 +193,54 @@ Public Class cAutomailversand
MailtoBCC = setAccountToSend(FirmaID) MailtoBCC = setAccountToSend(FirmaID)
End If End If
If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoBCC = "") Then
Dim pathRG As String
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, True) Then
Continue For
End If
'EINZELBELEG ANFÜGEN
If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf")))
Dim Mailsubject As String = ""
Dim HTMLMail As String = ""
Dim listPDFs As New List(Of String)
Dim showError As Boolean = False
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
If mailoeffnen Then
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum,,,,,,, Mail, RECHNUNG) Then
Mail.Display()
End If
Else
Dim TextHTML = ""
TextHTML &= HTMLMail
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
If setLog(dt, r, FirmaID, RECHNUNG.Sammelrechnung, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC,, RECHNUNG, FISKAL, SPEDBUCH) Then
End If
End If
End If
Next Next
Catch ex As System.Exception Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL,,,,,,) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL,,, "d.breimaier@verag.ag",,, setAccountToSend(FirmaID))
End Try End Try
End Sub End Sub
@@ -212,15 +251,103 @@ Public Class cAutomailversand
Dim Mailtext As String Dim Mailtext As String
If SammelrechungArt <> 6 Then If SammelrechungArt <> 6 Then 'EINZELRECHNUNGEN - MDM oder ANDERE
Subject = "VERAG Sammel-Rechnung"
TextHTML &= getSammelRgTExt(getSelectionLandKz(dt), Firma_ID)
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", Firma_ID)
Dim spracheRechnung As String = "EN" 'Defaultsprache
Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice")
Select Case row.Item("RechnungsLandKz")
Case "TR" : spracheRechnung = "TR" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura")
Case "RO" : spracheRechnung = "RO" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura")
Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung")
Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch!
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("%Belegtyp%", belegtyp)
Subject = Subject.Replace("%BelegNr%", txtRgNr)
TextHTML &= r.txt_text
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
If Firma_ID = 19 Then
Dim KUNDE_ERW As New cKundenErweitert(row("RechnungsKundenNr"))
If row.Item("FilialenNr") = 4817 AndAlso row.Item("ErfassungsNr") IsNot Nothing Then
Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(row.Item("FilialenNr"), row.Item("AbfertigungsNr"), row.Item("UnterNr"))
If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then
Dim USTV_ANTRAG As New cUSTVAntrag(row.Item("ErfassungsNr"))
If row("VermittlerKundenNr") = 150000 Or row("VermittlerKundenNr") = 140000 Or row("VermittlerKundenNr").ToString.Substring(0, 2) = 18 Then
replaceKZ("nichtRMC", TextHTML)
TextHTML = TextHTML.ToString.Replace("%RMC:", "") : TextHTML = TextHTML.ToString.Replace("RMC%", "")
replaceKZ("KZ1", TextHTML)
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%", "")
Else Else
replaceKZ("RMC", TextHTML)
TextHTML = TextHTML.ToString.Replace("%nichtRMC:", "") : TextHTML = TextHTML.ToString.Replace("nichtRMC%", "")
If USTV_ANTRAG.UStVAn_Sicherheit Then
replaceKZ("KZ1", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
ElseIf KUNDE_ERW.kde_Erstattungsart = 4 Then
replaceKZ("KZ1", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
ElseIf KUNDE_ERW.kde_Erstattungsart = 1 Then
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ1:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
Else
replaceKZ("KZ1", TextHTML)
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%", "")
End If
End If
If Mailtext <> "" Then TextHTML &= Mailtext & vbNewLine
End If
Else
'sonst alles weg!
replaceKZ("nichtRMC", TextHTML)
replaceKZ("RMC", TextHTML)
replaceKZ("KZ1", TextHTML)
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%", "")
End If
End If
End If
End If
ElseIf SammelrechungArt = 6 Then 'MDM-SAMMELRECHNUNGEN
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID) Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID)
@@ -310,22 +437,46 @@ Public Class cAutomailversand
End Function End Function
Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String)) Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing)
ATTACHMENTS.Clear()
'Rechnungsanhänge anfügen
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment", ".pdf",, False, "Zusammenfassung") Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment", ".pdf",, False, "Zusammenfassung")
'Rechnungsanhänge anfügen
For Each l In listPDFs For Each l In listPDFs
ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next Next
'-----------------------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
If RECHNUNG IsNot Nothing Then
'----------------------------------------------------------------- EINZELRECHNUNGEN------------------------------------------------
RECHNUNG.LOAD_ANHAENGE()
For Each ANH In RECHNUNG.ANHAENGE
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
Next
If SPEDBUCH IsNot Nothing Then
If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Versandschein.pdf"))
'AT
If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Abgabenbescheid.pdf"))
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf"))
'DE
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf"))
If SPEDBUCH.DokumentId_VBD IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Abgabenbescheid.pdf"))
End If
Else
'----------------------------------------------------------------- SAMMELRECHNUNGEN------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
'ATTACHMENTS.Clear()
Dim myList As New List(Of String) Dim myList As New List(Of String)
For Each r As DataRow In SR_DT.Rows For Each r As DataRow In SR_DT.Rows
@@ -365,13 +516,13 @@ Public Class cAutomailversand
End If End If
'----------------------------------------------------------------- End If
End Sub End Sub
Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing, Optional RECHNUNG As cRechnungsausgang = Nothing, Optional FISKAL As cFiskal_Daten = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) As Boolean
Dim accountToSend = setAccountToSend(FirmaID) Dim accountToSend = setAccountToSend(FirmaID)
@@ -406,6 +557,15 @@ Public Class cAutomailversand
Dim AbfertigungsNr As Integer Dim AbfertigungsNr As Integer
Dim FilialenNr As Integer Dim FilialenNr As Integer
Dim UnterNr As Integer
If SPEDBUCH IsNot Nothing Then
FilialenNr = SPEDBUCH.FilialenNr
AbfertigungsNr = SPEDBUCH.AbfertigungsNr
UnterNr = SPEDBUCH.UnterNr
Else
If SR_DT.Rows.Count > 0 Then If SR_DT.Rows.Count > 0 Then
For Each r As DataRow In SR_DT.Rows For Each r As DataRow In SR_DT.Rows
@@ -414,6 +574,8 @@ Public Class cAutomailversand
Next Next
End If End If
End If
@@ -429,6 +591,23 @@ Public Class cAutomailversand
If Mail IsNot Nothing Then If Mail IsNot Nothing Then
API.UPDTAE_OK() API.UPDTAE_OK()
If RECHNUNG IsNot Nothing Then ' EINZELRECHNUNG
RECHNUNG.Automailversand_sent = Now()
RECHNUNG.SAVE()
Else
' 'Bei erfolg. SAMMELRECHNUNG SENT-STATUS setzen
sql.doSQL("update Rechnungsausgang set Automailversand_sent = getDate() where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL")
End If
'---------------------TODO ! ----------------------------
createMailFISKAL(SPEDBUCH, FISKAL, True, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz"))
'---------------------TODO ! ----------------------------
mailcreated = True mailcreated = True
Else Else
@@ -446,74 +625,47 @@ Public Class cAutomailversand
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, accountToSend, False, False, EMails_CC, EMails_BCC, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend)) Then If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, accountToSend, False, False, EMails_CC, EMails_BCC, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend)) Then
API.UPDTAE_OK() API.UPDTAE_OK()
If RECHNUNG IsNot Nothing Then
RECHNUNG.Automailversand_sent = Now()
RECHNUNG.SAVE()
Else
sql.doSQL("update Rechnungsausgang set Automailversand_sent = getDate() where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4 And Automailversand_sent is null", "FMZOLL")
End If
'---------------------TODO ! ----------------------------
createMailFISKAL(SPEDBUCH, FISKAL, False, FirmaID, row.Item("RechnungsKundenNr"), row.Item("RechnungsLandKz"))
'---------------------TODO ! ----------------------------
mailcreated = True mailcreated = True
Else Else
API.UPDTAE_ERR() API.UPDTAE_ERR()
sql.doSQL("update Rechnungsausgang set Status = 2 where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
'Bei FEHLER EINZELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
If RECHNUNG IsNot Nothing Then
RECHNUNG.Automailversand_sent = Nothing
RECHNUNG.Status = 2
RECHNUNG.SAVE()
Else
'Bei FEHLER SAMMELRECHNUNG VON STATUS 4 auf 2 zurücksetzen!
sql.doSQL("update Rechnungsausgang set Status = 2, Automailversand_sent = NULL where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL") And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL")
End If
Return mailcreated Return mailcreated
End If End If
End If End If
Return mailcreated Return mailcreated
End Function End Function
Function getSammelRgTExt(RechnungsLandKz, FIRMA_ID) As String
If RechnungsLandKz = "" Then
getSammelRgTExt = "Sehr geehrte Damen und Herren,<br>"
getSammelRgTExt &= "Dear Ladies and Gentlemen,<br>"
getSammelRgTExt &= "Sayin Bayanlar ve Baylar,<br>"
getSammelRgTExt &= "<br>"
getSammelRgTExt &= "im Anhang senden wir Ihnen die o.g. Rechnung.<br>"
getSammelRgTExt &= "attached we send you the invoice mentioned above.<br>"
getSammelRgTExt &= "ekte baslikta yazan faturayi bulabilirsinz.<br>"
getSammelRgTExt &= "<br>"
getSammelRgTExt &= "<br><br><br>Mit freundlichen Grüßen / Best regards / Saygilarimizla<br><br>VERAG Spedition AG<br><br>" & cFakturierung.getSignature(RechnungsLandKz, FIRMA_ID)
Return "<div style=""font-family:Calibri, Arial"">" & getSammelRgTExt & "</div>"
End If
getSammelRgTExt = "<div style=""font-family:Calibri, Arial"">" & getSammelRgTExt & "</div>"
End Function
Function getSelectionLandKz(dt As DataTable) As String
getSelectionLandKz = ""
If dt.Rows.Count > 0 Then
If dt.Rows.Count > 0 Then
For Each r As DataRow In dt.Rows
If Not IsDBNull(r("RechnungsLandKz")) Then
Dim landKz As String = r("RechnungsLandKz").ToString()
If getSelectionLandKz = "" Then
getSelectionLandKz = landKz
ElseIf getSelectionLandKz <> landKz Then
Return ""
End If
End If
Next
End If
End If
End Function
Private Function setAccountToSend(FIRMA_ID) As String Private Function setAccountToSend(FIRMA_ID) As String
Dim accountToSend = "" Dim accountToSend = ""
@@ -589,4 +741,306 @@ Public Class cAutomailversand
End Function End Function
Public Shared Function automRechnungsversand_deaktivieren(Optional isEinzelrechnung As Boolean = False)
Dim RE_Text = ""
If isEinzelrechnung Then
RE_Text = "diese Rechnung"
Else
RE_Text = "alle markieren Rechnungen"
End If
If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand deaktivieren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then
Return True
Else
Return False
End If
End Function
Public Shared Function automRechnungsversand_aktivieren(Optional isEinzelrechnung As Boolean = False)
Dim RE_Text = ""
If isEinzelrechnung Then
RE_Text = "diese Rechnung"
Else
RE_Text = "alle markieren Rechnungen"
End If
If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then
Return True
Else
Return False
End If
End Function
Public Shared Function automRechnungsversand_durchführen(Optional isEinzelrechnung As Boolean = False)
Dim RE_Text = ""
If isEinzelrechnung Then
RE_Text = "diese Rechnung"
Else
RE_Text = "alle markieren Rechnungen"
End If
If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then
Return True
Else
Return False
End If
End Function
Private Sub replaceKZ(KZ As String, ByRef TextHTML As String)
If TextHTML = "" Then Exit Sub
Dim index_start As Integer = TextHTML.ToString.IndexOf("%" & KZ & ":")
If index_start < 0 Then Exit Sub
Dim txtKZ = TextHTML.ToString.Substring(index_start)
Dim index_end As Integer = txtKZ.ToString.IndexOf("%", 1)
If index_start <= 0 AndAlso index_end <= 0 Then
Exit Sub
End If
Dim txtKZ_replace As String = TextHTML.ToString.Substring(index_start, index_end)
TextHTML = TextHTML.ToString.Replace(txtKZ_replace, "")
End Sub
Private Function createMailFISKAL(SPEDBUCH As cSpeditionsbuch, FISKAL As cFiskal_Daten, showMail As Boolean, FirmaID As Integer, kundenNr As Integer, RechnungsLandKz As String) As Boolean
Dim MailSteuerberater As String = ""
Dim MailFA As String = ""
Dim MailSteuerberater_do As Boolean = False
Dim MailFA_do As Boolean = False
Dim Subject As String = ""
Dim TextHTML As String = ""
Dim MailTo As String = ""
Dim MailCC As String = ""
If FISKAL IsNot Nothing AndAlso SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart IsNot Nothing AndAlso IsNumeric(SPEDBUCH.Abfertigungsart) AndAlso (SPEDBUCH.Abfertigungsart = 26 Or SPEDBUCH.Abfertigungsart = 28) AndAlso (SPEDBUCH.FilialenNr = 4805 Or SPEDBUCH.FilialenNr = 4811) Then 'Prüfung
MailSteuerberater_do = (If(FISKAL.fisk_schreibenSB_Mail, "") <> "")
MailSteuerberater = If(FISKAL.fisk_schreibenSB_Mail, "")
MailFA_do = (If(FISKAL.fisk_schreibenFA_Mail, "") <> "")
MailFA = If(FISKAL.fisk_schreibenFA_Mail, "")
End If
If MailSteuerberater_do Or MailFA_do Then
If MailSteuerberater <> "" Then
MailTo = MailSteuerberater
MailCC = MailFA
Else
MailTo = MailFA
End If
Dim AD As New cAdressen(kundenNr)
Dim KD As New cKunde(kundenNr)
Dim Sprache As String = "EN"
Dim attachList As New List(Of String)
Subject = "Meldung innergemeinschaftlicher Erwerb - " & AD.Ordnungsbegriff
Select Case RechnungsLandKz
Case "A", "AT", "D", "DE", "CH" : Sprache = "DE"
End Select
Select Case Sprache
Case "DE"
TextHTML &= "<b><table style=""font-family:Calibri, Arial;font-weight:bold"">"
TextHTML &= "<tr><td>EORI-Nr.:</td><td>" & If(KD.EORITIN, "") & "</td></tr>"
TextHTML &= "<tr><td>UID-Nr.:</td><td>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</td></tr>"
TextHTML &= "<tr><td>Firma:</td><td>" & If(AD.Name_1, "") & If(AD.Name_2, "") & "</td></tr>"
TextHTML &= "<tr><td></td><td>" & If(AD.Straße, "") & "</td></tr>"
TextHTML &= "<tr><td></td><td>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "</td></tr>"
TextHTML &= "</table></b>"
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Sehr geehrte Damen & Herren!" & "<br>"
TextHTML &= "<br>"
TextHTML &= "Wir teilen Ihnen mit, dass wir für oben genanntes Unternehmen eine Zollabfertigung mit anschließender" & "<br>"
TextHTML &= "innergemeinschaftlicher Lieferung (Verfahren 4200) lt. beiliegenden Unterlagen durchgeführt haben." & "<br>"
TextHTML &= "<br>"
TextHTML &= "Dies muss dem Finanzamt als ""innergemeinschaftlicher Erwerb"" gemeldet werden." & "<br>"
TextHTML &= "<br><br>"
TextHTML &= "Freundliche Grüße"
TextHTML &= "<br><br>"
Case "EN"
TextHTML &= "<b><table style=""font-family:Calibri, Arial;font-weight:bold"">"
TextHTML &= "<tr><td>EORI-Nr.:</td><td>" & If(KD.EORITIN, "") & "</td></tr>"
TextHTML &= "<tr><td>VAT-ID.:</td><td>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</td></tr>"
TextHTML &= "<tr><td>Company:</td><td>" & If(AD.Name_1, "") & If(AD.Name_2, "") & "</td></tr>"
TextHTML &= "<tr><td></td><td>" & If(AD.Straße, "") & "</td></tr>"
TextHTML &= "<tr><td></td><td>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "</td></tr>"
TextHTML &= "</table></b>"
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Dear Sir or Madam!" & "<br>"
TextHTML &= "<br>"
TextHTML &= "We would like to inform you, that we made the customs clearance and subsequent intra-community supply of goods for the company above-mentioned (Code 4200).<br>"
TextHTML &= "The documents are attached." & "<br>"
TextHTML &= "<br>"
TextHTML &= "This intra-community acquisition has to be reported to the tax office." & "<br>"
TextHTML &= "<br><br>"
TextHTML &= "Yours faithfully,"
TextHTML &= "<br><br>"
End Select
If showMail Then
Dim outl As New Outlook.Application
Dim Mail_StbFA As Microsoft.Office.Interop.Outlook.MailItem
Mail_StbFA = outl.CreateItem(0)
Mail_StbFA.Subject = Subject
If FirmaID = 24 Then Mail_StbFA.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID,,,, "")
TextHTML &= "</div>"
Mail_StbFA.HTMLBody = TextHTML
Mail_StbFA.To = MailTo
Mail_StbFA.CC = MailCC
''-----------------------------------------------------------------
''Steuerbescheid anfügen
''-----------------------------------------------------------------
'getAnhaenge(False)
''Anhang an Mail anfügen
''-----------------------------------------------------------------
'addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked)
''-----------------------------------------------------------------
Mail_StbFA.Display()
Else
Dim accountToSend = setAccountToSend(FirmaID)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(MailTo, Subject, TextHTML, accountToSend, False, False, MailCC, accountToSend, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend))
''-----------------------------------------------------------------
''Steuerbescheid anfügen
''-----------------------------------------------------------------
'getAnhaenge(False)
''Anhang an Mail anfügen
''-----------------------------------------------------------------
'addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked)
''-----------------------------------------------------------------
End If
End If
End Function
Private Function setEmpfaengerMail_ER(SPEDBUCH As cSpeditionsbuch, AD As cAdressen, EMAILTMP As String, EMAILTMPCC As String, EMAILTMPBCC As String, email_receipt As String)
If SPEDBUCH IsNot Nothing Then
Dim IMPEXP = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("isnull(IMEX,'')", "Aviso", "AvisoId='" & SPEDBUCH.AvisoID & "'", "AVISO")
Select Case IMPEXP
Case "IMPORT"
If VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an IMPORT") <> "" Then
EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an IMPORT"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an")
EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an IMPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an IMPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
End If
Case "EXPORT"
If VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an EXPORT") <> "" Then
EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an EXPORT"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an")
EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an EXPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an EXPORT"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)"))
End If
End Select
End If
'wenn leere Mailadressen, dann Standardadresse holen
If EMAILTMP = "" And EMAILTMPCC = "" And EMAILTMPBCC = "" Then
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)"))
End If
End Function
Private Function setEmpfaengerMail_SR(SR_DT As DataTable, AD As cAdressen, EMAILTMP As String, EMAILTMPCC As String, EMAILTMPBCC As String, FirmaID As Integer, SammelrechungArt 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
End Function
End Class End Class

View File

@@ -794,6 +794,8 @@ Public Class cFakturierung
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
rpt.txtBank3.Visible = True rpt.txtBank3.Visible = True
rpt.txtBank2.Visible = False 'soll beim AMBAR ausgeblendet werden (Laut I.Ordu am 27.03.2026)
'Änderung Ticket_Nr.: 6983 'Änderung Ticket_Nr.: 6983
'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim 'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim 'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
@@ -1013,6 +1015,8 @@ Public Class cFakturierung
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
rpt.txtBank3.Visible = True rpt.txtBank3.Visible = True
rpt.txtBank2.Visible = False 'soll beim AMBAR ausgeblendet werden (Laut I.Ordu am 27.03.2026)
'Änderung Ticket_Nr.: 6983 'Änderung Ticket_Nr.: 6983
'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim 'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim 'rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
@@ -1122,6 +1126,9 @@ Public Class cFakturierung
rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim rpt.txtBank3.Text = "Garanti Bank Türkei Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall") rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall")
rpt.txtBank2.Visible = False 'soll beim AMBAR ausgeblendet werden (Laut I.Ordu am 27.03.2026)
Case 20 '"IMEX" Case 20 '"IMEX"
If RechnungsLandKz = "TR" Then If RechnungsLandKz = "TR" Then
' rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713" ' rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713"
@@ -4851,7 +4858,7 @@ Public Class cFakturierung
Dim ROW As DataRow = IIf(dt.Rows.Count > 0, dt.Rows(0), Nothing) Dim ROW As DataRow = IIf(dt.Rows.Count > 0, dt.Rows(0), Nothing)
Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status")) Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status"), ROW("Firma_ID"))
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID")) Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID"))
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr")) Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
@@ -5749,7 +5756,7 @@ Public Class cFakturierung
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(firmaID) Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(firmaID)
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr")) Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status")) Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status"), firmaID)
If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False
@@ -6211,10 +6218,12 @@ Public Class cFakturierung
Return "" Return ""
End Function End Function
Shared Function checkIfMDMSammelrechnung(Rechnungsdruck As Integer, Status As Integer) Shared Function checkIfMDMSammelrechnung(Rechnungsdruck As Integer, Status As Integer, Firma_ID As Integer)
'If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4)) Then Return True 'If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4)) Then Return True
If Firma_ID <> 19 Then Return False
If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 8 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 3 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 2 AndAlso (Status = 2 Or Status = 4)) Then Return True If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 8 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 3 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 2 AndAlso (Status = 2 Or Status = 4)) Then Return True
Return False Return False

View File

@@ -88,6 +88,7 @@ Partial Class frmAbrechnungsMaske
Me.btnVonJahr = New System.Windows.Forms.Button() Me.btnVonJahr = New System.Windows.Forms.Button()
Me.UsrCntlFaktAbrechnung1 = New SDL.usrCntlFaktAbrechnung() Me.UsrCntlFaktAbrechnung1 = New SDL.usrCntlFaktAbrechnung()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.btn_doMailAutoversand = New System.Windows.Forms.Button()
Me.pnl.SuspendLayout() Me.pnl.SuspendLayout()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout() Me.SplitContainer.Panel1.SuspendLayout()
@@ -200,6 +201,7 @@ Partial Class frmAbrechnungsMaske
'Panel2 'Panel2
' '
Me.Panel2.BackColor = System.Drawing.Color.White Me.Panel2.BackColor = System.Drawing.Color.White
Me.Panel2.Controls.Add(Me.btn_doMailAutoversand)
Me.Panel2.Controls.Add(Me.Button11) Me.Panel2.Controls.Add(Me.Button11)
Me.Panel2.Controls.Add(Me.cbxOriginalDrucken) Me.Panel2.Controls.Add(Me.cbxOriginalDrucken)
Me.Panel2.Controls.Add(Me.cboSort) Me.Panel2.Controls.Add(Me.cboSort)
@@ -231,7 +233,7 @@ Partial Class frmAbrechnungsMaske
Me.Button11.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button11.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button11.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button11.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button11.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button11.Location = New System.Drawing.Point(220, 21) Me.Button11.Location = New System.Drawing.Point(214, 21)
Me.Button11.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button11.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3)
Me.Button11.Name = "Button11" Me.Button11.Name = "Button11"
Me.Button11.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) Me.Button11.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0)
@@ -269,9 +271,9 @@ Partial Class frmAbrechnungsMaske
Me.cboPrinter._value = "" Me.cboPrinter._value = ""
Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboPrinter.FormattingEnabled = True Me.cboPrinter.FormattingEnabled = True
Me.cboPrinter.Location = New System.Drawing.Point(142, 52) Me.cboPrinter.Location = New System.Drawing.Point(133, 52)
Me.cboPrinter.Name = "cboPrinter" Me.cboPrinter.Name = "cboPrinter"
Me.cboPrinter.Size = New System.Drawing.Size(157, 21) Me.cboPrinter.Size = New System.Drawing.Size(200, 21)
Me.cboPrinter.TabIndex = 25 Me.cboPrinter.TabIndex = 25
' '
'Button9 'Button9
@@ -280,7 +282,7 @@ Partial Class frmAbrechnungsMaske
Me.Button9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button9.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button9.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button9.Location = New System.Drawing.Point(142, 21) Me.Button9.Location = New System.Drawing.Point(136, 21)
Me.Button9.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button9.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3)
Me.Button9.Name = "Button9" Me.Button9.Name = "Button9"
Me.Button9.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) Me.Button9.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0)
@@ -295,7 +297,7 @@ Partial Class frmAbrechnungsMaske
Me.Button8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button8.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button8.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button8.Location = New System.Drawing.Point(181, 21) Me.Button8.Location = New System.Drawing.Point(175, 21)
Me.Button8.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button8.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3)
Me.Button8.Name = "Button8" Me.Button8.Name = "Button8"
Me.Button8.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) Me.Button8.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0)
@@ -310,7 +312,7 @@ Partial Class frmAbrechnungsMaske
Me.Button7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button7.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button7.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button7.Location = New System.Drawing.Point(259, 21) Me.Button7.Location = New System.Drawing.Point(253, 21)
Me.Button7.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button7.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3)
Me.Button7.Name = "Button7" Me.Button7.Name = "Button7"
Me.Button7.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) Me.Button7.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0)
@@ -347,7 +349,7 @@ Partial Class frmAbrechnungsMaske
Me.btnWiederholeRgDruck.BackgroundImage = Global.SDL.My.Resources.Resources.print_rg Me.btnWiederholeRgDruck.BackgroundImage = Global.SDL.My.Resources.Resources.print_rg
Me.btnWiederholeRgDruck.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.btnWiederholeRgDruck.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.btnWiederholeRgDruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnWiederholeRgDruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnWiederholeRgDruck.Location = New System.Drawing.Point(388, 9) Me.btnWiederholeRgDruck.Location = New System.Drawing.Point(406, 9)
Me.btnWiederholeRgDruck.Name = "btnWiederholeRgDruck" Me.btnWiederholeRgDruck.Name = "btnWiederholeRgDruck"
Me.btnWiederholeRgDruck.Size = New System.Drawing.Size(53, 36) Me.btnWiederholeRgDruck.Size = New System.Drawing.Size(53, 36)
Me.btnWiederholeRgDruck.TabIndex = 11 Me.btnWiederholeRgDruck.TabIndex = 11
@@ -356,7 +358,7 @@ Partial Class frmAbrechnungsMaske
'Label4 'Label4
' '
Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
Me.Label4.Location = New System.Drawing.Point(381, 46) Me.Label4.Location = New System.Drawing.Point(399, 46)
Me.Label4.Name = "Label4" Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(67, 26) Me.Label4.Size = New System.Drawing.Size(67, 26)
Me.Label4.TabIndex = 12 Me.Label4.TabIndex = 12
@@ -391,7 +393,7 @@ Partial Class frmAbrechnungsMaske
Me.Button3.BackgroundImage = Global.SDL.My.Resources.Resources.moneybag1 Me.Button3.BackgroundImage = Global.SDL.My.Resources.Resources.moneybag1
Me.Button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button3.Location = New System.Drawing.Point(329, 9) Me.Button3.Location = New System.Drawing.Point(347, 9)
Me.Button3.Name = "Button3" Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(53, 36) Me.Button3.Size = New System.Drawing.Size(53, 36)
Me.Button3.TabIndex = 9 Me.Button3.TabIndex = 9
@@ -400,7 +402,7 @@ Partial Class frmAbrechnungsMaske
'Label3 'Label3
' '
Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
Me.Label3.Location = New System.Drawing.Point(326, 46) Me.Label3.Location = New System.Drawing.Point(344, 46)
Me.Label3.Name = "Label3" Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(56, 26) Me.Label3.Size = New System.Drawing.Size(56, 26)
Me.Label3.TabIndex = 10 Me.Label3.TabIndex = 10
@@ -974,6 +976,21 @@ Partial Class frmAbrechnungsMaske
Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
' '
'btn_doMailAutoversand
'
Me.btn_doMailAutoversand.BackgroundImage = Global.SDL.My.Resources.Resources.zauberstab
Me.btn_doMailAutoversand.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.btn_doMailAutoversand.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btn_doMailAutoversand.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btn_doMailAutoversand.Location = New System.Drawing.Point(293, 21)
Me.btn_doMailAutoversand.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3)
Me.btn_doMailAutoversand.Name = "btn_doMailAutoversand"
Me.btn_doMailAutoversand.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0)
Me.btn_doMailAutoversand.Size = New System.Drawing.Size(40, 25)
Me.btn_doMailAutoversand.TabIndex = 29
Me.btn_doMailAutoversand.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btn_doMailAutoversand.UseVisualStyleBackColor = True
'
'frmAbrechnungsMaske 'frmAbrechnungsMaske
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -1067,4 +1084,5 @@ Partial Class frmAbrechnungsMaske
Friend WithEvents PictureBox5 As PictureBox Friend WithEvents PictureBox5 As PictureBox
Friend WithEvents lblKunde As Label Friend WithEvents lblKunde As Label
Friend WithEvents KdSearchBox1 As VERAG_PROG_ALLGEMEIN.KdSearchBox Friend WithEvents KdSearchBox1 As VERAG_PROG_ALLGEMEIN.KdSearchBox
Friend WithEvents btn_doMailAutoversand As Button
End Class End Class

View File

@@ -1,5 +1,8 @@
Imports System.IO Imports System.IO
Imports com.sun.tools.javac.comp
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Public Class frmAbrechnungsMaske Public Class frmAbrechnungsMaske
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -38,6 +41,7 @@ Public Class frmAbrechnungsMaske
cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FAX", "1")) cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FAX", "1"))
cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E-MAIL", "2")) cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E-MAIL", "2"))
cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL+KOPIE", "5")) cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL+KOPIE", "5"))
cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AUTO-MAIL", "6"))
cboRechnungsdruck.changeItem("") cboRechnungsdruck.changeItem("")
cboSort.Items.Clear() cboSort.Items.Clear()
@@ -181,7 +185,11 @@ Public Class frmAbrechnungsMaske
Dim dgv As VERAG_PROG_ALLGEMEIN.MyDatagridview = getDGV() Dim dgv As VERAG_PROG_ALLGEMEIN.MyDatagridview = getDGV()
Dim reNrSQL As String = "" Dim reNrSQL As String = ""
If cbx.Checked Then reNrSQL = " isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, " If cbx.Checked Then
reNrSQL = " isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr,cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, "
Else
reNrSQL = " cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, "
End If
With dgv With dgv
@@ -221,7 +229,19 @@ Public Class frmAbrechnungsMaske
.Columns("BelegartenKz").Visible = False .Columns("BelegartenKz").Visible = False
.Columns("PosNr").HeaderText = "Pos-Nr." .Columns("PosNr").HeaderText = "Pos-Nr."
If cbx.Checked Then .Columns("ReNr").HeaderText = "ReNr." If .Columns.Contains("ReNr") Then
.Columns("ReNr").HeaderText = "ReNr."
End If
If .Columns.Contains("AUTO_sent") Then
.Columns("AUTO_sent").HeaderText = "gesen."
.Columns("AUTO_sent").Width = 40
If cboRechnungsdruck._value <> "6" Then
.Columns("AUTO_sent").Visible = False
Else
.Columns("AUTO_sent").Visible = True
End If
End If
.Columns("UnterNr").Width = 35 .Columns("UnterNr").Width = 35
.Columns("Art").Width = 30 .Columns("Art").Width = 30
@@ -269,15 +289,19 @@ Public Class frmAbrechnungsMaske
Function getRGWhere(filterSR As String, Optional filialenNr As Integer = -1) Function getRGWhere(filterSR As String, Optional filialenNr As Integer = -1)
Dim sqlstr = "" Dim sqlstr = ""
Dim srchSB = "" ' "NÖBAUER ANJA" 'VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME Dim srchSB = "" ' "NÖBAUER ANJA" 'VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
Dim enableAUTOMAIL As Boolean = True
Dim enableAUTOMAIL_BTN As Boolean = False
srchSB = cboSachbearbeiter._value srchSB = cboSachbearbeiter._value
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = 24 Then Return sqlstr If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = 24 Then Return sqlstr
Select Case filterSR Select Case filterSR
Case "ER" : sqlstr &= " And Rechnungsausgang.Sammelrechnung IN (0) " Case "ER" : sqlstr &= " And Rechnungsausgang.Sammelrechnung IN (0) "
Case "SR" : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (0,6) " Case "SR" : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (0,6) " : enableAUTOMAIL = False
Case "MSR" : sqlstr &= " And Rechnungsausgang.Sammelrechnung IN (6) " Case "MSR" : sqlstr &= " And Rechnungsausgang.Sammelrechnung IN (6) " : enableAUTOMAIL = False
Case Else : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (6) " Case Else : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (6) " : enableAUTOMAIL = False
End Select End Select
@@ -287,6 +311,7 @@ Public Class frmAbrechnungsMaske
If cbx.Checked Then If cbx.Checked Then
enableAUTOMAIL = False
'sqlstr &= " AND Status = 0 " 'sqlstr &= " AND Status = 0 "
sqlstr &= " AND DruckDatumZeit BETWEEN '" & txtAbfertDat._value & " 00:00:00' AND '" & txtAbfertDatBis._value & " 23:59:59'" sqlstr &= " AND DruckDatumZeit BETWEEN '" & txtAbfertDat._value & " 00:00:00' AND '" & txtAbfertDatBis._value & " 23:59:59'"
sqlstr &= IIf(filterSR = "MSR", " And (Status = 4)", "") sqlstr &= IIf(filterSR = "MSR", " And (Status = 4)", "")
@@ -303,14 +328,22 @@ Public Class frmAbrechnungsMaske
End If End If
If cboRechnungsdruck._value <> "" Then If cboRechnungsdruck._value <> "" Then
sqlstr &= " And Rechnungsdruck='" & cboRechnungsdruck._value & "' " Select Case cboRechnungsdruck._value
Case 6 : sqlstr &= " And isnull(Automailversand,0)=1 " : enableAUTOMAIL_BTN = True
Case 2, 5 : sqlstr &= " And Rechnungsdruck='" & cboRechnungsdruck._value & "' "
Case Else
sqlstr &= " And Rechnungsdruck='" & cboRechnungsdruck._value & "' " : enableAUTOMAIL = False
End Select
Else
enableAUTOMAIL = False
End If End If
If srchSB <> "" Then sqlstr &= " And Rechnungsausgang.Sachbearbeiter='" & srchSB & "' " If srchSB <> "" Then sqlstr &= " And Rechnungsausgang.Sachbearbeiter='" & srchSB & "' "
If cboFirma._value <> "" Then sqlstr &= " AND Rechnungsausgang.Firma_ID=" & cboFirma._value & " " If cboFirma._value <> "" Then sqlstr &= " AND Rechnungsausgang.Firma_ID=" & cboFirma._value & " "
If KdSearchBox1.KdNr_value > 0 Then sqlstr &= " AND Rechnungsausgang.RechnungsKundenNr=" & KdSearchBox1.KdNr_value & " " If KdSearchBox1.KdNr_value > 0 Then sqlstr &= " AND Rechnungsausgang.RechnungsKundenNr=" & KdSearchBox1.KdNr_value & " "
UsrCntlFaktAbrechnung1.cbxAUTOMailversand.Enabled = enableAUTOMAIL
btn_doMailAutoversand.Visible = enableAUTOMAIL_BTN AndAlso enableAUTOMAIL
' sqlstr &= " AND (SteuerpflichtigerGesamtbetrag<>0 OR SteuerfreierGesamtbetrag<>0)" ' sqlstr &= " AND (SteuerpflichtigerGesamtbetrag<>0 OR SteuerfreierGesamtbetrag<>0)"
Return sqlstr Return sqlstr
@@ -930,4 +963,29 @@ Public Class frmAbrechnungsMaske
Process.Start(webAddress) Process.Start(webAddress)
End Sub End Sub
Private Sub btn_doMailAutoversand_Click(sender As Object, e As EventArgs) Handles btn_doMailAutoversand.Click
If dgvRechnungen.SelectedRows.Count > 0 Then
If Not cAutomailversand.automRechnungsversand_durchführen Then Exit Sub
Dim ListOfRK_ID As New List(Of Integer)
For Each row As DataGridViewRow In dgvRechnungen.SelectedRows
If Not IsDBNull(row.Cells("RK_ID").Value) AndAlso IsNumeric(row.Cells("RK_ID").Value) Then
ListOfRK_ID.Add(CInt(row.Cells("RK_ID").Value))
End If
Next
Dim fun As New cAutomailversand
fun.sendMailEinzelrechnungen(cboFirma._value, Today(), cboSachbearbeiter._value, ListOfRK_ID)
initDGV()
End If
End Sub
End Class End Class

View File

@@ -723,11 +723,6 @@ Public Class frmFaktEmail
Exit Sub Exit Sub
End If End If
'If Not RECHNUNG.checkRechnungsNrIsSet() Then
' MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
' Exit Sub
'End If
RechnungsNr = RECHNUNG.RechnungsNr RechnungsNr = RECHNUNG.RechnungsNr
If cbxRgKopieDrucken.Checked Then If cbxRgKopieDrucken.Checked Then

View File

@@ -665,7 +665,7 @@ Public Class frmFaktSammelRgDrucken
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyDatagridview1.SelectedRows.Count > 0 Then If MyDatagridview1.SelectedRows.Count > 0 Then
If vbYes = MsgBox("Möchten Sie alle markieren Rechnungen den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then If cAutomailversand.automRechnungsversand_aktivieren() Then
Dim noRENRExisting As Boolean = False Dim noRENRExisting As Boolean = False
@@ -727,7 +727,8 @@ Public Class frmFaktSammelRgDrucken
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If MyDatagridview1.SelectedRows.Count > 0 Then If MyDatagridview1.SelectedRows.Count > 0 Then
If vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand deaktiveren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then
If cAutomailversand.automRechnungsversand_deaktivieren() Then
'setMailversand(false, Firma, Sammelrechung, 2) 'setMailversand(false, Firma, Sammelrechung, 2)
setMailversand_ALL(False, Firma, Sammelrechung, 2) setMailversand_ALL(False, Firma, Sammelrechung, 2)
@@ -735,6 +736,7 @@ Public Class frmFaktSammelRgDrucken
End If End If
End If End If
End Sub End Sub
Private Function setMailversand(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer, Status As Integer) As Boolean Private Function setMailversand(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer, Status As Integer) As Boolean
@@ -895,6 +897,30 @@ Public Class frmFaktSammelRgDrucken
End If End If
End Sub
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
ContextMenuStrip1.Hide()
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
If item.Name <> "" AndAlso IsNumeric(item.Name) Then
Dim f As New SDL.frmAbrechnungsMaskeEinzeln(item.Name)
f.Show(Me)
End If
Else
MsgBox("Funktion nicht implementiert!")
End If
End Sub End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
@@ -909,10 +935,10 @@ Public Class frmFaktSammelRgDrucken
If MyDatagridview1.SelectedRows.Count > 0 Then If MyDatagridview1.SelectedRows.Count > 0 Then
If Not vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Exit Sub If Not cAutomailversand.automRechnungsversand_durchführen Then Exit Sub
Dim fun As New cAutomailversand
For Each r In MyDatagridview1.SelectedRows For Each r In MyDatagridview1.SelectedRows
Dim fun As New cAutomailversand
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked) fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked)
Next Next
@@ -923,9 +949,7 @@ Public Class frmFaktSammelRgDrucken
End Sub End Sub
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
End Sub
Private Sub btnNurAbf_Click(sender As Object, e As EventArgs) Handles btnNurImport.Click, btnNurExport.Click Private Sub btnNurAbf_Click(sender As Object, e As EventArgs) Handles btnNurImport.Click, btnNurExport.Click

View File

@@ -1,7 +1,4 @@
Imports System.Data.SqlClient Imports System.Web.UI.WebControls.Expressions
Imports System.IO
Imports System.Web.UI.WebControls.Expressions
Imports com.sun.xml.internal.rngom
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung Public Class usrCntlFaktAbrechnung
@@ -348,6 +345,7 @@ Public Class usrCntlFaktAbrechnung
Button2.Enabled = (RECHNUNG.Status = 0) Button2.Enabled = (RECHNUNG.Status = 0)
btnOK.Enabled = (RECHNUNG.Status = 0) btnOK.Enabled = (RECHNUNG.Status = 0)
If RECHNUNG.Status <> 0 Then cbxAUTOMailversand.Enabled = False
'RECHNUNG.OffertenNr = OfferteNrTmp 'RECHNUNG.OffertenNr = OfferteNrTmp
' RECHNUNG.OffertenNr = OfferteNrTmp ' RECHNUNG.OffertenNr = OfferteNrTmp
@@ -3513,6 +3511,43 @@ Public Class usrCntlFaktAbrechnung
If Not checkUIDNR() Then Exit Sub If Not checkUIDNR() Then Exit Sub
If RECHNUNG.Sammelrechnung = 0 Then 'nur bei ER
If cbxAUTOMailversand.Checked AndAlso Not RECHNUNG.Automailversand Then
If cAutomailversand.automRechnungsversand_aktivieren(RECHNUNG.Sammelrechnung = 0) Then
If RECHNUNG.RechnungsDatum Is Nothing Then
'LAUT AUSSAGE VON VERR. IMMER HEUTIGES DATUM!
RECHNUNG.RechnungsDatum = Today()
'If Not cFakturierung.getRgDatInput("", RECHNUNG.[RechnungsDatum]) Then 'Now.ToShortDateString
' cbxAUTOMailversand.Checked = False
' Exit Sub
'End If
End If
RECHNUNG.Automailversand = True
Else
cbxAUTOMailversand.Checked = False
End If
ElseIf Not cbxAUTOMailversand.Checked AndAlso RECHNUNG.Automailversand Then
If cAutomailversand.automRechnungsversand_deaktivieren(RECHNUNG.Sammelrechnung = 0) Then
If Not RECHNUNG.RechnungsDatum Is Nothing Then
RECHNUNG.RechnungsDatum = Nothing
End If
RECHNUNG.Automailversand = False
Else
cbxAUTOMailversand.Checked = True
End If
End If
End If
saveMe() saveMe()
End Sub End Sub

View File

@@ -119,10 +119,10 @@ Public Class cRechnungsausgang
Property TextZZ As Object = Nothing Property TextZZ As Object = Nothing
Property ForceSteuerschlüssel As Object = Nothing Property ForceSteuerschlüssel As Object = Nothing
Property Automailversand As Boolean = False Property Automailversand As Boolean = False
Property Rechnungsart As String = "RG" ' RG=Rechnung; RU=Rechnung Unvollständig; RK=RechnungKopf -> bei unvollständiger Rechnung ein Kopf benötigt (zB Staffelabrechnung) Property Rechnungsart As String = "RG" ' RG=Rechnung; RU=Rechnung Unvollständig; RK=RechnungKopf -> bei unvollständiger Rechnung ein Kopf benötigt (zB Staffelabrechnung)
Property Vorlageprovision_Mindestbetrag As Object = Nothing Property Vorlageprovision_Mindestbetrag As Object = Nothing
Property Automailversand_sent As Object = Nothing
Property dsId As Object = Nothing Property dsId As Object = Nothing
@@ -371,6 +371,7 @@ Public Class cRechnungsausgang
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsart", Rechnungsart)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsart", Rechnungsart))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision_Mindestbetrag", Vorlageprovision_Mindestbetrag)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision_Mindestbetrag", Vorlageprovision_Mindestbetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("dsId", dsId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("dsId", dsId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Automailversand_sent", Automailversand_sent))
Return list Return list
End Function End Function