Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN Public Class frmFaktEmail Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Dim FUNC As New cProgramFunctions Dim printOriginalRg As Object = Nothing Dim ATTACHMENTS As New List(Of cFakt_MailATTach) Dim SR_List As List(Of cFakt_SR_List) = Nothing Dim SR_DT As DataTable = Nothing Dim Firma_ID As Integer Dim SammelrechungArt As Integer Dim KdNr As Integer Dim DatumBis As Date Dim Rechnungsdatum = Nothing Dim SB As String Dim Rechnungsdruck As Integer = 3 Dim EinzelAnlagen As Boolean Dim Sammelbericht As Boolean Dim xlsEvolog As Boolean Dim xlsTransFerry As Boolean Dim RechnungsNr As Integer Dim FakturierungsGruppe As String Dim Abfertigungsart As String Dim DruckDatumZeit As DateTime Dim AvisoIds As List(Of Integer) Dim SR = False Sub New(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, printOriginalRg As Object, Rechnungsdruck As Integer, Optional Rechnungsdatum As Object = Nothing) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() Me.RECHNUNG = RECHNUNG Me.Firma_ID = RECHNUNG.Firma_ID Me.SPEDBUCH = SPEDBUCH Me.printOriginalRg = printOriginalRg Me.KdNr = RECHNUNG.RechnungsKundenNr Me.Rechnungsdruck = Rechnungsdruck If Rechnungsdatum IsNot Nothing Then Me.Rechnungsdatum = CDate(Rechnungsdatum) ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. 'McDull.Windows.Forms.HTMLTextBox End Sub Sub New(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Rechnungsdruck As Integer, Optional EinzelAnlagen As Boolean = True, Optional Sammelbericht As Boolean = True, Optional KdNr As Integer = -1, Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, Optional AvisoIds As List(Of Integer) = Nothing, Optional xlsEvolog As Boolean = False, Optional xlsTransFerry As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional printRgCopy As Boolean = False) '(Firma_ID As Integer, SammelrechungArt As Integer, KdNr As Integer, DatumBis As Date, SB As String, EinzelAnlagen As Boolean, Sammelbericht As Boolean) 'Sammelrechnung ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() Me.SR_DT = cFakturierung.GET_SR_SQLDT(Firma_ID, SammelrechungArt, DatumBis, KdNr, SB, AvisoIds, FakturierungsGruppe, Abfertigungsart) 'SQL.loadDgvBySql(sqlStr, "FMZOLL") Me.Firma_ID = Firma_ID Me.SammelrechungArt = SammelrechungArt Me.DatumBis = DatumBis Me.SB = SB Me.EinzelAnlagen = EinzelAnlagen Me.Sammelbericht = Sammelbericht Me.xlsEvolog = xlsEvolog Me.xlsTransFerry = xlsTransFerry Me.KdNr = KdNr Me.Rechnungsdatum = Rechnungsdatum Me.RechnungsNr = lastAktuelle_RgNr Me.FakturierungsGruppe = FakturierungsGruppe Me.Abfertigungsart = Abfertigungsart Me.AvisoIds = AvisoIds Me.Rechnungsdruck = Rechnungsdruck SR = True End Sub Private Sub frmFaktEmail_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Select Case RECHNUNG.RechnungsLandKz ' Case "TR" ' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr ' TextHTML = "Sayin Bayanlar ve Baylar,

ekte baslikta yazan faturayi bulabilirsinz." ' TextHTML &= "


Saygilarimizla

" & cFakturierung.getSignature(RECHNUNG) ' Case "A", "AT", "D", "DE", "CH" ' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr ' TextHTML = "Sehr geehrte Damen und Herren,

im Anhang senden wir Ihnen die o.g. Rechnung." ' TextHTML &= "


Mit freundlichen Grüßen

" & cFakturierung.getSignature(RECHNUNG) ' Case Else ' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr ' TextHTML = "Sehr geehrte Damen und Herren,

attached we send you the invoice mentioned above." ' TextHTML &= "


Best regards

" & cFakturierung.getSignature(RECHNUNG) 'End Select cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE")) cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN")) cboFaStb_Sprache.changeItem("DE") cProgramFunctions.initDrucker(cboPrinter) Select Case Rechnungsdruck Case 5 : cbxRgKopieDrucken.Checked = True End Select Dim AD As VERAG_PROG_ALLGEMEIN.cAdressen Dim FISKAL As cFiskal_Daten = Nothing cbxExcelEvolog.Checked = xlsEvolog cbxTransFerry.Checked = xlsTransFerry If SR Then AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) FISKAL = New cFiskal_Daten(KdNr) setMailText(AD.LandKz) initList() cbxStb.Enabled = True : cbxStb.Checked = True cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True cbxVBD.Enabled = True : cbxVBD.Checked = True cbxOriginalPrint.Visible = False Else setMailText(RECHNUNG.RechnungsLandKz) initRowSpedbuch(SPEDBUCH) If SPEDBUCH.DokumentId_Steuerbeleg Then cbxStb.Enabled = True : cbxStb.Checked = True If SPEDBUCH.DokumentId_Mitteilung Then cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True If SPEDBUCH.DokumentId_VBD Then cbxVBD.Enabled = True : cbxVBD.Checked = True ' wbShowHTML(WebBrowser, cFakturierung.getSignature(RECHNUNG)) AD = New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr) FISKAL = New cFiskal_Daten(RECHNUNG.RechnungsKundenNr) If printOriginalRg Is Nothing Then cbxOriginalPrint.Visible = False Else cbxOriginalPrint.Visible = True cbxOriginalPrint.Checked = CBool(printOriginalRg) End If End If If AD.AdressenNr = 1001688 Then cbxExcelEvolog.Checked = True 'EVOLOG If AD.AdressenNr = 800020 Then cbxTransFerry.Checked = True 'TRANS FERRY 360 If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then lkl.Text = """" & AD.E_Mail & """ anfügen" : lkl.Tag = AD.E_Mail lblKunde.Text = AD.AdressenNr & " - " & AD.Ordnungsbegriff Dim email_receipt As String = "" If SR Then Dim allAtilla = IIf(Firma_ID = 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)"), "") Else If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)") End If Dim EMAILTMP = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") If EMAILTMP <> "" Then dgvEmail.Rows.Add(EMAILTMP) Dim EMAILTMPCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) If EMAILTMPCC <> "" Then dgvEmailCC.Rows.Add(EMAILTMPCC) Dim EMAILTMPBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) If EMAILTMPBCC <> "" Then dgvEmailBCC.Rows.Add(EMAILTMPBCC) initDGVAnhaenge() 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 cbxSteuerberaterEmail.Checked = (If(FISKAL.fisk_schreibenSB_Mail, "") <> "") txtSteuerberaterEmail.Text = If(FISKAL.fisk_schreibenSB_Mail, "") cbxFAEmail.Checked = (If(FISKAL.fisk_schreibenFA_Mail, "") <> "") txtFAEmail.Text = If(FISKAL.fisk_schreibenFA_Mail, "") End If End Sub Private Sub wbShowHTML(ByVal WebBrowser As WebBrowser, ByVal HtmlText As String) Try With WebBrowser If IsNothing(.Url) OrElse .Url.AbsoluteUri <> "about:blank" Then ' zunächst eine leere Seite laden .Navigate("about:blank") Application.DoEvents() End If ' HTML-Textstring in das WebBrowser-Control schreiben ' .Document.Body.InnerHtml = HtmlText End With Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try End Sub Function getRgNr(RechnungsNr As Integer) As String If RechnungsNr <= 0 Then Return "%RgNr%" Return RechnungsNr End Function Sub setMailText(RechnungsLandKz) Select Case RechnungsLandKz Case "A", "AT", "D", "DE", "CH" : cboFaStb_Sprache.changeItem("DE") Case Else : cboFaStb_Sprache.changeItem("EN") End Select Dim txtRgNr = "" Dim BelegartenNr = "70" Try If SR Then txtRgNr = getRgNr(RechnungsNr) If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then BelegartenNr = SR_DT.Rows(0)("BelegartenNr") For Each r In SR_DT.Rows If BelegartenNr <> r("BelegartenNr") Then BelegartenNr = "70" : Exit For 'Im Zweifel 70 Next End If Else txtRgNr = getRgNr(If(RECHNUNG.RechnungsNr, -1)) BelegartenNr = RECHNUNG.BelegartenNr End If Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try Dim TextHTMLADD = "" 'ZF-Passau + Konsilager If SPEDBUCH IsNot Nothing Then If (RECHNUNG.RechnungsKundenNr = 714869 Or RECHNUNG.RechnungsKundenNr = 715417) And (SPEDBUCH.Abfertigungsart = 39 Or SPEDBUCH.Abfertigungsart = 1) Then If Not SR Then TextHTMLADD = addRgData_ZF_Passau(RechnungsLandKz) End If End If 'Parsan If SPEDBUCH IsNot Nothing Then If (RECHNUNG.RechnungsKundenNr = 712814) Then If Not SR Then TextHTMLADD = addRgData_Parsan(RechnungsLandKz) End If End If Dim TextHTML = "" Select Case RechnungsLandKz Case "TR" txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz." TextHTML &= TextHTMLADD TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & "" Case "A", "AT", "D", "DE", "CH" txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).") TextHTML &= TextHTMLADD TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & "" Case Else txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the invoice mentioned above." TextHTML &= TextHTMLADD TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & "" End Select RichTextBox.Text = TextHTML End Sub Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click Dim abfNr = "" Dim additionalLine = "" If SR Then Try If RechnungsNr > 1 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then If FakturierungsGruppe <> "" Then additionalLine = "Abrechnungsstelle: " & FakturierungsGruppe.Replace("WAI", "Waidhaus") End If VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("Zusammenfassung") Dim listPDFs As New List(Of String) Dim SonstAnlagen As New List(Of String) Dim lastAktuelle_RgNr As Integer = -1 'Rechnung erstellen: '----------------------------------------------------------------- Dim RechnungsNrisSet As Boolean = False Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) If RechnungsNr <= 0 Then RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(Firma_ID, SammelrechungArt, DatumBis, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, KdNr, 4, listPDFs, SB, lastAktuelle_RgNr, DruckDatumZeit, AvisoIds, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked, FakturierungsGruppe, Abfertigungsart) RechnungsNr = lastAktuelle_RgNr Else Dim path = "" cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RechnungsNr, -1, -1, DruckDatumZeit, "", False, , 4, path, True,, cbxExcelEvolog.Checked, SonstAnlagen,, cbxTransFerry.Checked) lastAktuelle_RgNr = RechnungsNr listPDFs.Add(path) End If If Not RechnungsNrisSet Then 'Abbruch bei fehlender RE-Nr Exit Sub End If If cbxRgKopieDrucken.Checked Then 'KOPIE DRUCK Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim RK_ID = sql.getValueTxtBySql("SELECT TOP 1 RK_ID FROM Rechnungsausgang WHERE RechnungsNr='" & RechnungsNr & "' AND Firma_ID='" & Firma_ID & "' ORDER BY DruckDatumZeit DESC", "FMZOLL") Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) If RG_TMP IsNot Nothing Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, cboPrinter.Text, False, , 3,, True) End If End If Dim outl As New Outlook.Application Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Mail = outl.CreateItem(0) Mail.Subject = txtSubject.Text If Firma_ID = 24 Then Try Dim oAccount As Outlook.Account Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) If outl.Session.Accounts.Count > 0 Then For Each oAccount In outl.Session.Accounts If oAccount.SmtpAddress = accountToSent Then Mail.SendUsingAccount = oAccount Exit For End If Next End If Catch ex As Exception MsgBox("Fehler beim Ermitteln des Mail-Accounts." & ex.Message & ex.StackTrace) End Try End If 'Mail-Adressen eintragen '----------------------------------------------------------------- For Each r In dgvEmail.Rows If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";" Next For Each r In dgvEmailCC.Rows If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";" Next For Each r In dgvEmailBCC.Rows If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";" Next RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr) txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr) Dim TextHTML = "
" & RichTextBox.Text.Replace(ControlChars.Lf, "
") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "
" Mail.HTMLBody = TextHTML Mail.Subject = txtSubject.Text ATTACHMENTS.Clear() '----------------------------------------------------------------- 'Rechnungen anfügen '----------------------------------------------------------------- For Each l In listPDFs ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) Next For Each l In SonstAnlagen ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) Next addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked) '----------------------------------------------------------------- 'Steuerbescheid/VDB anfügen '----------------------------------------------------------------- getAnhaenge() 'For Each l In listPDFs ' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ' ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) 'Next 'Rechnungsanhänge anfügen '----------------------------------------------------------------- If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then For Each r In SR_DT.Rows Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID")) If RG_ANH IsNot Nothing Then For Each ANH In RG_ANH ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) Next End If Next End If '----------------------------------------------------------------- addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked) If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then Try Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de" Catch ex2 As Exception MsgBox(ex2.Message) End Try End If Mail.Display() '------------------------------------------------------------------------------------------ ' STB /FA SR: ABFRAGE FISKAL-VZ If isFiskal Then send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr) End If '------------------------------------------------------------------------------------------ End If Catch ex As Exception MsgBox("Fehler beim Öffnen des Mail-Programmes." & ex.Message & ex.StackTrace) 'Process.Start(a) End Try Else 'ER If RECHNUNG.FakturierungsGruppe <> "" Then additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus") End If If RECHNUNG.Status <> 0 OrElse vbYes = MsgBox("Möchten Sie das PDF als Mail-Anhang erstellen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnung gilt somit als gedruckt und kann nicht mehr bearbeitet werden.", vbYesNoCancel) Then abfNr = " Pos-Nr.: " & RECHNUNG.FilialenNr & "-" & RECHNUNG.AbfertigungsNr & "-" & RECHNUNG.SpeditionsbuchUnterNr Try Dim outl As New Outlook.Application Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Mail = outl.CreateItem(0) If Firma_ID = 24 Then Try Dim oAccount As Outlook.Account Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) If outl.Session.Accounts.Count > 0 Then For Each oAccount In outl.Session.Accounts If oAccount.SmtpAddress = accountToSent Then Mail.SendUsingAccount = oAccount Exit For End If Next End If Catch ex As Exception MsgBox("Fehler beim Ermitteln des Mail-Accounts." & ex.Message & ex.StackTrace) End Try End If 'Mail-Adressen eintragen '----------------------------------------------------------------- For Each r In dgvEmail.Rows If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";" Next For Each r In dgvEmailCC.Rows If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";" Next For Each r In dgvEmailBCC.Rows If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";" Next 'Rechnung erstellen: '----------------------------------------------------------------- Dim pathRG = "" If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then Exit Sub 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 If cbxRgKopieDrucken.Checked Then 'KOPIE DRUCK cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False) End If If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf"))) RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", RechnungsNr) txtSubject.Text = txtSubject.Text.Replace("%RgNr%", RechnungsNr) & abfNr Dim TextHTML = "
" & RichTextBox.Text.Replace(ControlChars.Lf, "
") & cFakturierung.getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "
" Mail.HTMLBody = TextHTML Mail.Subject = txtSubject.Text ' Mail.HTMLBody = Mail.HTMLBody.Replace("%RgNr%", RECHNUNG.RechnungsNr) ' Mail.Subject = Mail.Subject.Replace("%RgNr%", RECHNUNG.RechnungsNr & abfNr) '----------------------------------------------------------------- 'Steuerbescheid/VDB anfügen '----------------------------------------------------------------- getAnhaengeSingle() '----------------------------------------------------------------- 'Rechnungsanhänge anfügen '----------------------------------------------------------------- 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 '----------------------------------------------------------------- 'Anhang an Mail anfügen '----------------------------------------------------------------- addAttachments(Mail, RECHNUNG.RechnungsNr, cbxMergePDF.Checked) '----------------------------------------------------------------- If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then Try Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de" Catch ex2 As Exception MsgBox(ex2.Message) End Try End If Mail.Display() '------------------------------------------------------------------------------------------ ' STB /FA send_StbFAMail(RECHNUNG.RechnungsKundenNr, " Rg-Nr.: " & RechnungsNr & abfNr, RECHNUNG.RechnungsNr) '------------------------------------------------------------------------------------------ Catch ex As Exception MsgBox("Fehler beim Öffnen des Mail-Programmes." & ex.Message & ex.StackTrace) 'Process.Start(a) End Try End If End If ATTACHMENTS.Clear() End Sub Function addRgData_ZF_Passau(RechnungsLandKz) As String addRgData_ZF_Passau = vbNewLine & vbNewLine Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Select Case RechnungsLandKz Case "TR" addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case "A", "AT", "D", "DE", "CH" addRgData_ZF_Passau &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_ZF_Passau &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case Else addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If End Select ' addRgData_ZF_Passau = RichTextBox.Text.Replace("Mit freundlichen Grüßen", "") End Function Function addRgData_Parsan(RechnungsLandKz) As String addRgData_Parsan = vbNewLine & vbNewLine Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Select Case RechnungsLandKz Case "TR" ' addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case "A", "AT", "D", "DE", "CH" ' addRgData_Parsan &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_Parsan &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If Case Else 'addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle) Then addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine End If End Select End Function Sub send_StbFAMail(KundenNr, RgAbfNr, RechnungsNr) Try Dim additionalLine = "" If RECHNUNG.FakturierungsGruppe IsNot Nothing AndAlso RECHNUNG.FakturierungsGruppe <> "" Then additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus") End If Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KundenNr) Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(KundenNr) If cbxSteuerberaterEmail.Checked Or cbxFAEmail.Checked Then Dim outl As New Outlook.Application Dim Mail_StbFA As Microsoft.Office.Interop.Outlook.MailItem Mail_StbFA = outl.CreateItem(0) Mail_StbFA.Subject = txtSubject.Text If Firma_ID = 24 Then Mail_StbFA.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR",, True) Dim TextHTML = "
" Select Case cboFaStb_Sprache._value Case "DE" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "
EORI-Nr.:" & If(KD.EORITIN, "") & "
UID-Nr.:" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "
Firma:" & If(AD.Name_1, "") & If(AD.Name_2, "") & "
" & If(AD.Straße, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "
" TextHTML &= "
" TextHTML &= "
" TextHTML &= "Sehr geehrte Damen & Herren!" & "
" TextHTML &= "
" TextHTML &= "Wir teilen Ihnen mit, dass wir für oben genanntes Unternehmen eine Zollabfertigung mit anschließender" & "
" TextHTML &= "innergemeinschaftlicher Lieferung (Verfahren 4200) lt. beiliegenden Unterlagen durchgeführt haben." & "
" TextHTML &= "
" TextHTML &= "Dies muss dem Finanzamt als ""innergemeinschaftlicher Erwerb"" gemeldet werden." & "
" TextHTML &= "

" TextHTML &= "Freundliche Grüße" TextHTML &= "

" Case "EN" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "" TextHTML &= "
EORI-Nr.:" & If(KD.EORITIN, "") & "
VAT-ID.:" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "
Company:" & If(AD.Name_1, "") & If(AD.Name_2, "") & "
" & If(AD.Straße, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") & "
" TextHTML &= "
" TextHTML &= "
" TextHTML &= "Dear Sir or Madam!" & "
" TextHTML &= "
" 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).
" TextHTML &= "The documents are attached." & "
" TextHTML &= "
" TextHTML &= "This intra-community acquisition has to be reported to the tax office." & "
" TextHTML &= "

" TextHTML &= "Yours faithfully," TextHTML &= "

" End Select TextHTML &= cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine) TextHTML &= "
" Mail_StbFA.HTMLBody = TextHTML Mail_StbFA.Subject = "Meldung innergemeinschaftlicher Erwerb - " & AD.Ordnungsbegriff & RgAbfNr If txtSteuerberaterEmail.Text <> "" Then Mail_StbFA.To = txtSteuerberaterEmail.Text Mail_StbFA.CC = txtFAEmail.Text Else Mail_StbFA.To = txtFAEmail.Text End If '----------------------------------------------------------------- 'Steuerbescheid anfügen '----------------------------------------------------------------- getAnhaenge(False) 'Anhang an Mail anfügen '----------------------------------------------------------------- addAttachments(Mail_StbFA, RechnungsNr, cbxMergePDF.Checked) '----------------------------------------------------------------- Mail_StbFA.Display() End If Catch ex As Exception MsgBox("Fehler beim Öffnen des Mail-Programmes (STB FA). " & ex.Message & ex.StackTrace) End Try End Sub Sub getAnhaenge(Optional vbd As Boolean = True) ATTACHMENTS.Clear() For Each r As DataGridViewRow In MyDatagridview1.Rows Dim bez = r.Cells(0).Value.replace("/", "-") If cbxStbMitt.Checked Then 'AT If cbxStbMitt.Checked And IsNumeric(r.Cells("clmnMitt_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnMitt_docID").Value), bez & "_Abgabenbescheid.pdf")) If cbxStb.Checked And IsNumeric(r.Cells("clmnStb_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnStb_docID").Value), bez & "_Verzollungsnachweis.pdf")) Else 'DE If cbxStb.Checked And IsNumeric(r.Cells("clmnStb_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnStb_docID").Value), bez & "_Steuerbescheid.pdf")) End If If vbd Then If cbxVBD.Checked And IsNumeric(r.Cells("clmnVBD_docID").Value) Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("clmnVBD_docID").Value), bez & "_Versandschein.pdf")) End If Next End Sub Sub getAnhaengeSingle() If cbxStbMitt.Checked Then 'AT If cbxStbMitt.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Abgabenbescheid.pdf")) If cbxStb.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf")) Else 'DE If cbxStb.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf")) End If If cbxVBD.Checked Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Versandschein.pdf")) End Sub Sub addAttachments(ByRef Mail As Microsoft.Office.Interop.Outlook.MailItem, RgNr As Integer, MergePDF As Boolean) If ATTACHMENTS.Count = 0 Then Exit Sub Try If MergePDF And ATTACHMENTS.Count > 1 Then Dim extension = ".pdf" Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Rechnungs_Anhänge_" & RgNr & extension, extension,, False, "Zusammenfassung") Dim myList As New List(Of String) For Each a In ATTACHMENTS : myList.Add(a.Pfad) : Next If FormularManagerNEU.MergePdfFiles(myList, zielPfadZusammenfassung) Then ATTACHMENTS.Clear() : ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, "")) ' überscheiben End If End If 'Anhang an Mail anfügen '----------------------------------------------------------------- For Each a In ATTACHMENTS Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) Next '----------------------------------------------------------------- Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click setMailText("DE") ' cboFaStb_Sprache.changeItem("DE") End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click setMailText("TR") ' cboFaStb_Sprache.changeItem("EN") End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click setMailText("EN") ' cboFaStb_Sprache.changeItem("EN") End Sub Private Sub lkl_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lkl.LinkClicked dgvEmail.Rows.Add(lkl.Tag) End Sub Private Sub dgvEmail_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEmail.Leave, dgvEmailCC.Leave, dgvEmailBCC.Leave sender.ClearSelection() End Sub Dim isFiskal = False Sub initList() MyDatagridview1.Rows.Clear() If SR_DT Is Nothing Then Exit Sub If SR_DT.Rows.Count = 0 Then Exit Sub For Each r In SR_DT.Rows Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(r("FilialenNr"), r("AbfertigungsNr"), r("SpeditionsbuchUnterNr")) initRowSpedbuch(SPEDBUCH) If 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 isFiskal = True End If Next End Sub Sub initRowSpedbuch(SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) MyDatagridview1.Rows.Add(SPEDBUCH.FilialenNr & "-" & SPEDBUCH.AbfertigungsNr & "-" & SPEDBUCH.UnterNr, If(SPEDBUCH.DokumentId_Steuerbeleg, ""), If(SPEDBUCH.DokumentId_Mitteilung, ""), If(SPEDBUCH.DokumentId_VBD, ""), (SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_Steuerbeleg)), (SPEDBUCH.DokumentId_Mitteilung IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_Mitteilung)), (SPEDBUCH.DokumentId_VBD IsNot Nothing AndAlso IsNumeric(SPEDBUCH.DokumentId_VBD))) End Sub Private Sub lblKunde_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblKunde.LinkClicked FUNC.showKd(KdNr) End Sub Private Sub MyDatagridview1_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles MyDatagridview1.CellContentDoubleClick Dim docID = "" Select Case MyDatagridview1.Columns(e.ColumnIndex).Name Case "clmnStb" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnStb_docID").Value Case "mnMitt" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnMitt_docID").Value Case "clmnVBD" : If MyDatagridview1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value Then docID = MyDatagridview1.Rows(e.RowIndex).Cells("clmnVBD_docID").Value End Select If docID <> "" Then Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(docID) DS.OPEN_SINGLE() End If End Sub Private Sub cbxSteuerberaterEmail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxSteuerberaterEmail.CheckedChanged txtSteuerberaterEmail.Enabled = sender.checked End Sub Private Sub cbxFAEmail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxFAEmail.CheckedChanged txtFAEmail.Enabled = sender.checked End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click If KdNr <= 0 Then Exit Sub Dim FISKAL As New cFiskal_Daten(KdNr) FISKAL.fisk_schreibenSB_Mail = txtSteuerberaterEmail.Text FISKAL.fisk_schreibenFA_Mail = txtFAEmail.Text FISKAL.SAVE() End Sub Private Sub dgvAnhaenge_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick Try If dgvAnhaenge.SelectedRows.Count > 0 Then ' If e.RowIndex > 0 Then dgvAnhaenge.Rows(e.RowIndex).Selected = True Process.Start(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhaenge.SelectedRows(0).Cells("clmnDsId").Value)) End If Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try End Sub Sub initDGVAnhaenge() With dgvAnhaenge .Rows.Clear() .Enabled = True If SR Then .Enabled = False Exit Sub End If RECHNUNG.LOAD_ANHAENGE() If RECHNUNG IsNot Nothing AndAlso RECHNUNG.ANHAENGE IsNot Nothing Then '----------------------------- 'ANHÄNGE LADEN: '----------------------------- For Each RG_AH In RECHNUNG.ANHAENGE .Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId) Next '----------------------------- End If End With dgvAnhaenge.ClearSelection() End Sub End Class Public Class cFakt_MailATTach Property Pfad Property MailName Sub New(pfad, MailName) Me.Pfad = pfad Me.MailName = MailName End Sub End Class Public Class cFakt_SR_List Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch Sub New(RECHNUNG, SPEDBUCH) Me.RECHNUNG = RECHNUNG Me.SPEDBUCH = SPEDBUCH End Sub End Class