From 7e9f2ced11fa58cecbb20a4e5bedf8b497a05839 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 22 Oct 2025 16:20:51 +0200 Subject: [PATCH] fremdrechnungen, etc. --- SDL/mdm/usrcntlFremdrechnungen.vb | 585 ++++++++++++++++++------------ 1 file changed, 359 insertions(+), 226 deletions(-) diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index b1a808de..5ada310d 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -79,10 +79,12 @@ Public Class usrcntlFremdrechnungen KUNDE = kundenSQL.getKundeByKdNr(kdNr) dtkeineMWST = (New SQL).loadDgvBySql("select Land, Erstattungsland, Lieferant from tblKeineMWSTErstattung", "FMZOLL") - If KUNDE IsNot Nothing Then + If KUNDE.KundenNr > 0 Then dtKundeMWST = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE.KundenNr, "FMZOLL") + cbx.Visible = True End If + SET_SDL("") dgvInitWait = False @@ -211,7 +213,6 @@ Public Class usrcntlFremdrechnungen aktLieferant = SDLNrTmp - Dim anzahlTop = 1000 Dim sqlfehlendePDF As String = "" Dim sqlfehlendePDF_PLOSE As String = "" @@ -367,6 +368,7 @@ Public Class usrcntlFremdrechnungen Private Function setSQLWhere(aktLieferant As String, land As String) As String + 'das hier geht (aktuell) nur PRO KUNDE -> ALSO nicht in der Gesamtübersicht!!!!!!!! Dim SQLWhere = " between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "'" @@ -451,6 +453,8 @@ Public Class usrcntlFremdrechnungen Private Function setSQLDetailWhere(aktLieferant As String, land As String, Optional alle As Boolean = False) As String + 'das hier ist nur PRO KUNDE möglich!!! + Dim SQLWhere = "" If cbx.Checked AndAlso KUNDE IsNot Nothing Then @@ -704,9 +708,6 @@ Public Class usrcntlFremdrechnungen - - - Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click If SplitContainer1.Panel2Collapsed Then SplitContainer1.Panel2Collapsed = False @@ -788,7 +789,7 @@ Public Class usrcntlFremdrechnungen If groups.Count > 0 Then - If Not vbYes = MsgBox("Möchten Sie die Rechnungen von " & groups.Count & " Kunden per Mail verschicken? " & IIf(Not cbxMailoeffnen.Checked, vbNewLine & "Die Mails werden sofort verschickt!", ""), vbYesNoCancel) Then + If Not vbYes = MsgBox("Möchten Sie die Rechnungen von " & groups.Count & " Kunden per Mail verschicken? " & IIf(Not cbxMailoeffnen.Checked, vbNewLine & "Die Mails werden sofort ohne Dialogfeld verschickt!", ""), vbYesNoCancel) Then Exit Sub End If @@ -797,227 +798,369 @@ Public Class usrcntlFremdrechnungen Dim TextHTMLtable = "" - TextHTMLtable &= "" - TextHTMLtable &= "" - - Dim pdflist As New List(Of String) - - For Each row In kvp.Value - - - Dim Lieferant = "" - - If dgvLFRechnung.Columns.Contains("Lieferant") Then - Lieferant = row.Cells("Lieferant").Value - Else - Lieferant = aktLieferant - End If - - If Lieferant = "VERAG" Then - 'VERAG IGNORIEREN - 'Dim ReDat = row.Cells("Rechnungsdatum").Value - 'Dim ReNr = row.Cells("Rechnungsnummer").Value - - 'If ReDat IsNot Nothing AndAlso ReNr > 0 Then - ' Me.Cursor = Cursors.WaitCursor - ' Dim da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") - ' cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3) - 'End If - - Else - - If Lieferant = "IDS" Then - - Dim dt As New DataTable - dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True) - - For Each r As DataRow In dt.Rows - - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - - Dim daId As Integer = IIf(IsDBNull(r.Item("daId")), -1, r.Item("daId")) - If daId > 0 Then - Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) - pdflist.Add(DS.GET_TOP1_PATH()) - End If - - Next - - - - Else - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - TextHTMLtable &= "" - - Dim daId As Integer = IIf(IsDBNull(row.Cells("daId").Value), -1, row.Cells("daId").Value) - If daId > 0 Then - Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) - pdflist.Add(DS.GET_TOP1_PATH()) - End If - - End If - - - - End If - - Next - - - TextHTMLtable &= "
SupplierCountryDate
" & Lieferant & "" & r.Item("Land") & "" & r.Item("Rechnungsdatum") & "
" & Lieferant & "" & row.Cells("Land").Value & "" & row.Cells("Rechnungsdatum").Value & "
" - - Dim outl As New Outlook.Application - Dim Mail As Microsoft.Office.Interop.Outlook.MailItem - Mail = outl.CreateItem(0) - - Dim kundeMail As New cKunden() - kundeMail = kundenSQL.getKundeByKdNr(kvp.Key) - - Select Case kundeMail.LandKz - Case "TR" - Mail.Subject = kundeMail.Kurzname & " - ORIJINAL FATURA " - - - Mail.HTMLBody = "Bayanlar ve Baylar!,

Ekte izlere orijinal faturalarinizi gönderiyoruz.

" - - Mail.HTMLBody &= TextHTMLtable - - Mail.HTMLBody &= "


Iyi calismalar dileriz.

" - - Case "A", "AT", "D", "DE", "CH" - - Mail.Subject = kundeMail.Kurzname & " - ORIGINAL RECHNUNG " - - Mail.HTMLBody = "Sehr geehrte Damen und Herren,

im Anhang senden wir Ihnen die Originalrechnungen.

" - - Mail.HTMLBody &= TextHTMLtable - - Mail.HTMLBody &= "


Mit freundlichen Grüßen

" - Case "RO" - - Mail.Subject = kundeMail.Kurzname & " - FACTURI RETURNATE " - - Mail.HTMLBody = "Stimati domni, stimate doamne,

Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.

Va multumim pentru colaborarea.

" - - Mail.HTMLBody &= TextHTMLtable - - Mail.HTMLBody &= "


Cu stima

" - - Case "HR", "BIH", "SLO", "SRB", "BIH" - Mail.Subject = kundeMail.Kurzname & " - ORGINALNI RACUNI " - - - Mail.HTMLBody = "Postovanje,

prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.

Za pitanja stojimo na raspolaganju.

" - - Mail.HTMLBody &= TextHTMLtable - - Mail.HTMLBody &= "


Srdacan pozdrav

" - - Case Else - Mail.Subject = kundeMail.Kurzname & " - Invoice No." - - Mail.HTMLBody = TextHTMLtable - - Mail.HTMLBody = "Dear Sir or Madam,

attached we send you the original invoice mentioned above.

" - - Mail.HTMLBody &= TextHTMLtable - - Mail.HTMLBody &= "


Best regards

" - - - End Select - - Mail.HTMLBody &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
" - Mail.HTMLBody &= "
" - Mail.HTMLBody &= cFakturierung.getSignature("DE", 19, True, True) - - If pdflist.Count > 0 Then - For Each pdf In pdflist - Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , ) - Next - End If - - Mail.To &= kundeMail.EMail - Mail.CC &= kundeMail.EMail2 - - If cbxMailoeffnen.Checked Then - Try - Mail.Display() - Catch ex As Exception - MsgBox(ex.Message) - End Try - - - Else - Try - - If Mail IsNot Nothing Then - - - Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "MAIL-ORIG-RG",,, kvp.Key) - - API.api_EMail = Mail.To - API.api_EMailCC = Mail.CC - API.api_EMailBCC = IIf(Mail.BCC <> "", Mail.BCC & ";mmdabrechnung@verag.ag", "mmdabrechnung@verag.ag") - API.api_EMailSubject = Mail.Subject - API.api_EMailText = Mail.HTMLBody - API.api_EMailAttCnt = Mail.Attachments.Count - - If Mail IsNot Nothing Then - - If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(API.api_EMail, API.api_EMailSubject, API.api_EMailText, "mmdabrechnung@verag.ag", False, False, API.api_EMailCC, API.api_EMailBCC, pdflist,, "mmdabrechnung@verag.ag") Then - API.UPDTAE_OK() - - Else - API.UPDTAE_ERR() - - End If - - End If - - End If - - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - Me.Cursor = Cursors.Default - End Try - - End If + Dim pdflist = createEMailTable(TextHTMLtable, kvp, cbx.Checked) + createEmail(kvp.Key, TextHTMLtable, pdflist) Next + End If End Sub - 'Sub SelectRow(kdnr, kfz, SDLNr, history) - ' dgvInitWait = True - ' dgvSDL.ClearSelection() - ' For Each r As DataGridViewRow In dgvSDL.Rows - ' If r.Cells("KundenNr").Value = kdnr AndAlso - ' r.Cells("SDLNr").Value = SDLNr AndAlso - ' r.Cells("KfzKennzeichen").Value = kfz AndAlso - ' r.Cells("History").Value = history Then - ' r.Selected = True - ' dgvSDL.FirstDisplayedScrollingRowIndex = r.Index - ' Exit For - ' End If - ' Next - ' dgvInitWait = False - ' 'ReloadLeistung() - ' dgvSDL.PerformLayout() - 'End Sub + Private Function createEMailTable(ByRef TextHTMLtable As String, kvp As KeyValuePair(Of Object, List(Of DataGridViewRow)), onlyRelevantInvioces As Boolean) As List(Of String) + + '------------------------------------------------------------ + 'toDo-Logik für die Ausnahmen - START - wie in Function "setSQLWhere(aktLieferant As String, land As String) As String" + '------------------------------------------------------------ + + '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…) + + Dim landKZiso2 = "" + Dim KUNDE_TEMP As cKunden + KUNDE_TEMP = kundenSQL.getKundeByKdNr(kvp.Key) + + If KUNDE_TEMP.LandKz <> "" Then + If KUNDE_TEMP.LandKz.Length = 2 Then + landKZiso2 = KUNDE_TEMP.LandKz + ElseIf KUNDE_TEMP.LandKz.Length = 3 Then + landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE_TEMP.LandKz) + ElseIf KUNDE_TEMP.LandKz.Length = 1 Then + landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE_TEMP.LandKz) + End If + + + End If + + Dim dtKundeMWSTTemp As DataTable = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE_TEMP.KundenNr, "FMZOLL") + + + + '2. wenn die Rechnung die Summe NULL aufweist + + '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS) + + '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt + + + 'If cbx.Checked AndAlso aktLieferant <> "IDS" AndAlso KUNDE IsNot Nothing Then + ' Dim erw As New cKundenErweitert(KUNDE.KundenNr) + ' If erw.kde_keineMWSt Then Return SQLWhere + + ' SQLWhere &= "AND (" + ' 'ORIGINAL-RECHNUNG senden wenn: + ' '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…) + + ' Dim landKZiso2 = "" + + ' If LAND <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht! + ' If KUNDE.LandKz <> "" Then + ' If KUNDE.LandKz.Length = 2 Then + ' landKZiso2 = KUNDE.LandKz + ' ElseIf KUNDE.LandKz.Length = 3 Then + ' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz) + ' ElseIf KUNDE.LandKz.Length = 1 Then + ' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz) + ' End If + + ' SQLWhere &= " " & LAND & " in ('" & landKZiso2 & "')" + ' End If + ' End If + + ' '2. wenn die Rechnung die MWST-SUMME 0 aufweist!!! + ' Select Case aktLieferant + ' Case "UTA" : SQLWhere &= " OR Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = 0 " 'UTA bei UTA auch EPN ausblenden! + ' Case "PLOSE" : SQLWhere &= " OR plInv_MWSTBetrag = 0" 'PLOSE + ' Case "VERAG" : SQLWhere &= " OR tblTrdinInvoice.SteuerbetragLokal = 0" 'VERAG + ' Case "MSE" : SQLWhere &= " OR total_vat_amount_euro = 0" 'MSE + ' Case "RMC" : SQLWhere &= " OR rmc_betragMWST = 0" 'RMC + ' Case "ALLE" : SQLWhere &= " OR temp.MWSt = 0" 'ALLE + ' Case "UTA_" : SQLWhere &= " 1 <> 1" + ' Case Else : SQLWhere &= " 1 <> 1" + + ' End Select + + ' '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt + ' If LAND <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then + ' Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "'").CopyToDataTable + ' Dim counter = 0 + ' Dim landBez As String = "" + ' For Each row As DataRow In dtkeineMWST_ohneContraint.Rows + ' landBez &= "'" & row.Item("Erstattungsland") & "'" + ' counter = counter + 1 + ' If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= "," + ' Next + ' SQLWhere &= " OR " & LAND & " in (" & landBez & ")" + ' If aktLieferant = "ALLE" Then SQLWhere &= " OR " & LAND & " in ('')" 'damit IDS ohne Land nicht ausgeschlossen wird. + ' End If + + ' '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt + ' If LAND <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then + ' Dim counter = 0 + ' Dim landBez As String = "" + ' For Each row As DataRow In dtKundeMWST.Rows + ' landBez &= "'" & row.Item("LandKz") & "'" + ' counter = counter + 1 + ' If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= "," + ' Next + ' SQLWhere &= " OR " & LAND & " in (" & landBez & ")" + ' End If + ' SQLWhere &= ")" + + + + '------------------------------------------------------------ + 'toDo-Logik für die Ausnahmen - END + '------------------------------------------------------------ + + + + TextHTMLtable &= "" + TextHTMLtable &= "" + + Dim pdflist As New List(Of String) + + For Each row In kvp.Value + + Dim erw As New cKundenErweitert(kvp.Key) + Dim Lieferant = "" + + If dgvLFRechnung.Columns.Contains("Lieferant") Then + Lieferant = row.Cells("Lieferant").Value + Else + Lieferant = aktLieferant + End If + + If onlyRelevantInvioces AndAlso Lieferant <> "IDS" AndAlso erw.kde_keineMWSt Then Exit For 'abbruchbedingung + + Dim sendÍnvoice As Boolean = IIf(onlyRelevantInvioces, False, True) + + 'ORIGINAL-RECHNUNG senden wenn: + If onlyRelevantInvioces Then + + '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde – Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…) + If row.Cells("Land").Value <> "" AndAlso landKZiso2 = row.Cells("Land").Value Then sendÍnvoice = True + + '2. wenn die Rechnung die MWST-SUMME 0 aufweist!!! + If Not sendÍnvoice AndAlso row.Cells("MWSt").Value = 0 Then sendÍnvoice = True + + '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST + If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then + Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'") + Dim dtkeineMWST_ohneContraint As New DataTable + If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable() + If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True + End If + + '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt + + If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then + Dim rows() As DataRow = dtKundeMWSTTemp.Select("LandKz = '" & row.Cells("Land").Value & "'") + Dim dtKundeMWSTTemp_ohneContraint As New DataTable + If rows.Length > 0 Then dtKundeMWSTTemp_ohneContraint = rows.CopyToDataTable() + If dtKundeMWSTTemp_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True + End If + + End If + + + If Lieferant = "VERAG" Then + + 'VERAG IGNORIEREN + 'Dim ReDat = row.Cells("Rechnungsdatum").Value + 'Dim ReNr = row.Cells("Rechnungsnummer").Value + + 'If ReDat IsNot Nothing AndAlso ReNr > 0 Then + ' Me.Cursor = Cursors.WaitCursor + ' Dim da_id = SQL.getValueTxtBySql("Select TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum As Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") + ' cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3) + 'End If + + Else + + If Lieferant = "IDS" Then + + Dim dt As New DataTable + dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True) + + For Each r As DataRow In dt.Rows + + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + + + + + Dim daId As Integer = IIf(IsDBNull(r.Item("daId")), -1, r.Item("daId")) + If daId > 0 Then + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) + pdflist.Add(DS.GET_TOP1_PATH()) + End If + + Next + + + + Else + If sendÍnvoice Then + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + TextHTMLtable &= "" + + Dim daId As Integer = IIf(IsDBNull(row.Cells("daId").Value), -1, row.Cells("daId").Value) + If daId > 0 Then + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) + pdflist.Add(DS.GET_TOP1_PATH()) + End If + + End If + End If + + + + + End If + + Next + + TextHTMLtable &= "
SupplierCountryDate
" & Lieferant & "" & r.Item("Land") & "" & r.Item("Rechnungsdatum") & "
" & Lieferant & "" & row.Cells("Land").Value & "" & row.Cells("Rechnungsdatum").Value & "
" + + Return pdflist + + End Function + + Private Sub createEmail(kdNr As Integer, ByRef TextHTMLtable As String, pdflist As List(Of String)) + + + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + + Dim kundeMail As New cKunden() + kundeMail = kundenSQL.getKundeByKdNr(kdNr) + + Select Case kundeMail.LandKz + Case "TR" + Mail.Subject = kundeMail.Kurzname & " - ORIJINAL FATURA " + + + Mail.HTMLBody = "Bayanlar ve Baylar!,

Ekte izlere orijinal faturalarinizi gönderiyoruz.

" + + Mail.HTMLBody &= TextHTMLtable + + Mail.HTMLBody &= "


Iyi calismalar dileriz.

" + + Case "A", "AT", "D", "DE", "CH" + + Mail.Subject = kundeMail.Kurzname & " - ORIGINAL RECHNUNG " + + Mail.HTMLBody = "Sehr geehrte Damen und Herren,

im Anhang senden wir Ihnen die Originalrechnungen.

" + + Mail.HTMLBody &= TextHTMLtable + + Mail.HTMLBody &= "


Mit freundlichen Grüßen

" + Case "RO" + + Mail.Subject = kundeMail.Kurzname & " - FACTURI RETURNATE " + + Mail.HTMLBody = "Stimati domni, stimate doamne,

Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.

Va multumim pentru colaborarea.

" + + Mail.HTMLBody &= TextHTMLtable + + Mail.HTMLBody &= "


Cu stima

" + + Case "HR", "BIH", "SLO", "SRB", "BIH" + Mail.Subject = kundeMail.Kurzname & " - ORGINALNI RACUNI " + + + Mail.HTMLBody = "Postovanje,

prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.

Za pitanja stojimo na raspolaganju.

" + + Mail.HTMLBody &= TextHTMLtable + + Mail.HTMLBody &= "


Srdacan pozdrav

" + + Case Else + Mail.Subject = kundeMail.Kurzname & " - Invoice No." + + Mail.HTMLBody = TextHTMLtable + + Mail.HTMLBody = "Dear Sir or Madam,

attached we send you the original invoice mentioned above.

" + + Mail.HTMLBody &= TextHTMLtable + + Mail.HTMLBody &= "


Best regards

" + + + End Select + + Mail.HTMLBody &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
" + Mail.HTMLBody &= "
" + Mail.HTMLBody &= cFakturierung.getSignature("DE", 19, True, True) + + If pdflist.Count > 0 Then + For Each pdf In pdflist + Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , ) + Next + End If + + Mail.To &= kundeMail.EMail + Mail.CC &= kundeMail.EMail2 + + If cbxMailoeffnen.Checked Then + Try + Mail.Display() + Catch ex As Exception + MsgBox(ex.Message) + End Try + + + Else + Try + + If Mail IsNot Nothing Then + + + Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "MAIL-ORIG-RG",,, kdNr) + + API.api_EMail = Mail.To + API.api_EMailCC = Mail.CC + API.api_EMailBCC = IIf(Mail.BCC <> "", Mail.BCC & ";mmdabrechnung@verag.ag", "mmdabrechnung@verag.ag") + API.api_EMailSubject = Mail.Subject + API.api_EMailText = Mail.HTMLBody + API.api_EMailAttCnt = Mail.Attachments.Count + + If Mail IsNot Nothing Then + + If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(API.api_EMail, API.api_EMailSubject, API.api_EMailText, "mmdabrechnung@verag.ag", False, False, API.api_EMailCC, API.api_EMailBCC, pdflist,, "mmdabrechnung@verag.ag") Then + API.UPDTAE_OK() + + Else + API.UPDTAE_ERR() + + End If + + End If + + End If + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Me.Cursor = Cursors.Default + End Try + + End If + + End Sub + Private Sub ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem3.Click Me.Cursor = Cursors.WaitCursor cProgramFunctions.genExcelFromDGV(dgvLFRechnung, True) @@ -1042,16 +1185,6 @@ Public Class usrcntlFremdrechnungen SET_SDL(aktLieferant) End Sub - - Private Sub dgvSDL_RELOADED() Handles dgvLFRechnung.RELOADED - ' redRows() - End Sub - - Private Sub usrCntlKartenDaten_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged - ' initDGVWidth() - End Sub - - Dim vval As Integer Private Sub dgvSDL_GotFocus(sender As Object, e As EventArgs) Handles dgvLFRechnung.GotFocus 'dgvSDL.VerticalScrollingOffset = vval