Fremdrechnungen Mailversand

This commit is contained in:
2025-09-22 16:13:40 +02:00
parent 813b23bb12
commit dc1255cc74
2 changed files with 206 additions and 137 deletions

View File

@@ -61,6 +61,7 @@ Partial Class usrcntlFremdrechnungen
Me.cntxtExcel = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.cntxtExcel = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem()
Me.cbxMailoeffnen = New System.Windows.Forms.CheckBox()
Me.FlowLayoutPanel.SuspendLayout() Me.FlowLayoutPanel.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout() Me.ContextMenuStrip1.SuspendLayout()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
@@ -274,6 +275,7 @@ Partial Class usrcntlFremdrechnungen
Me.Panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink Me.Panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink
Me.Panel1.BackColor = System.Drawing.SystemColors.ControlLightLight Me.Panel1.BackColor = System.Drawing.SystemColors.ControlLightLight
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle 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.cbxPDFhinterlegt)
Me.Panel1.Controls.Add(Me.cbx) Me.Panel1.Controls.Add(Me.cbx)
Me.Panel1.Controls.Add(Me.Label4) Me.Panel1.Controls.Add(Me.Label4)
@@ -366,7 +368,7 @@ Partial Class usrcntlFremdrechnungen
Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft 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.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(50, 44) Me.Button1.Size = New System.Drawing.Size(50, 44)
Me.Button1.TabIndex = 45 Me.Button1.TabIndex = 45
@@ -435,7 +437,7 @@ Partial Class usrcntlFremdrechnungen
Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button8.Image = Global.SDL.My.Resources.Resources.Excel_logo Me.Button8.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.Button8.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft 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.Name = "Button8"
Me.Button8.Size = New System.Drawing.Size(118, 44) Me.Button8.Size = New System.Drawing.Size(118, 44)
Me.Button8.TabIndex = 31 Me.Button8.TabIndex = 31
@@ -539,6 +541,18 @@ Partial Class usrcntlFremdrechnungen
Me.ToolStripMenuItem6.Size = New System.Drawing.Size(210, 22) Me.ToolStripMenuItem6.Size = New System.Drawing.Size(210, 22)
Me.ToolStripMenuItem6.Text = "Formatiert (dauert länger)" 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 'usrcntlFremdrechnungen
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 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 dat_Sum_Von As DateTimePicker
Friend WithEvents dgvDetails As VERAG_PROG_ALLGEMEIN.MyDatagridview Friend WithEvents dgvDetails As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents cbxPDFhinterlegt As CheckBox Friend WithEvents cbxPDFhinterlegt As CheckBox
Friend WithEvents cbxMailoeffnen As CheckBox
End Class End Class

View File

@@ -226,7 +226,7 @@ Public Class usrcntlFremdrechnungen
'IDS 'IDS
Case "IDS" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & 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 'UTA
Case "UTA" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & 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, "") & Case "ALLE" : Dim anzahl As Integer = anzahlTop / 6 : SQL_STR = " select * from (SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") &
" "
--IDS --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 UNION ALL
--MSE --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 UNION ALL
--UTA --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 UNION ALL
--VERAG --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 UNION ALL
--PLOSE --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 UNION ALL
--RMC --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" ) 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 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 &= "<table border=1>" If aktLieferant = "ALLE" And cbxMax1000Eintrage.Checked Then
TextHTMLtable &= "<tr><td>Supplier</td><td>Country</td><td>Date</td></tr>" MsgBox("Entferne die MAX 1000 Einträge Beschänkung, da ansonsten können nicht alle Daten ermittelt werden!")
Exit Sub
Dim pdflist As New List(Of String) End If
For Each row In dgvLFRechnung.SelectedRows
Dim Lieferant = "" If groups.Count > 0 Then
If dgvLFRechnung.Columns.Contains("Lieferant") 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
Lieferant = row.Cells("Lieferant").Value Exit Sub
Else End If
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 For Each kvp In groups
Dim TextHTMLtable = ""
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>Supplier</td><td>Country</td><td>Date</td></tr>"
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 &= "<tr>"
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("Land") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("Rechnungsdatum") & "</b></td>"
TextHTMLtable &= "</tr>"
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 &= "<tr>"
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
TextHTMLtable &= "<td><b>" & row.Cells("Land").Value & "</b></td>"
TextHTMLtable &= "<td><b>" & row.Cells("Rechnungsdatum").Value & "</b></td>"
TextHTMLtable &= "</tr>"
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 &= "<tr>"
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("Land") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("Rechnungsdatum") & "</b></td>"
TextHTMLtable &= "</tr>"
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
End If
Next
TextHTMLtable &= "</table>"
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!,<br><br>Ekte izlere orijinal faturalarinizi gönderiyoruz.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Iyi calismalar dileriz.<br><br>"
Case "A", "AT", "D", "DE", "CH"
Mail.Subject = kundeMail.Kurzname & " - ORIGINAL RECHNUNG "
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die Originalrechnungen.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>"
Case "RO"
Mail.Subject = kundeMail.Kurzname & " - FACTURI RETURNATE "
Mail.HTMLBody = "Stimati domni, stimate doamne,<br><br>Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.<br><br>Va multumim pentru colaborarea.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Cu stima<br><br>"
Case "HR", "BIH", "SLO", "SRB", "BIH"
Mail.Subject = kundeMail.Kurzname & " - ORGINALNI RACUNI "
Mail.HTMLBody = "Postovanje,<br><br>prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.<br><br>Za pitanja stojimo na raspolaganju.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Srdacan pozdrav<br><br>"
Case Else
Mail.Subject = kundeMail.Kurzname & " - Invoice No."
Mail.HTMLBody = TextHTMLtable
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the original invoice mentioned above.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>"
End Select
If pdflist.Count > 0 Then
For Each pdf In pdflist
Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , )
Next 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 API.api_EMail = Mail.To
TextHTMLtable &= "<tr>" API.api_EMailCC = Mail.CC
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>" API.api_EMailBCC = Mail.BCC
TextHTMLtable &= "<td><b>" & row.Cells("Land").Value & "</b></td>" API.api_EMailSubject = Mail.Subject
TextHTMLtable &= "<td><b>" & row.Cells("Rechnungsdatum").Value & "</b></td>" API.api_EMailText = Mail.HTMLBody
TextHTMLtable &= "</tr>" 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 End If
End If End If
Next
TextHTMLtable &= "</table>"
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!,<br><br>Ekte izlere orijinal faturalarinizi gönderiyoruz.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Iyi calismalar dileriz.<br><br>"
Case "A", "AT", "D", "DE", "CH"
Mail.Subject = KUNDE.Kurzname & " - ORIGINAL RECHNUNG "
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die Originalrechnungen.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>"
Case "RO"
Mail.Subject = KUNDE.Kurzname & " - FACTURI RETURNATE "
Mail.HTMLBody = "Stimati domni, stimate doamne,<br><br>Va returnam facturile originale care nu au fost utilizate spre recuperare TVA.<br><br>Va multumim pentru colaborarea.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Cu stima<br><br>"
Case "HR", "BIH", "SLO", "SRB", "BIH"
Mail.Subject = KUNDE.Kurzname & " - ORGINALNI RACUNI "
Mail.HTMLBody = "Postovanje,<br><br>prilozeno Vam dostavljamo orginalne racune za Vasu daljnu upotrebu.<br><br>Za pitanja stojimo na raspolaganju.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Srdacan pozdrav<br><br>"
Case Else
Mail.Subject = KUNDE.Kurzname & " - Invoice No."
Mail.HTMLBody = TextHTMLtable
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the original invoice mentioned above.<br><br>"
Mail.HTMLBody &= TextHTMLtable
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>"
End Select
If pdflist.Count > 0 Then
For Each pdf In pdflist
Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , )
Next Next
End If End If
Mail.To &= KUNDE.EMail
Mail.CC &= KUNDE.EMail2
Mail.Display()
End If
End Sub End Sub