From dc1255cc74cf4b86a7cbba5a2616b31dea744e42 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 22 Sep 2025 16:13:40 +0200 Subject: [PATCH] Fremdrechnungen Mailversand --- SDL/mdm/usrcntlFremdrechnungen.Designer.vb | 19 +- SDL/mdm/usrcntlFremdrechnungen.vb | 324 ++++++++++++--------- 2 files changed, 206 insertions(+), 137 deletions(-) diff --git a/SDL/mdm/usrcntlFremdrechnungen.Designer.vb b/SDL/mdm/usrcntlFremdrechnungen.Designer.vb index 6a4f5fad..ce8093cc 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.Designer.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.Designer.vb @@ -61,6 +61,7 @@ Partial Class usrcntlFremdrechnungen Me.cntxtExcel = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem() + Me.cbxMailoeffnen = New System.Windows.Forms.CheckBox() Me.FlowLayoutPanel.SuspendLayout() Me.ContextMenuStrip1.SuspendLayout() Me.Panel1.SuspendLayout() @@ -274,6 +275,7 @@ Partial Class usrcntlFremdrechnungen Me.Panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.Panel1.BackColor = System.Drawing.SystemColors.ControlLightLight Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel1.Controls.Add(Me.cbxMailoeffnen) Me.Panel1.Controls.Add(Me.cbxPDFhinterlegt) Me.Panel1.Controls.Add(Me.cbx) Me.Panel1.Controls.Add(Me.Label4) @@ -366,7 +368,7 @@ Partial Class usrcntlFremdrechnungen Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button1.Location = New System.Drawing.Point(200, 218) + Me.Button1.Location = New System.Drawing.Point(5, 268) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(50, 44) Me.Button1.TabIndex = 45 @@ -435,7 +437,7 @@ Partial Class usrcntlFremdrechnungen Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button8.Image = Global.SDL.My.Resources.Resources.Excel_logo Me.Button8.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button8.Location = New System.Drawing.Point(132, 168) + Me.Button8.Location = New System.Drawing.Point(132, 218) Me.Button8.Name = "Button8" Me.Button8.Size = New System.Drawing.Size(118, 44) Me.Button8.TabIndex = 31 @@ -539,6 +541,18 @@ Partial Class usrcntlFremdrechnungen Me.ToolStripMenuItem6.Size = New System.Drawing.Size(210, 22) Me.ToolStripMenuItem6.Text = "Formatiert (dauert länger)" ' + 'cbxMailoeffnen + ' + Me.cbxMailoeffnen.AutoSize = True + Me.cbxMailoeffnen.Checked = True + Me.cbxMailoeffnen.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxMailoeffnen.Location = New System.Drawing.Point(146, 183) + Me.cbxMailoeffnen.Name = "cbxMailoeffnen" + Me.cbxMailoeffnen.Size = New System.Drawing.Size(91, 17) + Me.cbxMailoeffnen.TabIndex = 54 + Me.cbxMailoeffnen.Text = "Mail anzeigen" + Me.cbxMailoeffnen.UseVisualStyleBackColor = True + ' 'usrcntlFremdrechnungen ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -600,4 +614,5 @@ Partial Class usrcntlFremdrechnungen Friend WithEvents dat_Sum_Von As DateTimePicker Friend WithEvents dgvDetails As VERAG_PROG_ALLGEMEIN.MyDatagridview Friend WithEvents cbxPDFhinterlegt As CheckBox + Friend WithEvents cbxMailoeffnen As CheckBox End Class diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index 9bbc93d0..2dabce6d 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -226,7 +226,7 @@ Public Class usrcntlFremdrechnungen 'IDS Case "IDS" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & - " invoice_id, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer, CustomerCode as Kundennummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew WHERE [CustomerCode] in (SELECT distinct([CustomerCode]) FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 AND isnull([tbl_IDS_Kunden].KdNrAlt, 0) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & ") and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " order by [YearMonthDay] desc, [Invoicenumber]" + " invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer, tblIDSInvoicesNew.CustomerCode as Kundennummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT distinct([CustomerCode]) FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 AND isnull([tbl_IDS_Kunden].KdNrAlt, 0) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & ") and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " order by [YearMonthDay] desc, [Invoicenumber]" 'UTA Case "UTA" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & @@ -252,34 +252,34 @@ Public Class usrcntlFremdrechnungen Case "ALLE" : Dim anzahl As Integer = anzahlTop / 6 : SQL_STR = " select * from (SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " --IDS - 'IDS' as Lieferant,invoice_id, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew WHERE [CustomerCode] in (SELECT [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & " ) and [YearMonthDay] " & setSQLWhere("IDS", "") & " -- order by [YearMonthDay], [Invoicenumber] + 'IDS' as Lieferant,invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,tblIDSInvoicesNew.CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & " ) and [YearMonthDay] " & setSQLWhere("IDS", "") & " -- order by [YearMonthDay], [Invoicenumber] UNION ALL --MSE - SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'MSE' as Lieferant,-1 as invoice_id, [invoice_date] as Rechnungsdatum, cast([invoice_id] as nvarchar) as Rechnungsnummer,[customer_number] as Kundennummer, [total_amount_euro] as Bruttobetrag ,(total_amount_euro - [total_vat_amount_euro]) as Nettobetrag ,[total_vat_amount_euro] as MWST,[country] as Land,'RE' as Art,daId, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere("MSE", "country") & " --order by invoice_date, invoice_id + SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'MSE' as Lieferant,-1 as invoice_id,partner_customer_number as AdressenNr, [invoice_date] as Rechnungsdatum, cast([invoice_id] as nvarchar) as Rechnungsnummer,[customer_number] as Kundennummer, [total_amount_euro] as Bruttobetrag ,(total_amount_euro - [total_vat_amount_euro]) as Nettobetrag ,[total_vat_amount_euro] as MWST,[country] as Land,'RE' as Art,daId, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere("MSE", "country") & " --order by invoice_date, invoice_id UNION ALL --UTA - SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'UTA' as Lieferant,-1 as invoice_id, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Rechnungsdatum] " & setSQLWhere("UTA", "Lieferland_ISO2") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2] UNION ALL SELECT 'UTA',-1, [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere("UTA_", "") & " --order by Rechnungsnummer desc + SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'UTA' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Rechnungsdatum] " & setSQLWhere("UTA", "Lieferland_ISO2") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,AdressenNr,[daId],[Lieferland_ISO2] UNION ALL SELECT 'UTA',-1,AdressenNr, [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere("UTA_", "") & " --order by Rechnungsnummer desc UNION ALL --VERAG - SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'VERAG' as Lieferant,-1 as invoice_id, tblTrdinInvoice.Rechnungsdatum, cast(tblTrdinInvoice.Rechnungsnummer as nvarchar) as Rechnungsnummer ,tblTrdinInvoice.KundenNrZentrale as Kundennummer, tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal as Bruttobetrag ,tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal - tblTrdinInvoice.SteuerbetragLokal as Nettobetrag ,tblTrdinInvoice.SteuerbetragLokal as MWST, 'AT' as Land, 'RE' as Art, 1 as daId, cast(1 as bit) PDFvorhanden FROM tblTrdinInvoice WHERE 1 = 1 " & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere("VERAG", "'AT'") & " AND tblTrdinInvoice.FilialenNr = 4814 --ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer + SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'VERAG' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, tblTrdinInvoice.Rechnungsdatum, cast(tblTrdinInvoice.Rechnungsnummer as nvarchar) as Rechnungsnummer ,tblTrdinInvoice.KundenNrZentrale as Kundennummer, tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal as Bruttobetrag ,tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal - tblTrdinInvoice.SteuerbetragLokal as Nettobetrag ,tblTrdinInvoice.SteuerbetragLokal as MWST, 'AT' as Land, 'RE' as Art, 1 as daId, cast(1 as bit) PDFvorhanden FROM tblTrdinInvoice inner join Adressen on KundenNrZentrale = AdressenNr WHERE 1 = 1 " & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere("VERAG", "'AT'") & " AND tblTrdinInvoice.FilialenNr = 4814 --ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer UNION ALL --PLOSE - SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'PLOSE' as Lieferant,-1 as invoice_id, [plInv_SupplierRechnungsDatum] as Rechnungsdatum, cast([plInv_SupplierRechnungsNr] as nvarchar) as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST, [plInv_SupplierCountry] as Land, 'RE' as Art,[plInv_daId] as daId, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere("PLOSE", "plInv_SupplierCountry") & "-- Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr] + SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'PLOSE' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [plInv_SupplierRechnungsDatum] as Rechnungsdatum, cast([plInv_SupplierRechnungsNr] as nvarchar) as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST, [plInv_SupplierCountry] as Land, 'RE' as Art,[plInv_daId] as daId, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere("PLOSE", "plInv_SupplierCountry") & "-- Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr] UNION ALL --RMC - SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'RMC' as Lieferant,-1 as invoice_id, [rmc_reDatum] as Rechnungsdatum,cast([rmc_reNr] as nvarchar) as Rechnungsnummer,rmc_kdNr as Kundennummer ,[rmc_betragBrutto] as Bruttobetrag,[rmc_betragNetto] as Nettobetrag,[rmc_betragMWST] as MWST, rmc_landKZ as Land, 'RE' as Art, [rmc_daId] as daId, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere("RMC", "rmc_landKZ") & "-- order by rmc_reDatum, rmc_reNr + SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'RMC' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [rmc_reDatum] as Rechnungsdatum,cast([rmc_reNr] as nvarchar) as Rechnungsnummer,rmc_kdNr as Kundennummer ,[rmc_betragBrutto] as Bruttobetrag,[rmc_betragNetto] as Nettobetrag,[rmc_betragMWST] as MWST, rmc_landKZ as Land, 'RE' as Art, [rmc_daId] as daId, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere("RMC", "rmc_landKZ") & "-- order by rmc_reDatum, rmc_reNr ) as temp where 1=1 and temp.Rechnungsdatum" & setSQLWhere(SDLNrTmp, "temp.Land") & " order by Rechnungsdatum desc" @@ -647,163 +647,217 @@ Public Class usrcntlFremdrechnungen Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click - If dgvLFRechnung.SelectedRows.Count > 0 Then + Dim groups As New Dictionary(Of Object, List(Of DataGridViewRow)) - Dim TextHTMLtable = "" + For Each r As DataGridViewRow In dgvLFRechnung.SelectedRows + Dim key = r.Cells("AdressenNr").Value + If Not groups.ContainsKey(key) Then + groups(key) = New List(Of DataGridViewRow) + End If + groups(key).Add(r) + Next - TextHTMLtable &= "" - TextHTMLtable &= "" - - Dim pdflist As New List(Of String) - For Each row In dgvLFRechnung.SelectedRows + If aktLieferant = "ALLE" And cbxMax1000Eintrage.Checked Then + MsgBox("Entferne die MAX 1000 Einträge Beschänkung, da ansonsten können nicht alle Daten ermittelt werden!") + Exit Sub + End If - Dim Lieferant = "" + If groups.Count > 0 Then - 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 + 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 + Exit Sub + End If - Else + For Each kvp In groups + + Dim TextHTMLtable = "" + + TextHTMLtable &= "
SupplierCountryDate
" + 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 &= "" - If Lieferant = "IDS" Then + 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 - 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 + + + End If + + Next + + + TextHTMLtable &= "
SupplierCountryDate
" & Lieferant & "" & r.Item("Land") & "" & r.Item("Rechnungsdatum") & "
" & Lieferant & "" & row.Cells("Land").Value & "" & row.Cells("Rechnungsdatum").Value & "
" & Lieferant & "" & r.Item("Land") & "" & r.Item("Rechnungsdatum") & "
" + + 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 + 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 + + Mail.Display() + + Else + + 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) - Else - TextHTMLtable &= "" - TextHTMLtable &= "" & Lieferant & "" - TextHTMLtable &= "" & row.Cells("Land").Value & "" - TextHTMLtable &= "" & row.Cells("Rechnungsdatum").Value & "" - TextHTMLtable &= "" + API.api_EMail = Mail.To + API.api_EMailCC = Mail.CC + API.api_EMailBCC = Mail.BCC + 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) Then + API.UPDTAE_OK() + + Else + API.UPDTAE_ERR() + + End If - 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 &= "" - - Dim outl As New Outlook.Application - Dim Mail As Microsoft.Office.Interop.Outlook.MailItem - Mail = outl.CreateItem(0) - - - - Select Case KUNDE.LandKz - Case "TR" - Mail.Subject = KUNDE.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 = KUNDE.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 = KUNDE.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 = KUNDE.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 = KUNDE.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 - 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 &= KUNDE.EMail - Mail.CC &= KUNDE.EMail2 - - - Mail.Display() - - End If - End Sub