diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 7e2cb717..6976d9a6 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -1636,11 +1636,10 @@ Public Class cFakturierung ElseIf rpt.txtLeistung.Text.Contains("00") Then rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("00", MonthStart & IIf(MonthEnd <> "", "-" & MonthEnd, "")) End If - End If - End If + End If End If @@ -2649,7 +2648,36 @@ Public Class cFakturierung Dim list As New List(Of String) If RG.ANHAENGE IsNot Nothing AndAlso RG.ANHAENGE.Count > 0 Then For Each ANH In RG.ANHAENGE - If ANH.dsId > 0 Then list.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)) + + Dim path As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId) + + If RG IsNot Nothing AndAlso RG.Firma_ID = 19 Then + + If path.Contains("POS_LISTE") Or path.Contains("POS-LISTE") Then + + Dim PATH_Org = path + + Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(PATH_Org) + Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager + Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) + For page As Integer = 1 To pdfReader.NumberOfPages + If page = 1 Then + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RG.RechnungsNr, 7, 23.5, 100, 20, "bold", 12, , itextsharp.text.Element.ALIGN_LEFT, page)) + Else + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RG.RechnungsNr, 7, 0.5, 100, 20, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT, page)) + End If + + Next + + pdfReader.Close() + + path = fm.fillPDFVorhandenesLokalesPDF_Path(PATH_Org, listTowrite, , ,, False) + + End If + End If + + If ANH.dsId > 0 Then list.Add(path) + Next End If Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_Anhänge_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False) diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index ea1875f2..5563ba06 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -1074,7 +1074,12 @@ Public Class frmFaktEmail Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) For page As Integer = 1 To pdfReader.NumberOfPages - listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RECHNUNG.RechnungsNr, 7, 23.5, 100, 20, "bold", 12, , itextsharp.text.Element.ALIGN_LEFT, page)) + If page = 1 Then + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RECHNUNG.RechnungsNr, 7, 23.5, 100, 20, "bold", 12, , itextsharp.text.Element.ALIGN_LEFT, page)) + Else + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RECHNUNG.RechnungsNr, 7, 0.5, 100, 20, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT, page)) + End If + Next pdfReader.Close() diff --git a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb index 0f30a344..0b9c0967 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb @@ -141,6 +141,7 @@ Partial Class frmMDM_USTVAntrag Me.FakturiertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition() Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition() + Me.pbMail = New System.Windows.Forms.PictureBox() Me.pnlBottom.SuspendLayout() CType(Me.pb_Beleg, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.picExcel, System.ComponentModel.ISupportInitialize).BeginInit() @@ -165,12 +166,14 @@ Partial Class frmMDM_USTVAntrag Me.Panel1.SuspendLayout() Me.cns_vorauszahlen.SuspendLayout() Me.ncs_Belege.SuspendLayout() + CType(Me.pbMail, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'pnlBottom ' Me.pnlBottom.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) Me.pnlBottom.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlBottom.Controls.Add(Me.pbMail) Me.pnlBottom.Controls.Add(Me.pb_Beleg) Me.pnlBottom.Controls.Add(Me.Button5) Me.pnlBottom.Controls.Add(Me.txtSumme) @@ -1721,7 +1724,7 @@ Partial Class frmMDM_USTVAntrag ' Me.cns_vorauszahlen.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.VorauszahlungToolStripMenuItem, Me.FakturiertZurücksetzenToolStripMenuItem}) Me.cns_vorauszahlen.Name = "cns_vorauszahlen" - Me.cns_vorauszahlen.Size = New System.Drawing.Size(212, 70) + Me.cns_vorauszahlen.Size = New System.Drawing.Size(212, 48) ' 'VorauszahlungToolStripMenuItem ' @@ -1796,6 +1799,16 @@ Partial Class frmMDM_USTVAntrag Me.UstCntlUSTV_AntragErstattungen1.Size = New System.Drawing.Size(1280, 259) Me.UstCntlUSTV_AntragErstattungen1.TabIndex = 2 ' + 'pbMail + ' + Me.pbMail.Image = Global.SDL.My.Resources.Resources.email_big1 + Me.pbMail.Location = New System.Drawing.Point(1110, 17) + Me.pbMail.Name = "pbMail" + Me.pbMail.Size = New System.Drawing.Size(35, 35) + Me.pbMail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom + Me.pbMail.TabIndex = 52 + Me.pbMail.TabStop = False + ' 'frmMDM_USTVAntrag ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -1840,6 +1853,7 @@ Partial Class frmMDM_USTVAntrag Me.Panel1.ResumeLayout(False) Me.cns_vorauszahlen.ResumeLayout(False) Me.ncs_Belege.ResumeLayout(False) + CType(Me.pbMail, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub @@ -1959,4 +1973,5 @@ Partial Class frmMDM_USTVAntrag Friend WithEvents cbxSicherheit As CheckBox Friend WithEvents FakturiertToolStripMenuItem As ToolStripMenuItem Friend WithEvents FakturiertZurücksetzenToolStripMenuItem As ToolStripMenuItem + Friend WithEvents pbMail As PictureBox End Class diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 0d3c9ee7..d68471ec 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1,6 +1,7 @@ Imports System.IO Imports System.Reflection Imports System.Windows.Documents +Imports GrapeCity.SpreadBuilder Imports itextsharp.text.pdf Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN @@ -2015,11 +2016,17 @@ Public Class frmMDM_USTVAntrag If Not cns_neAntraege.Items.ContainsKey("mail") Then - Dim mail = New ToolStripMenuItem() With {.Text = "Email generieren", .Name = "mail", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + Dim mail = New ToolStripMenuItem() With {.Text = "Email (POS-Liste) generieren", .Name = "mail", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} AddHandler mail.Click, AddressOf mnuItem_Clicked cns_neAntraege.Items.Add(mail) End If + If Not cns_neAntraege.Items.ContainsKey("mailPDF") Then + Dim mailPDF = New ToolStripMenuItem() With {.Text = "Email (PDF-RE) generieren", .Name = "mailPDF", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler mailPDF.Click, AddressOf mnuItem_Clicked + cns_neAntraege.Items.Add(mailPDF) + End If + If Not cns_neAntraege.Items.ContainsKey("offeneAntraege") Then Dim oa = New ToolStripMenuItem() With {.Text = "nicht eingearbeitet USTV-Anträge", .Name = "offeneAntraege", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} AddHandler oa.Click, AddressOf mnuItem_Clicked @@ -2046,7 +2053,10 @@ Public Class frmMDM_USTVAntrag excelAuswertung() ElseIf item.Name = "mail" Then - mailmitExcelauswertung() + mailmitExcelauswertung(False) + + ElseIf item.Name = "mailPDF" Then + mailmitExcelauswertung(True) ElseIf item.Name = "zuwenig" Then zuwenigMail() @@ -2193,7 +2203,7 @@ Public Class frmMDM_USTVAntrag End Function - Private Sub mailmitExcelauswertung() + Private Sub mailmitExcelauswertung(Optional withPDF As Boolean = False) Try Dim outl As New Outlook.Application @@ -2208,6 +2218,8 @@ Public Class frmMDM_USTVAntrag End If + If withPDF Then Mail.Attachments.Add(PDFInvoicesPath(""), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + Dim subject As String = "" subject &= IIf(USTV_ANTRAG.UStVAn_Name <> "", USTV_ANTRAG.UStVAn_Name & "_", "") subject &= IIf(Antrag_LandKz <> "", Antrag_LandKz & "_", "") @@ -2903,11 +2915,10 @@ Public Class frmMDM_USTVAntrag If frmNacherfassung.txtErfassungsnummer.Text = "" OrElse frmNacherfassung.txtErfassungsnummer.Text <> USTV_ANTRAG.UStVAn_ID Then MsgBox("Antrags-ID: " & USTV_ANTRAG.UStVAn_ID & " wurde falsch gesetzt!") End If - Exit Sub - End If + End If - If DiffernezbetragEUR = 0 Then + If DiffernezbetragEUR = 0 Then If Not vbYes = MsgBox("Der Erstattungsbetrag beträgt 0 EUR." & vbNewLine & "Fortfahren?", vbYesNo) Then Exit Sub End If @@ -2924,20 +2935,17 @@ Public Class frmMDM_USTVAntrag If USTV_ANTRAG.UStVAn_AntragArt = "MÖST" Then Select Case kunde_erw.kde_Fakturierung_Sprache - Case "EN" : BezAntrag = "Excise duty " + Case "EN", "TR" : BezAntrag = "Excise duty " Case "RO" : BezAntrag = "Rambursare acciza " End Select - Else Select Case kunde_erw.kde_Fakturierung_Sprache - Case "EN" : BezAntrag = "VAT refund " + Case "EN", "TR" : BezAntrag = "VAT refund " Case "RO" : BezAntrag = "Rambursare TVA " End Select - - End If @@ -3434,7 +3442,7 @@ Public Class frmMDM_USTVAntrag - End If + End If End Sub @@ -3623,6 +3631,74 @@ Public Class frmMDM_USTVAntrag End Sub + Private Sub pbMail_Click(sender As Object, e As EventArgs) Handles pbMail.Click + + + If dgvUSTVPositionen.SelectedRows.Count = 0 Then Exit Sub + + Try + + Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(7, "", 19) + Dim mailText As String = "" + + Dim spracheRechnung As String = "EN" 'Defaultsprache + + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + Dim posID As String = "" + Dim KUNDE_ERW As New cKundenErweitert(USTV_ANTRAG.UStVAn_KuNr) + Dim KUNDE As New cKunde(USTV_ANTRAG.UStVAn_KuNr) + Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr) + + If KUNDE_ERW IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache <> "" Then + + If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then spracheRechnung = KUNDE_ERW.kde_Fakturierung_Sprache + + Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung) + If r IsNot Nothing Then + + Mail.Subject = r.txt_betreff + Mail.Subject = Mail.Subject.Replace("%KdNr%", USTV_ANTRAG.UStVAn_KuNr) + Mail.Subject = Mail.Subject.Replace("%KdName%", USTV_ANTRAG.UStVAn_Name) + mailText = r.txt_text + End If + + End If + + Dim path As String = PDFInvoicesPath(posID) + Mail.Attachments.Add(path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + + 'NOCH DEAKTIVIERT + If vbYes = MsgBox("Möchten Sie die Positionsliste an die Mail hinzufügen?", vbYesNoCancel) Then + + Dim spedBuch As New cSpeditionsbuch(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr, 0) + + If Not spedBuch.ErfassungsNr = "" Then + + Dim pathPosList As String = generatePOSListe(spedBuch, posID, False) + + If pathPosList <> "" Then Mail.Attachments.Add(pathPosList, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) + + End If + + + End If + + + Dim TextHTML = "" + If mailText <> "" Then + TextHTML = "