915 lines
43 KiB
VB.net
915 lines
43 KiB
VB.net
|
|
Imports System.Reflection
|
|
'Imports DocumentFormat.OpenXml.Drawing.Charts
|
|
Imports Microsoft.Office.Interop
|
|
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class frmMDM_USTVAntrag
|
|
|
|
Dim UStVAn_ID As Integer
|
|
Dim USTV_ANTRAG As VERAG_PROG_ALLGEMEIN.cUSTVAntrag = Nothing
|
|
Dim Antrag_LandKz As String = ""
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Sub New(UStVAn_ID)
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
Me.UStVAn_ID = UStVAn_ID
|
|
|
|
End Sub
|
|
|
|
Sub init(Optional Lieferant As String = "")
|
|
pnlFilter.AutoScroll = False
|
|
|
|
lblGesamtUSteuer.Text = "-"
|
|
lblGesamtErstattung.Text = "-"
|
|
lblDiffernezbetrag.Text = "-"
|
|
|
|
With dgvUSTVPositionen
|
|
.ClearSelection()
|
|
|
|
If UStVAn_ID <= 0 Then Exit Sub
|
|
|
|
.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]
|
|
left 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
|
|
.AllowUserToOrderColumns = False
|
|
.AllowUserToResizeRows = False
|
|
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("UStVAn_ID").Visible = False
|
|
.Columns("UStVPo_ID").HeaderText = "Pos"
|
|
.Columns("UStVPo_ID").Width = 40
|
|
|
|
|
|
.Columns("UStVPo_ReDat").HeaderText = "Rg-Datum"
|
|
.Columns("UStVPo_ReDat").Width = 80
|
|
|
|
.Columns("UStVPo_ReNr").HeaderText = "Rechnungs-Nr"
|
|
.Columns("UStVPo_ReNr").Width = 180
|
|
|
|
.Columns("UStVPo_USteuerbetrag").HeaderText = "USt-Betrag"
|
|
.Columns("UStVPo_USteuerbetrag").Width = 110
|
|
.Columns("UStVPo_USteuerbetrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVPo_USteuerbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
|
|
.Columns("UStVPo_Leistungsbezeichnung").HeaderText = "Leistungsbezeichnung"
|
|
.Columns("UStVPo_Leistungsbezeichnung").Width = 150
|
|
|
|
.Columns("UStVPo_Leistender").HeaderText = "Leistender"
|
|
.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
|
|
|
|
.Columns("UStVPo_SchnittstellenNr").HeaderText = "API-Nr"
|
|
.Columns("UStVPo_SchnittstellenNr").Width = 40
|
|
|
|
|
|
.Columns("UStVPo_Umrechnungskurs").HeaderText = "Umrechnungskurs"
|
|
.Columns("UStVPo_Umrechnungskurs").Width = 60
|
|
.Columns("UStVPo_Umrechnungskurs").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVPo_Umrechnungskurs").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVPo_USteuerbetragEUR").HeaderText = "USt-Betrag EUR"
|
|
.Columns("UStVPo_USteuerbetragEUR").Width = 110
|
|
.Columns("UStVPo_USteuerbetragEUR").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVPo_USteuerbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVPo_Sachbearbeiter").HeaderText = "Sachbearbeiter"
|
|
.Columns("UStVPo_Sachbearbeiter").MinimumWidth = 100
|
|
.Columns("UStVPo_Sachbearbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
|
|
Dim c As New DataGridViewImageColumn
|
|
c.Name = "clmnPDF" : c.HeaderText = "RE"
|
|
' c.Image = Nothing
|
|
c.DefaultCellStyle.NullValue = Nothing
|
|
c.ImageLayout = DataGridViewImageCellLayout.Zoom
|
|
c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White
|
|
'c.DefaultCellStyle.Tag = "Therefore anzeigen"
|
|
|
|
.Columns.Add(c)
|
|
|
|
For Each r As DataGridViewRow In .Rows
|
|
|
|
|
|
Dim da_id = -1
|
|
|
|
Select Case If(r.Cells("UStVPo_SchnittstellenNr").Value, -1)
|
|
Case 6, 0 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & r.Cells("UStVPo_ReDat").Value & "' and plInv_SupplierRechnungsNr='" & r.Cells("UStVPo_ReNr").Value & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1)
|
|
Case 4 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblMSEInvoices] as inv inner join tblMSECustomers on inv.customer_number = customer_id where invoice_date='" & r.Cells("UStVPo_ReDat").Value & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & USTV_ANTRAG.UStVAn_KuNr & " AND daId is not null", "FMZOLL",,, -1)
|
|
Case 5 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & r.Cells("UStVPo_ReDat").Value & "' and Abrechnungsnummer='" & r.Cells("UStVPo_ReNr").Value & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1)
|
|
Case 7 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & r.Cells("UStVPo_ReDat").Value & "' and rmc_reNr='" & r.Cells("UStVPo_ReNr").Value & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1)
|
|
End Select
|
|
|
|
If da_id > 0 Then
|
|
DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
|
|
End With
|
|
|
|
Dim GesamtUSteuer As Double = SQL.DLookup("isnull(sum(UStVPo_USteuerbetragEUR),0)", "tblUStVPositionen", "UStVAn_ID='" & UStVAn_ID & "'", "FMZOLL", "0")
|
|
Dim GesamtErstattung As Double = SQL.DLookup("isnull(sum(UStVEr_USteuerbetragEUR),0)", "tblUStVErstattung", "UStVAn_ID='" & UStVAn_ID & "'", "FMZOLL", "0")
|
|
Dim Differnezbetrag As Double = GesamtUSteuer - GesamtErstattung
|
|
|
|
lblGesamtUSteuer.Text = GesamtUSteuer.ToString("C2")
|
|
lblGesamtErstattung.Text = GesamtErstattung.ToString("C2")
|
|
lblDiffernezbetrag.Text = Differnezbetrag.ToString("C2")
|
|
|
|
Dim GET_Antraege
|
|
Dim antraegeVearbeitet = False
|
|
|
|
Select Case Lieferant.ToLower
|
|
Case "plose"
|
|
GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False)
|
|
antraegeVearbeitet = True
|
|
Case "rmc"
|
|
Dim dt As New DataTable
|
|
GET_Antraege = cRMC.GET_Antraege_RMC(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, False)
|
|
antraegeVearbeitet = True
|
|
Case "mse"
|
|
Dim dt As New DataTable
|
|
GET_Antraege = cMSEAPI.GET_Antraege_MSE(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, False)
|
|
antraegeVearbeitet = True
|
|
Case "uta"
|
|
Dim dt As New DataTable
|
|
GET_Antraege = cUTA.GET_Antraege_UTA(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, False)
|
|
antraegeVearbeitet = True
|
|
Case "ids"
|
|
MsgBox("Funktion noch nicht implementiert")
|
|
End Select
|
|
|
|
If antraegeVearbeitet Then
|
|
If GET_Antraege IsNot Nothing AndAlso GET_Antraege.Count > 0 Then
|
|
lbl_EintrageVerarbetiet.Text = "aussehende Einträge: " & GET_Antraege.Count
|
|
Else
|
|
lbl_EintrageVerarbetiet.Text = "alle Einträge verarbeitet"
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Sub setValue(USTV_ANTRAG As VERAG_PROG_ALLGEMEIN.cUSTVAntrag)
|
|
|
|
lblFirma.Text = USTV_ANTRAG.UStVAn_Name
|
|
lblKdNr.Text = USTV_ANTRAG.UStVAn_KuNr
|
|
lblLand.Text = Antrag_LandKz
|
|
txtVon._value = CDate(USTV_ANTRAG.UStVAn_ReDatVon)
|
|
txtBis._value = CDate(USTV_ANTRAG.UStVAn_ReDatBis)
|
|
'lblZeitraum.Text = CDate(USTV_ANTRAG.UStVAn_ReDatVon).ToString("dd.MM.yyyy") & " - " & CDate(USTV_ANTRAG.UStVAn_ReDatBis).ToString("dd.MM.yyyy")
|
|
cboStatus.changeItem(If(USTV_ANTRAG.UStVAn_Status, ""))
|
|
If If(USTV_ANTRAG.UStVAn_AntragArt, "") = "" Then cboAntragArt.changeItem("MWST")
|
|
cboAntragArt.changeItem(If(USTV_ANTRAG.UStVAn_AntragArt, ""))
|
|
rtbStatusText.Text = If(USTV_ANTRAG.UStVAn_StatusText, "")
|
|
txt3470.Text = If(USTV_ANTRAG.UStVAn_3470, "")
|
|
|
|
End Sub
|
|
|
|
Sub getValue(ByRef USTV_ANTRAG As VERAG_PROG_ALLGEMEIN.cUSTVAntrag)
|
|
|
|
If Me_Validate() Then
|
|
'lblFirma.Text = USTV_ANTRAG.UStVAn_Name
|
|
'lblLand.Text = Antrag_LandKz
|
|
If IsDate(txtVon._value) Then USTV_ANTRAG.UStVAn_ReDatVon = CDate(txtVon._value)
|
|
If IsDate(txtBis._value) Then USTV_ANTRAG.UStVAn_ReDatBis = CDate(txtBis._value)
|
|
|
|
'lblZeitraum.Text = CDate(USTV_ANTRAG.UStVAn_ReDatVon).ToString("dd.MM.yyyy") & " - " & CDate(USTV_ANTRAG.UStVAn_ReDatBis).ToString("dd.MM.yyyy")
|
|
|
|
USTV_ANTRAG.UStVAn_Status = cboStatus._value
|
|
USTV_ANTRAG.UStVAn_AntragArt = cboAntragArt._value
|
|
USTV_ANTRAG.UStVAn_StatusText = rtbStatusText.Text
|
|
|
|
If txt3470.Text <> "" AndAlso IsNumeric(txt3470.Text) Then
|
|
USTV_ANTRAG.UStVAn_3470 = CDbl(txt3470.Text)
|
|
Else
|
|
USTV_ANTRAG.UStVAn_3470 = Nothing
|
|
End If
|
|
|
|
|
|
End If
|
|
End Sub
|
|
Function Me_Validate() As Boolean
|
|
If Not IsDate(txtVon._value) Then MsgBox("Datumsformat: Von") : Return False
|
|
If Not IsDate(txtBis._value) Then MsgBox("Datumsformat: Bis") : Return False
|
|
Return True
|
|
End Function
|
|
|
|
Public Shared Sub EnableDoubleBuffered(ByRef dgv As DataGridView)
|
|
Dim dgvType As Type = dgv.[GetType]()
|
|
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
|
|
pi.SetValue(dgv, True, Nothing)
|
|
End Sub
|
|
|
|
Private Sub UsrCntlDatenDetails1_Changed(POSId) Handles UstCntlUSTV_AntragPosition1.CHANGED
|
|
'refreshDgv(kdNr, SDLNr, Kfz, History)'?????????????? ausgebelndet,was das ein VErsuch? 31.07.2017
|
|
dgvUSTVPositionen.VALUE_CHANGED = True
|
|
End Sub
|
|
|
|
Private Sub usrCntlVERAGCard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
EnableDoubleBuffered(dgvUSTVPositionen)
|
|
|
|
cboStatus.Items.Clear()
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("-", ""))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("In Bearbeitung", cUSTVStatus.STAT_INBEARBEITUNG))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Unvollständig", cUSTVStatus.STAT_UNVOLLSTAENDIG))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Eingereicht", cUSTVStatus.STAT_EINGEREICHT))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Nachforderung/Berichtigung", cUSTVStatus.STAT_NACHFORDERUNG))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Abgeschlossen/Erstattet", cUSTVStatus.STAT_ERSTATTET))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Teil-Erstattet", cUSTVStatus.STAT_TEILERSTATTET))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Abgelehnt", cUSTVStatus.STAT_ABGELEHNT))
|
|
cboStatus.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Storno", cUSTVStatus.STAT_STORNO))
|
|
cboStatus.changeItem(cUSTVStatus.STAT_INBEARBEITUNG)
|
|
|
|
cboAntragArt.Items.Clear()
|
|
cboAntragArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("USTV-Antrag", "MWST"))
|
|
cboAntragArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MÖST-Antrag", "MOEST"))
|
|
cboAntragArt.changeItem("MWST")
|
|
|
|
|
|
|
|
lbl_EintrageVerarbetiet.Text = ""
|
|
|
|
If UStVAn_ID > 0 Then
|
|
USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV_ANTRAG.UStVAn_LandNr & "'", "FMZOLL")
|
|
setValue(USTV_ANTRAG)
|
|
End If
|
|
|
|
init()
|
|
|
|
End Sub
|
|
|
|
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
|
|
|
|
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("plose") Then
|
|
Dim plose = New ToolStripMenuItem() With {.Text = "Plose", .Name = "plose", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
ContextMenuStrip2.Items.Add(plose)
|
|
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
End If
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("rmc") Then
|
|
Dim rmc = New ToolStripMenuItem() With {.Text = "RMC", .Name = "rmc", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(rmc)
|
|
End If
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("mse") Then
|
|
Dim rmc = New ToolStripMenuItem() With {.Text = "MSE", .Name = "mse", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(rmc)
|
|
End If
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("uta") Then
|
|
Dim uta = New ToolStripMenuItem() With {.Text = "UTA", .Name = "uta", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler uta.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(uta)
|
|
End If
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("ids") Then
|
|
Dim ids = New ToolStripMenuItem() With {.Text = "IDS", .Name = "ids", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(ids)
|
|
End If
|
|
|
|
ContextMenuStrip2.Show(Cursor.Position)
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub mnuItemAuftrauege_Clicked(sender As Object, e As EventArgs)
|
|
|
|
ContextMenuStrip1.Hide()
|
|
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
|
|
|
If item IsNot Nothing Then
|
|
If item.Name = "plose" Then
|
|
loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked)
|
|
init()
|
|
ElseIf item.Name = "rmc" Then
|
|
loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked)
|
|
init()
|
|
ElseIf item.Name = "mse" Then
|
|
loadUSTVFrom_MSE(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked)
|
|
init()
|
|
ElseIf item.Name = "uta" Then
|
|
loadUSTVFrom_UTA(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked)
|
|
init()
|
|
ElseIf item.Name = "ids" Then
|
|
MsgBox(item.Name.ToUpper & " noch nicht implementiert!")
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Shared Function alreadyExists(USTVAn_KuNr As Integer, UStVAn_LandNr As String, USTV_POS As VERAG_PROG_ALLGEMEIN.cUStVPositionen) As Boolean
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim cnt = SQL.getValueTxtBySql(" SELECT count(*) FROM [tblUStVAntrag] inner join [tblUStVPositionen] on tblUStVAntrag.UStVAn_ID= [tblUStVPositionen].UStVAn_ID
|
|
WHERE USTVAn_KuNr='" & USTVAn_KuNr & "' AND UStVPo_SchnittstellenNr='" & USTV_POS.UStVPo_SchnittstellenNr & "' AND UStVPo_ReNr = '" & USTV_POS.UStVPo_ReNr & "' AND UStVPo_ReDat='" & USTV_POS.UStVPo_ReDat & "' AND UStVAn_LandNr='" & UStVAn_LandNr & "' ", "FMZOLL")
|
|
Return (cnt > 0)
|
|
End Function
|
|
|
|
Function alreadyExists_InAntrag(USTV_POS As VERAG_PROG_ALLGEMEIN.cUStVPositionen) As Boolean
|
|
For Each row As DataGridViewRow In dgvUSTVPositionen.Rows
|
|
If row.Cells("UStVPo_SchnittstellenNr").Value = USTV_POS.UStVPo_SchnittstellenNr Then
|
|
If row.Cells("UStVPo_ReNr").Value = USTV_POS.UStVPo_ReNr.ToString And row.Cells("UStVPo_ReDat").Value = USTV_POS.UStVPo_ReDat Then
|
|
Return True
|
|
End If
|
|
End If
|
|
Next
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
|
Try
|
|
Dim bytSchnittstellenNr = 6 'glaube noch frei?
|
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
Dim GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien)
|
|
|
|
If GET_Antraege IsNot Nothing Then
|
|
|
|
For Each ANTRAG In GET_Antraege
|
|
|
|
Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen
|
|
USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID]
|
|
USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr
|
|
|
|
USTV_POS.UStVPo_ReDat = ANTRAG.plose_RechnungsDatum
|
|
USTV_POS.UStVPo_ReNr = ANTRAG.plose_RechnungsNr.ToString
|
|
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
|
|
|
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
|
|
|
|
USTV_POS.UStVPo_Schnittstelle = True
|
|
USTV_POS.UStVPo_Leistungsbezeichnung = "Maut"
|
|
USTV_POS.UStVPo_Leistender = ANTRAG.plose_Lieferant
|
|
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
USTV_POS.UStVPo_Zeitstempel = Now()
|
|
' Berechnungen
|
|
USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ANTRAG.plose_MWSTBetragWaehrungAbbuchung, USTV_ANTRAG.UStVAn_Währungscode, "EUR")
|
|
'USTV_POS.UStVPo_Umrechnungskurs = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuroKurs(ANTRAG.plose_WaehrungAbbuchung, ANTRAG.plose_RechnungsDatum)
|
|
USTV_POS.UStVPo_Umrechnungskurs = ANTRAG.plose_MWSTBetrag / ANTRAG.plose_MWSTBetragWaehrungAbbuchung
|
|
USTV_POS.UStVPo_USteuerbetrag = ANTRAG.plose_MWSTBetrag
|
|
' MsgBox(ANTRAG.plose_Lieferant & " - " & ANTRAG.plose_RechnungsDatum & " - " & ANTRAG.plose_RechnungsNr & " :::::::::: " & CDbl(ANTRAG.plose_MWSTBetrag).ToString("C2"))
|
|
|
|
|
|
USTV_POS.INSERT()
|
|
End If
|
|
Next
|
|
|
|
'Einträge als archivert setzen ' vormals wichtig
|
|
MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr)
|
|
|
|
End If
|
|
Return True
|
|
Catch ex As Exception
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Shared Function loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
|
Try
|
|
Dim bytSchnittstellenNr = 7 'glaube noch frei?
|
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
Dim dt As New DataTable
|
|
Dim GET_Antraege = cRMC.GET_Antraege_RMC(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien)
|
|
|
|
If GET_Antraege Then
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
|
|
Dim kdNr = r.Item("rmc_kdNr")
|
|
|
|
Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen
|
|
USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID]
|
|
USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr
|
|
USTV_POS.UStVPo_ReDat = r.Item("rmc_reDatum")
|
|
USTV_POS.UStVPo_ReNr = r.Item("rmc_reNr")
|
|
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
|
|
|
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
|
|
|
|
USTV_POS.UStVPo_Schnittstelle = True
|
|
USTV_POS.UStVPo_Leistungsbezeichnung = "Diesel"
|
|
USTV_POS.UStVPo_Leistender = "RMC Service GmbH"
|
|
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
USTV_POS.UStVPo_Zeitstempel = Now()
|
|
|
|
' Berechnungen
|
|
Dim umrechKurs As Double = 1
|
|
If (CDbl(r.Item("rmc_betragBrutto")) > 0 AndAlso CDbl(r.Item("rmc_euroBrutto")) > 0) Then
|
|
|
|
Dim eur As Double = CDbl(r.Item("rmc_euroBrutto"))
|
|
Dim frmdw As Double = CDbl(r.Item("rmc_betragBrutto"))
|
|
|
|
umrechKurs = frmdw / eur
|
|
|
|
End If
|
|
|
|
If CDbl(r.Item("rmc_betragMWST")) > 0 Then
|
|
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
|
|
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
|
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
|
|
End If
|
|
|
|
If USTV_POS.INSERT() Then
|
|
cRMC.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdNr)
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
|
|
End If
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Shared Function loadUSTVFrom_MSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
|
Try
|
|
Dim bytSchnittstellenNr = 4 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
Dim dt As New DataTable
|
|
Dim GET_Antraege = cMSEAPI.GET_Antraege_MSE(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, ArchivierteEintracheNochmalsEinarbetien)
|
|
|
|
If GET_Antraege Then
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
|
|
Dim kdNr = r.Item("customer_id")
|
|
|
|
Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen
|
|
USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID]
|
|
USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr
|
|
USTV_POS.UStVPo_ReDat = r.Item("invoice_date")
|
|
USTV_POS.UStVPo_ReNr = r.Item("invoice_number") & " - " & kdNr
|
|
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
|
|
|
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
|
|
|
|
USTV_POS.UStVPo_Schnittstelle = True
|
|
USTV_POS.UStVPo_Leistungsbezeichnung = r.Item("specification_page_name")
|
|
USTV_POS.UStVPo_Leistender = "MS Europe BV"
|
|
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
USTV_POS.UStVPo_Zeitstempel = Now()
|
|
|
|
' Berechnungen
|
|
|
|
'!UStVPo_USteuerbetrag = rst1!Umsatzsteuerbetrag
|
|
'!UStVPo_Umrechnungskurs = fktEurokurs(Me![UStVAn_Währungscode], ![UStVPo_ReDat])
|
|
'!UStVPo_USteuerbetragEUR = Int(![UStVPo_USteuerbetrag] / !UStVPo_Umrechnungskurs * 100 + 0.5) / 100
|
|
|
|
Dim umrechKurs As Double = 1
|
|
Dim UST_EUR = CDbl(r.Item("UST_EUR"))
|
|
Dim UST_org = CDbl(r.Item("UST"))
|
|
|
|
If (UST_EUR > 0 AndAlso UST_org > 0 AndAlso UST_org <> UST_EUR) Then
|
|
|
|
umrechKurs = UST_org / UST_EUR
|
|
|
|
End If
|
|
|
|
If UST_org > 0 Then
|
|
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2)
|
|
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
|
USTV_POS.UStVPo_USteuerbetrag = UST_org
|
|
End If
|
|
|
|
If USTV_POS.INSERT() Then
|
|
cMSEAPI.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdNr)
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Shared Function loadUSTVFrom_UTA(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
|
Try
|
|
Dim bytSchnittstellenNr = 5 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
Dim dt As New DataTable
|
|
Dim GET_Antraege = cUTA.GET_Antraege_UTA(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, USTV_ANTRAG.UStVAn_Währungscode, ArchivierteEintracheNochmalsEinarbetien)
|
|
|
|
If GET_Antraege Then
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
|
|
Dim kdnr = r.Item("Kundennummer")
|
|
|
|
Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen
|
|
USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID]
|
|
USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr
|
|
USTV_POS.UStVPo_ReDat = r.Item("Rechnungsdatum")
|
|
USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer")
|
|
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
|
|
|
If True Then 'Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
|
|
|
|
USTV_POS.UStVPo_Schnittstelle = True
|
|
USTV_POS.UStVPo_Leistungsbezeichnung = "MAUT, DIESEL oder KFZ-Zubehör"
|
|
USTV_POS.UStVPo_Leistender = "Union Tank Eckstein Gmbh&Co KG, Kleinostheim"
|
|
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
USTV_POS.UStVPo_Zeitstempel = Now()
|
|
|
|
' Berechnungen
|
|
|
|
'!UStVPo_USteuerbetrag = rst1!Umsatzsteuerbetrag
|
|
'!UStVPo_Umrechnungskurs = fktEurokurs(Me![UStVAn_Währungscode], ![UStVPo_ReDat])
|
|
'!UStVPo_USteuerbetragEUR = Int(![UStVPo_USteuerbetrag] / !UStVPo_Umrechnungskurs * 100 + 0.5) / 100
|
|
|
|
Dim umrechKurs As Double = 1
|
|
|
|
Dim UST_org = CDbl(r.Item("Umsatzsteuerbetrag_in_Lieferlandwährung"))
|
|
Dim UST_EUR = CDbl(r.Item("Umsatzsteuerbetrag_in_Darstellwährung")) 'ist immer EUR
|
|
|
|
If (UST_org > 0 AndAlso UST_org <> UST_EUR AndAlso r.Item("Darstellwährung_ISO") = "EUR") Then
|
|
|
|
umrechKurs = UST_org / UST_EUR
|
|
|
|
End If
|
|
|
|
If UST_org > 0 Then
|
|
USTV_POS.UStVPo_USteuerbetragEUR = UST_org 'Math.Round((UST_org / umrechKurs), 2)
|
|
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
|
USTV_POS.UStVPo_USteuerbetrag = UST_org
|
|
End If
|
|
|
|
If USTV_POS.INSERT() Then
|
|
cUTA.UPDATE_ARCHIV(USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr, kdnr)
|
|
End If
|
|
'tblUStVPositionen
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
|
|
getValue(USTV_ANTRAG)
|
|
If USTV_ANTRAG.SAVE Then
|
|
Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
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, ANTR_Leistender)
|
|
Else
|
|
UstCntlUSTV_AntragPosition1.reset()
|
|
UstCntlUSTV_AntragPosition1.Enabled = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub dgvUSTVPositionen_SelectionChanged(sender As Object, e As EventArgs) Handles dgvUSTVPositionen.SelectionChanged
|
|
If dgvUSTVPositionen.SelectedRows.Count > 0 Then
|
|
initPosition(dgvUSTVPositionen.SelectedRows(0).Cells("UStVPo_ID").Value)
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub UstCntlUSTV_AntragPosition1_EV_NEXT() Handles UstCntlUSTV_AntragPosition1.EV_NEXT
|
|
|
|
If dgvUSTVPositionen.SelectedRows.Count > 0 Then
|
|
If dgvUSTVPositionen.RowCount > dgvUSTVPositionen.SelectedRows(0).Index + 1 Then
|
|
UstCntlUSTV_AntragPosition1.Enabled = True
|
|
Dim selIndex = dgvUSTVPositionen.SelectedRows(0).Index + 1
|
|
dgvUSTVPositionen.ClearSelection()
|
|
dgvUSTVPositionen.Rows(selIndex).Selected = True
|
|
dgvUSTVPositionen.CurrentCell = dgvUSTVPositionen.SelectedRows(0).Cells("UStVPo_ID")
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub UstCntlUSTV_AntragPosition1_EV_PREV() Handles UstCntlUSTV_AntragPosition1.EV_PREV
|
|
If dgvUSTVPositionen.SelectedRows.Count > 0 Then
|
|
If dgvUSTVPositionen.SelectedRows(0).Index > 0 Then
|
|
UstCntlUSTV_AntragPosition1.Enabled = True
|
|
Dim selIndex = dgvUSTVPositionen.SelectedRows(0).Index - 1
|
|
dgvUSTVPositionen.ClearSelection()
|
|
dgvUSTVPositionen.Rows(selIndex).Selected = True
|
|
dgvUSTVPositionen.CurrentCell = dgvUSTVPositionen.SelectedRows(0).Cells("UStVPo_ID")
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ustCntlUSTV_AntragPosition_KeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
|
|
If e.KeyValue = Keys.PageDown Then
|
|
UstCntlUSTV_AntragPosition1_EV_NEXT()
|
|
End If
|
|
If e.KeyValue = Keys.PageUp Then
|
|
UstCntlUSTV_AntragPosition1_EV_PREV()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub frmMDM_USTVAntrag_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
Me.Top = 0
|
|
Me.Height = Screen.FromRectangle(Me.Bounds).WorkingArea.Size.Height
|
|
End Sub
|
|
|
|
Private Sub cboStatus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboStatus.SelectedIndexChanged
|
|
For Each b In FlowLayoutPanel.Controls
|
|
b.visible = False
|
|
Next
|
|
|
|
|
|
Panel5.BackColor = Color.FromArgb(255, 255, 192)
|
|
Panel5.ForeColor = Color.Black
|
|
Select Case cboStatus._value
|
|
Case cUSTVStatus.STAT_INBEARBEITUNG
|
|
btnEingereicht.Visible = True
|
|
btnStorno.Visible = True
|
|
btnUnvollst.Visible = True
|
|
Panel5.BackColor = Color.LightGray
|
|
Case cUSTVStatus.STAT_UNVOLLSTAENDIG
|
|
btnBearb.Visible = True
|
|
btnEingereicht.Visible = True
|
|
btnStorno.Visible = True
|
|
Panel5.BackColor = Color.FromArgb(255, 192, 128)
|
|
Case cUSTVStatus.STAT_EINGEREICHT
|
|
'btnBearb.Visible = True
|
|
btnStorno.Visible = True
|
|
btnTeilerstattung.Visible = True
|
|
btnErstettel.Visible = True
|
|
btnAbgelehnt.Visible = True
|
|
btnNachforderung.Visible = True
|
|
Panel5.BackColor = Color.SteelBlue
|
|
Panel5.ForeColor = Color.White
|
|
Case cUSTVStatus.STAT_ABGELEHNT
|
|
btnBearb.Visible = True
|
|
btnEingereicht.Visible = True
|
|
btnUnvollst.Visible = True
|
|
btnStorno.Visible = True
|
|
Panel5.BackColor = Color.Red
|
|
Panel5.ForeColor = Color.White
|
|
Case cUSTVStatus.STAT_NACHFORDERUNG
|
|
btnBearb.Visible = True
|
|
btnEingereicht.Visible = True
|
|
'btnUnvollst.Visible = True
|
|
btnStorno.Visible = True
|
|
Panel5.BackColor = Color.FromArgb(255, 192, 128)
|
|
Case cUSTVStatus.STAT_ERSTATTET
|
|
' btnStorno.Visible = True
|
|
Panel5.BackColor = Color.Green
|
|
Panel5.ForeColor = Color.White
|
|
lblAntragAbgeschlossen.Visible = True
|
|
lblAntragAbgeschlossen.ForeColor = Color.DarkGreen
|
|
Case cUSTVStatus.STAT_TEILERSTATTET
|
|
' btnErstettel.Visible = True
|
|
' btnStorno.Visible = True
|
|
Panel5.BackColor = Color.Green
|
|
Panel5.ForeColor = Color.White
|
|
lblAntragAbgeschlossen.Visible = True
|
|
lblAntragAbgeschlossen.ForeColor = Color.DarkGreen
|
|
Case cUSTVStatus.STAT_STORNO
|
|
' btnStorno.Visible = True
|
|
Panel5.BackColor = Color.IndianRed
|
|
Panel5.ForeColor = Color.White
|
|
lblAntragAbgeschlossen.Visible = True
|
|
lblAntragAbgeschlossen.ForeColor = Color.IndianRed
|
|
End Select
|
|
|
|
cboStatus.BackColor = Panel5.BackColor
|
|
cboStatus.ForeColor = Panel5.ForeColor
|
|
|
|
Label5.BackColor = Panel5.BackColor
|
|
Label5.ForeColor = Panel5.ForeColor
|
|
Label6.ForeColor = Panel5.ForeColor
|
|
Label6.ForeColor = Panel5.ForeColor
|
|
End Sub
|
|
|
|
Private Sub btnBearb_Click(sender As Object, e As EventArgs) Handles btnBearb.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_INBEARBEITUNG)
|
|
End Sub
|
|
|
|
Private Sub btnTeilerstattung_Click(sender As Object, e As EventArgs) Handles btnTeilerstattung.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_TEILERSTATTET)
|
|
End Sub
|
|
|
|
Private Sub btnUnvollst_Click(sender As Object, e As EventArgs) Handles btnUnvollst.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_UNVOLLSTAENDIG)
|
|
End Sub
|
|
|
|
Private Sub btnEingereicht_Click(sender As Object, e As EventArgs) Handles btnEingereicht.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_EINGEREICHT)
|
|
End Sub
|
|
|
|
Private Sub btnAbgelehnt_Click(sender As Object, e As EventArgs) Handles btnAbgelehnt.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_ABGELEHNT)
|
|
End Sub
|
|
|
|
Private Sub btnNachforderung_Click(sender As Object, e As EventArgs) Handles btnNachforderung.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_NACHFORDERUNG)
|
|
End Sub
|
|
|
|
Private Sub btnErstettel_Click(sender As Object, e As EventArgs) Handles btnErstettel.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_ERSTATTET)
|
|
End Sub
|
|
|
|
Private Sub btnStorno_Click(sender As Object, e As EventArgs) Handles btnStorno.Click
|
|
cboStatus.changeItem(cUSTVStatus.STAT_STORNO)
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
UstCntlUSTV_AntragPosition1.reset()
|
|
UstCntlUSTV_AntragPosition1.UStV_POS = Nothing
|
|
UstCntlUSTV_AntragPosition1.Enabled = True
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
|
If vbYes = MsgBox("Möchten Sie den Eintrag wirklich löschen?", vbYesNoCancel) Then
|
|
'UstCntlUSTV_AntragPosition1.UStV_POS.delete()
|
|
UstCntlUSTV_AntragPosition1.Enabled = False
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
|
|
|
|
End Sub
|
|
|
|
Private Sub btnMail_Click(sender As Object, e As EventArgs) Handles btnMail.Click
|
|
|
|
If Not ContextMenuStrip1.Items.ContainsKey("excel") Then
|
|
Dim excel = New ToolStripMenuItem() With {.Text = "Excelauswertung starten", .Name = "excel", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
ContextMenuStrip1.Items.Add(excel)
|
|
AddHandler excel.Click, AddressOf mnuItem_Clicked
|
|
End If
|
|
|
|
|
|
If Not ContextMenuStrip1.Items.ContainsKey("mail") Then
|
|
Dim mail = New ToolStripMenuItem() With {.Text = "Email generieren", .Name = "mail", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler mail.Click, AddressOf mnuItem_Clicked
|
|
ContextMenuStrip1.Items.Add(mail)
|
|
End If
|
|
|
|
If Not ContextMenuStrip1.Items.ContainsKey("offeneAntraege") Then
|
|
Dim oa = New ToolStripMenuItem() With {.Text = "offene Anträge", .Name = "offeneAntraege", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler oa.Click, AddressOf mnuItem_Clicked
|
|
ContextMenuStrip1.Items.Add(oa)
|
|
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()
|
|
|
|
ElseIf item.Name = "offeneAntraege" Then
|
|
|
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
|
|
|
Dim frm As New frmUSTVoffeneAntraege(CDate(USTV_ANTRAG.UStVAn_ReDatVon), CDate(USTV_ANTRAG.UStVAn_ReDatBis), USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_Name)
|
|
frm.Show()
|
|
|
|
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, antr.UStVAn_Name 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]
|
|
inner join [tblUStVAntrag] as antr on antr.UStVAn_ID = [tblUStVPositionen].UStVAn_ID
|
|
where [tblUStVPositionen].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
|
|
|
|
Dim subject As String = ""
|
|
subject &= IIf(USTV_ANTRAG.UStVAn_Name <> "", USTV_ANTRAG.UStVAn_Name & "_", "")
|
|
subject &= IIf(USTV_ANTRAG.UStVAn_LandKz <> "", USTV_ANTRAG.UStVAn_LandKz & "_", "")
|
|
subject &= IIf(USTV_ANTRAG.UStVAn_ReDatVon IsNot Nothing AndAlso USTV_ANTRAG.UStVAn_ReDatBis IsNot Nothing, CDate(USTV_ANTRAG.UStVAn_ReDatVon).ToShortDateString & "-" & CDate(USTV_ANTRAG.UStVAn_ReDatBis).ToShortDateString, "")
|
|
|
|
Mail.Subject = subject
|
|
|
|
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
|
|
|
|
End Class |