ustva-Antraege, Email Fakturierung, FIskaluebersicht, Benachrichtigungen, Essensbestellungen für Unisped

This commit is contained in:
2024-03-12 14:32:03 +01:00
parent d7d6d6fd02
commit 3433caa2e8
26 changed files with 940 additions and 115 deletions

View File

@@ -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