ustva-Antraege, Email Fakturierung, FIskaluebersicht, Benachrichtigungen, Essensbestellungen für Unisped
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
Imports System.Reflection
|
||||
Imports DocumentFormat.OpenXml.Drawing.Charts
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
||||
|
||||
Public Class frmMDM_USTVAntrag
|
||||
|
||||
@@ -28,8 +31,9 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If UStVAn_ID <= 0 Then Exit Sub
|
||||
|
||||
.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter]
|
||||
FROM [tblUStVPositionen]
|
||||
.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter]
|
||||
FROM [tblUStVPositionen]
|
||||
inner join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender]
|
||||
where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL")
|
||||
.LOAD()
|
||||
.RowTemplate.Height = 20
|
||||
@@ -56,12 +60,26 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
|
||||
.Columns("UStVPo_Leistungsbezeichnung").HeaderText = "Leistungsbezeichnung"
|
||||
.Columns("UStVPo_Leistungsbezeichnung").Width = 200
|
||||
|
||||
.Columns("UStVPo_Leistungsbezeichnung").Width = 150
|
||||
|
||||
.Columns("UStVPo_Leistender").HeaderText = "Leistender"
|
||||
.Columns("UStVPo_Leistender").Width = 220
|
||||
.Columns("UStVPo_Leistender").Width = 100
|
||||
|
||||
.Columns("UstV_Leistender_Strasse").HeaderText = "Strasse"
|
||||
.Columns("UstV_Leistender_Strasse").Width = 50
|
||||
|
||||
.Columns("UstV_Leistender_PLZ").HeaderText = "PLZ"
|
||||
.Columns("UstV_Leistender_PLZ").Width = 50
|
||||
|
||||
.Columns("UstV_Leistender_Land").HeaderText = "Land"
|
||||
.Columns("UstV_Leistender_Land").Width = 50
|
||||
|
||||
.Columns("UstV_Leistender_Stadt").HeaderText = "Stadt"
|
||||
.Columns("UstV_Leistender_Stadt").Width = 100
|
||||
|
||||
|
||||
.Columns("UstV_Leistender_UstNr").HeaderText = "UID-Nr"
|
||||
.Columns("UstV_Leistender_UstNr").Width = 150
|
||||
|
||||
.Columns("UStVPo_Schnittstelle").HeaderText = "API"
|
||||
.Columns("UStVPo_Schnittstelle").Width = 30
|
||||
@@ -81,7 +99,7 @@ Public Class frmMDM_USTVAntrag
|
||||
.Columns("UStVPo_USteuerbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
||||
|
||||
.Columns("UStVPo_Sachbearbeiter").HeaderText = "Sachbearbeiter"
|
||||
.Columns("UStVPo_Sachbearbeiter").MinimumWidth = 150
|
||||
.Columns("UStVPo_Sachbearbeiter").MinimumWidth = 100
|
||||
.Columns("UStVPo_Sachbearbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||||
|
||||
End If
|
||||
@@ -267,8 +285,9 @@ Public Class frmMDM_USTVAntrag
|
||||
Sub initPosition(UStVPo_ID)
|
||||
If UStVPo_ID > 0 Then
|
||||
Dim ANTR_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen(USTV_ANTRAG.UStVAn_ID, UStVPo_ID)
|
||||
Dim ANTR_Leistender As New VERAG_PROG_ALLGEMEIN.cUStVLeistender(ANTR_POS.UStVPo_Leistender)
|
||||
UstCntlUSTV_AntragPosition1.Enabled = True
|
||||
UstCntlUSTV_AntragPosition1.setValues(USTV_ANTRAG.UStVAn_KuNr, ANTR_POS, Antrag_LandKz)
|
||||
UstCntlUSTV_AntragPosition1.setValues(USTV_ANTRAG.UStVAn_KuNr, ANTR_POS, Antrag_LandKz, ANTR_Leistender)
|
||||
Else
|
||||
UstCntlUSTV_AntragPosition1.reset()
|
||||
UstCntlUSTV_AntragPosition1.Enabled = False
|
||||
@@ -446,6 +465,107 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnMail_Click(sender As Object, e As EventArgs) Handles btnMail.Click
|
||||
|
||||
If Not ContextMenuStrip1.Items.ContainsKey("excel") Then
|
||||
Dim uploadPictures = New ToolStripMenuItem() With {.Text = "Excelauswertung starten", .Name = "excel", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
ContextMenuStrip1.Items.Add(uploadPictures)
|
||||
AddHandler uploadPictures.Click, AddressOf mnuItem_Clicked
|
||||
End If
|
||||
|
||||
|
||||
If Not ContextMenuStrip1.Items.ContainsKey("mail") Then
|
||||
Dim copyToClipboard = New ToolStripMenuItem() With {.Text = "Email generieren", .Name = "mail", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
AddHandler copyToClipboard.Click, AddressOf mnuItem_Clicked
|
||||
ContextMenuStrip1.Items.Add(copyToClipboard)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
ContextMenuStrip1.Show(Cursor.Position)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
|
||||
ContextMenuStrip1.Hide()
|
||||
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
||||
|
||||
If item IsNot Nothing Then
|
||||
If item.Name = "excel" Then
|
||||
excelAuswertung()
|
||||
|
||||
ElseIf item.Name = "mail" Then
|
||||
mailmitExcelauswertung()
|
||||
Else
|
||||
MsgBox("Funktion nicht implementiert!")
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Function excelAuswertung(ByRef Optional filepath As String = "", Optional feedback As Boolean = False, Optional openExcel As Boolean = True) As Boolean
|
||||
|
||||
Dim sqlStr = "SELECT [UStVPo_ReDat] as InvoiceDate , [UStVPo_ReNr] As InvoiceNumber, 'Verag 360 GmbH' as Company, 'FR' as CountryOfRefund ,'EUR' as Currency ,[UStVPo_Leistender] as SupplierName, leist.[UstV_Leistender_Strasse] AS SupplierStreet, leist.[UstV_Leistender_StrasseNr] as SupplierStreetNumber, leist.[UstV_Leistender_PLZ] as SupplierPostalCode, leist.[UstV_Leistender_Stadt] as SupplierCity, leist.[UstV_Leistender_Land] as SupplierCountry, leist.[UstV_Leistender_UstNr] as SupplierVAT_TaxNumber, [UStVPo_Leistungsbezeichnung] as ExpenseCategory ,Round((1119/19*[UStVPo_USteuerbetragEUR]),2) as ExpenseGrossAmount, [UStVPo_USteuerbetragEUR] as ExpenseVATAmount,Round((100/19*[UStVPo_USteuerbetragEUR]),2) as ExpenseNetAmount
|
||||
FROM [tblUStVPositionen]
|
||||
inner Join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender]
|
||||
where UStVAn_ID ='" & UStVAn_ID & "' ORDER BY UStVPo_ID"
|
||||
|
||||
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
||||
|
||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||
filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt, {"N1:N" & (dt.Rows.Count + 1), "O1:O" & (dt.Rows.Count + 1), "P1:P" & (dt.Rows.Count + 1)},,,, openExcel)
|
||||
Return True
|
||||
Else
|
||||
If feedback Then MsgBox("keine Daten vorhanden!")
|
||||
Return False
|
||||
End If
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub mailmitExcelauswertung()
|
||||
|
||||
Try
|
||||
Dim outl As New Outlook.Application
|
||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||
Mail = outl.CreateItem(0)
|
||||
|
||||
|
||||
Dim filepath = ""
|
||||
If excelAuswertung(filepath, False, False) Then
|
||||
|
||||
Mail.Attachments.Add(filepath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Mail.Subject = USTV_ANTRAG.UStVAn_Name & "_" & USTV_ANTRAG.UStVAn_LandKz & "_" & USTV_ANTRAG.UStVAn_ReDatVon & "-" & USTV_ANTRAG.UStVAn_ReDatBis
|
||||
|
||||
Dim TextHTML = ""
|
||||
TextHTML &= "Ladies and Gentlemen,<br>"
|
||||
TextHTML &= "<br>"
|
||||
TextHTML &= "In the attachment we will send you the Excel list and the corresponding invoices for the VAT refund.<br>"
|
||||
TextHTML &= "Please submit these invoices to the tax office.<br>"
|
||||
TextHTML &= "We are always available to answer more questions.<br>"
|
||||
|
||||
TextHTML &= "Mit freundlichen Grüßen<br>"
|
||||
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||
TextHTML &= "<br>"
|
||||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial;font-size:15px;"">" & TextHTML & SDL.cFakturierung.getSignature("DE") & "</div>"
|
||||
|
||||
Mail.Display()
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
' Private Sub cmdITMautÜbernehmen_Click()
|
||||
|
||||
' Dim wrk As DAO.Workspace
|
||||
|
||||
Reference in New Issue
Block a user