1519 lines
88 KiB
VB.net
1519 lines
88 KiB
VB.net
Imports System.ComponentModel
|
|
Imports Microsoft.Office.Interop
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class usrCntlUSTV
|
|
|
|
Dim kundenSQL As New kundenSQL
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim FUNC As New cProgramFunctions
|
|
Dim aktbtn As String = ""
|
|
Dim dgvInitWait As Boolean = False
|
|
Public kdNr As Integer = -1
|
|
Dim loaded As Boolean = False
|
|
|
|
Sub init(Optional kdNr As Integer = -1, Optional ID As Integer = -1, Optional AntragsLand As String = "")
|
|
pnlFilter.AutoScroll = False
|
|
btnKundendatenaktualisieren.Enabled = False
|
|
' MsgBox(kdNr)
|
|
|
|
If kdNr > 0 Then
|
|
Me.kdNr = kdNr
|
|
KdSearchBox1.KdNr = kdNr
|
|
KdSearchBox1.Enabled = False
|
|
setInfo(kdNr)
|
|
Else
|
|
If KdSearchBox1 IsNot Nothing Then
|
|
If KdSearchBox1.KdNr > 0 Then
|
|
setInfo(KdSearchBox1.KdNr)
|
|
End If
|
|
btnPLOSEAlle.Enabled = KdSearchBox1.KdNr > 0
|
|
End If
|
|
|
|
End If
|
|
|
|
With dgvUSTV
|
|
.ClearSelection()
|
|
|
|
Dim topMax = ""
|
|
If cbxTopMax.Checked Then
|
|
If IsNumeric(txtMaxSrch.Text) Then
|
|
topMax = " TOP (" & txtMaxSrch.Text.Trim & ")"
|
|
Else
|
|
topMax = " TOP (200)"
|
|
End If
|
|
End If
|
|
|
|
.SET_SQL("SELECT " & topMax & " [tblUStVAntrag].[UStVAn_ID],UStVAn_AntragArt,[UStVAn_KuNr],[UStVAn_Name],[UStVAn_LandKz],LandKz as Land_Antrag , UStVAn_BezugsNr, [UStVAn_ReDatVon], [UStVAn_ReDatBis] ,UStVAn_AntragEingereichtAm,[UStVAn_VZBetrag],[UStVAn_VZDatum],[UStVAn_3470] ,[UStVAn_Währungscode],[UStVAn_USteuerbetrag],[UStVAn_Erstattungsbetrag],([UStVAn_USteuerbetrag] - [UStVAn_Erstattungsbetrag]) as UStVAn_Differenzbetrag,[UStVAn_USteuerbetragEUR],[UStVAn_ErstattungsbetragEUR],([UStVAn_USteuerbetragEUR] - [UStVAn_ErstattungsbetragEUR]) as UStVAn_DifferenzbetragEUR,UStVAn_VZoffen ,[UStVAn_Sachbearbeiter]
|
|
FROM [tblUStVAntrag] inner join [Länderverzeichnis für die Außenhandelsstatistik] on UStVAn_LandNr=Landnr
|
|
where 1=1 " & getWhere(, ID, AntragsLand) & "
|
|
order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc", "FMZOLL")
|
|
.LOAD()
|
|
|
|
loaded = True
|
|
|
|
.RowTemplate.Height = 20
|
|
.AllowUserToOrderColumns = False
|
|
.AllowUserToResizeRows = False
|
|
|
|
|
|
btnKundendatenaktualisieren.Enabled = KdSearchBox1.KdNr > 0 'AndAlso .RowCount > 0
|
|
|
|
|
|
|
|
If .Columns.Count > 0 Then
|
|
|
|
|
|
Dim DataGridViewCellStyleDate = New DataGridViewCellStyle()
|
|
DataGridViewCellStyleDate.Format = "MM/yyyy"
|
|
|
|
|
|
|
|
' .Columns("UStVAn_ID").Visible = False
|
|
.Columns("UStVAn_ID").Width = 70
|
|
.Columns("UStVAn_ID").HeaderText = "ID"
|
|
'.Columns("UStVAn_ID").Frozen = True
|
|
|
|
.Columns("UStVAn_AntragArt").HeaderText = "Art"
|
|
.Columns("UStVAn_AntragArt").MinimumWidth = 50
|
|
'.Columns("UStVAn_AntragArt").Frozen = True
|
|
|
|
.Columns("UStVAn_KuNr").HeaderText = "KundenNr"
|
|
.Columns("UStVAn_Name").MinimumWidth = 70
|
|
'.Columns("UStVAn_KuNr").Frozen = True
|
|
|
|
.Columns("UStVAn_Name").HeaderText = "Firma"
|
|
.Columns("UStVAn_Name").Width = 200
|
|
'.Columns("UStVAn_Name").Frozen = True
|
|
' .Columns("UStVAn_Name").MinimumWidth = 150
|
|
' .Columns("UStVAn_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
.Columns("UStVAn_LandKz").HeaderText = "Land"
|
|
.Columns("UStVAn_LandKz").Width = 60
|
|
'.Columns("UStVAn_LandKz").Frozen = True
|
|
|
|
.Columns("Land_Antrag").HeaderText = "Antrag Land"
|
|
.Columns("Land_Antrag").Width = 60
|
|
'.Columns("Land_Antrag").Frozen = True
|
|
|
|
.Columns("UStVAn_ReDatVon").HeaderText = "Von"
|
|
'.Columns("UStVAn_ReDatVon").DefaultCellStyle = DataGridViewCellStyleDate
|
|
.Columns("UStVAn_ReDatVon").Width = 75
|
|
|
|
.Columns("UStVAn_ReDatBis").HeaderText = "Bis"
|
|
'.Columns("UStVAn_ReDatBis").DefaultCellStyle = DataGridViewCellStyleDate
|
|
.Columns("UStVAn_ReDatBis").Width = 75
|
|
|
|
.Columns("UStVAn_BezugsNr").HeaderText = "BezugsNr"
|
|
.Columns("UStVAn_BezugsNr").Width = 70
|
|
|
|
.Columns("UStVAn_AntragEingereichtAm").HeaderText = "Eingereicht Datum"
|
|
.Columns("UStVAn_AntragEingereichtAm").Width = 80
|
|
|
|
.Columns("UStVAn_VZDatum").HeaderText = "Vorausz.Am"
|
|
.Columns("UStVAn_VZDatum").Width = 75
|
|
|
|
.Columns("UStVAn_VZBetrag").HeaderText = "Vorauszahlung Betrag"
|
|
.Columns("UStVAn_VZBetrag").Width = 100
|
|
.Columns("UStVAn_VZBetrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_VZBetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
|
|
.Columns("UStVAn_3470").HeaderText = "3470"
|
|
.Columns("UStVAn_3470").Width = 100
|
|
.Columns("UStVAn_3470").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_3470").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVAn_Währungscode").HeaderText = "Währ."
|
|
.Columns("UStVAn_Währungscode").Width = 60
|
|
|
|
.Columns("UStVAn_USteuerbetrag").HeaderText = "USt Betrag"
|
|
.Columns("UStVAn_USteuerbetrag").Width = 100
|
|
.Columns("UStVAn_USteuerbetrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_USteuerbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVAn_Erstattungsbetrag").HeaderText = "Erstattung Betrag"
|
|
.Columns("UStVAn_Erstattungsbetrag").Width = 100
|
|
.Columns("UStVAn_Erstattungsbetrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_Erstattungsbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
|
|
.Columns("UStVAn_Differenzbetrag").HeaderText = "Differenz Betrag"
|
|
.Columns("UStVAn_Differenzbetrag").Width = 100
|
|
.Columns("UStVAn_Differenzbetrag").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_Differenzbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVAn_ErstattungsbetragEUR").HeaderText = "Erstattung Betrag EUR"
|
|
.Columns("UStVAn_ErstattungsbetragEUR").Width = 100
|
|
.Columns("UStVAn_ErstattungsbetragEUR").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_ErstattungsbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVAn_USteuerbetragEUR").HeaderText = "USt-Betrag EUR"
|
|
.Columns("UStVAn_USteuerbetragEUR").Width = 100
|
|
.Columns("UStVAn_USteuerbetragEUR").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_USteuerbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
.Columns("UStVAn_DifferenzbetragEUR").HeaderText = "Differenz Betrag EUR"
|
|
.Columns("UStVAn_DifferenzbetragEUR").Width = 100
|
|
.Columns("UStVAn_DifferenzbetragEUR").DefaultCellStyle.Format = "N2"
|
|
.Columns("UStVAn_DifferenzbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
|
|
|
|
|
|
.Columns("UStVAn_VZoffen").HeaderText = "VZ nicht abgerechnet"
|
|
.Columns("UStVAn_VZoffen").Width = 80
|
|
.Columns("UStVAn_VZoffen").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
|
|
|
|
.Columns("UStVAn_Sachbearbeiter").HeaderText = "Sachbearbeiter"
|
|
.Columns("UStVAn_Sachbearbeiter").MinimumWidth = 150
|
|
.Columns("UStVAn_Sachbearbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
End If
|
|
|
|
Dim GesamtUSteuer As Double = 0
|
|
Dim GesamtErstattung As Double = 0
|
|
Dim Differnezbetrag As Double = 0
|
|
Dim Gesamt3470 As Double = 0
|
|
Dim GesamtVZBetrag As Double = 0
|
|
Dim VorschaubetrGes As Double = 0
|
|
Dim OPSaldo As Double = 0
|
|
Dim Risiko As Double = 0
|
|
Dim calcRisiko As Boolean = False
|
|
|
|
If KdSearchBox1.KdNr > 0 Then
|
|
Dim dt As New DataTable
|
|
|
|
dt = SQL.loadDgvBySql("SELECT Kunden.KundenNr as KundenNr, Kunden.UStV_SummeUmsatzsteuerbetragEUR, Kunden.UStV_SummeErstattungsbetragEUR, Kunden.UStV_Summe3470BetragEUR, Kunden.UStV_SummeVZBetragEUR, Kunden.UStV_SummeVorschaubetragEUR
|
|
FROM Kunden
|
|
WHERE Kunden.KundenNr = " & KdSearchBox1.KdNr, "FMZOLL")
|
|
|
|
|
|
OPSaldo = CInt((New SQL).getValueTxtBySql("SELECT isnull(sum(Gesamtausstand),0) FROM [Offene Posten] WHERE [Kontonummer]=" & KdSearchBox1.KdNr, "FMZOLL"))
|
|
|
|
calcRisiko = True
|
|
If dt.Rows.Count = 1 Then
|
|
GesamtUSteuer = dt.Rows(0).Item("UStV_SummeUmsatzsteuerbetragEUR")
|
|
GesamtErstattung = dt.Rows(0).Item("UStV_SummeErstattungsbetragEUR")
|
|
Gesamt3470 = dt.Rows(0).Item("UStV_Summe3470BetragEUR")
|
|
GesamtVZBetrag = dt.Rows(0).Item("UStV_SummeVZBetragEUR")
|
|
VorschaubetrGes = dt.Rows(0).Item("UStV_SummeVorschaubetragEUR")
|
|
Else
|
|
GesamtUSteuer = 0
|
|
GesamtErstattung = 0
|
|
Gesamt3470 = 0
|
|
GesamtVZBetrag = 0
|
|
VorschaubetrGes = 0
|
|
|
|
End If
|
|
|
|
'GesamtUSteuer = SQL.DLookup("isnull(sum(UStVAn_USteuerbetragEUR),0)", "tblUStVAntrag", "UStVAn_KuNr='" & KdSearchBox1.KdNr & "'", "FMZOLL", "0")
|
|
'GesamtErstattung = SQL.DLookup("isnull(sum(UStVAn_ErstattungsbetragEUR),0)", "tblUStVAntrag", "UStVAn_KuNr='" & KdSearchBox1.KdNr & "'", "FMZOLL", "0")
|
|
'Gesamt3470 = SQL.DLookup("isnull(sum(UStVAn_3470),0)", "tblUStVAntrag", "UStVAn_KuNr='" & KdSearchBox1.KdNr & "'", "FMZOLL", "0")
|
|
'GesamtVZBetrag = SQL.DLookup("isnull(sum(UStVAn_VZBetrag),0)", "tblUStVAntrag", "UStVAn_KuNr='" & KdSearchBox1.KdNr & "'", "FMZOLL", "0")
|
|
|
|
Else
|
|
For Each rows As DataGridViewRow In .Rows
|
|
If IsNumeric(rows.Cells("UStVAn_USteuerbetragEUR").Value) Then GesamtUSteuer += rows.Cells("UStVAn_USteuerbetragEUR").Value
|
|
If IsNumeric(rows.Cells("UStVAn_ErstattungsbetragEUR").Value) Then GesamtErstattung += rows.Cells("UStVAn_ErstattungsbetragEUR").Value
|
|
If IsNumeric(rows.Cells("UStVAn_3470").Value) Then Gesamt3470 += rows.Cells("UStVAn_3470").Value
|
|
If IsNumeric(rows.Cells("UStVAn_VZBetrag").Value) Then GesamtVZBetrag += rows.Cells("UStVAn_VZBetrag").Value
|
|
Next
|
|
VorschaubetrGes = 0
|
|
Risiko = 0
|
|
End If
|
|
|
|
'Beim Differenzbetrag
|
|
Differnezbetrag = GesamtUSteuer - GesamtErstattung
|
|
|
|
|
|
If calcRisiko Then
|
|
Risiko = OPSaldo - Differnezbetrag - Gesamt3470 + GesamtVZBetrag - VorschaubetrGes
|
|
End If
|
|
|
|
txtSumUst.Text = GesamtUSteuer.ToString("C2")
|
|
txtSumErst.Text = GesamtErstattung.ToString("C2")
|
|
txtSumDiff.Text = Differnezbetrag.ToString("C2")
|
|
txt3470Betrag.Text = Gesamt3470.ToString("C2")
|
|
txtVZBetrag.Text = GesamtVZBetrag.ToString("C2")
|
|
txtVorschaubetrGes.Text = VorschaubetrGes.ToString("C2")
|
|
txtOPSaldo.Text = OPSaldo.ToString("C2")
|
|
txtRisiko.Text = Risiko.ToString("C2")
|
|
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
|
|
Function getWhere(Optional useJahr As Boolean = True, Optional AntragsID As Integer = -1, Optional AntragsLandKZ As String = "") As String
|
|
Dim whereStr = ""
|
|
'If KdSearchBox1.KdNr <= 0 Then Exit Sub
|
|
|
|
If AntragsID > 0 Then
|
|
whereStr &= " AND UStVAn_ID=" & AntragsID & " " & IIf(KdSearchBox1.KdNr > 0, " AND UStVAn_KuNr=" & KdSearchBox1.KdNr & " ", "")
|
|
Return whereStr
|
|
End If
|
|
|
|
If useJahr Then
|
|
If cboJahr._value <> "" Then
|
|
If cboJahrBis._value <> "" Then
|
|
whereStr &= " AND UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND UStVAn_ReDatBis<='31.12." & cboJahrBis._value & "' "
|
|
Else
|
|
whereStr &= " AND UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND UStVAn_ReDatBis<='31.12." & cboJahr._value & "' "
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Select Case cbxEingereicht.CheckState
|
|
Case CheckState.Checked
|
|
whereStr &= " AND UStVAn_AntragEingereichtAm is not null "
|
|
Case CheckState.Unchecked
|
|
whereStr &= " AND UStVAn_AntragEingereichtAm is null "
|
|
Case CheckState.Indeterminate
|
|
End Select
|
|
|
|
Select Case cbxDifferenzbetrag.CheckState
|
|
Case CheckState.Checked
|
|
whereStr &= " AND ([UStVAn_USteuerbetrag]-[UStVAn_Erstattungsbetrag]) <> 0"
|
|
Case CheckState.Unchecked
|
|
whereStr &= " AND ([UStVAn_USteuerbetrag]-[UStVAn_Erstattungsbetrag]) = 0 "
|
|
Case CheckState.Indeterminate
|
|
End Select
|
|
|
|
Select Case cbxVZnichtabgerechnet.CheckState
|
|
Case CheckState.Checked
|
|
whereStr &= " AND isnull(UStVAn_VZoffen,0) <> 0"
|
|
Case CheckState.Unchecked
|
|
whereStr &= " AND isnull(UStVAn_VZoffen,0) = 0 "
|
|
Case CheckState.Indeterminate
|
|
End Select
|
|
|
|
If KdSearchBox1.KdNr > 0 Then whereStr &= " AND UStVAn_KuNr=" & KdSearchBox1.KdNr & " "
|
|
|
|
If AntragsLandKZ <> "" Then whereStr &= " AND LandKz='" & AntragsLandKZ & "' "
|
|
|
|
Return whereStr
|
|
End Function
|
|
|
|
Private Sub usrCntlUSTV_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
' btnFilter.Left = Panel4.Width - btnFilter.Width
|
|
KdSearchBox1.initKdBox(Me.FindForm)
|
|
If kdNr > 0 Then
|
|
KdSearchBox1.KdNr = kdNr
|
|
KdSearchBox1.Enabled = False
|
|
End If
|
|
init()
|
|
cboJahr.Items.Clear()
|
|
cboJahr.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
For i = 0 To Now().Year - 2005
|
|
cboJahr.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(Now.Year - i, Now.Year - i))
|
|
Next
|
|
cboJahr.changeItem(Now.Year - 1)
|
|
|
|
cboJahrBis.Items.Clear()
|
|
cboJahrBis.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
For i = 0 To Now().Year - 2005
|
|
cboJahrBis.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(Now.Year - i, Now.Year - i))
|
|
Next
|
|
cboJahrBis.changeItem(Now.Year)
|
|
|
|
filterAntragsLand()
|
|
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVA_bearbeiten", Me.FindForm) Then
|
|
'FlatButton1.Enabled = False#
|
|
|
|
btnUSTVAloeschen.Enabled = False
|
|
btnNeuerUSTVA.Enabled = False
|
|
btnPLOSEAlle.Enabled = False
|
|
|
|
Else
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
btnUSTVAloeschen.Enabled = True
|
|
btnNeuerUSTVA.Enabled = True
|
|
Else
|
|
btnUSTVAloeschen.Enabled = True
|
|
btnNeuerUSTVA.Enabled = True
|
|
End If
|
|
End If
|
|
|
|
frmMain.EnableDoubleBuffered(dgvUSTV)
|
|
' Panel3.Height = Me.Height / 2 + 300
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvUSTV_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvUSTV.CellDoubleClick
|
|
If dgvUSTV.SelectedRows.Count > 0 Then
|
|
|
|
Dim f As New frmMDM_USTVAntrag(dgvUSTV.SelectedRows(0).Cells("UStVAn_ID").Value)
|
|
f.Show(Me)
|
|
If Not f.IsHandleCreated Then
|
|
dgvUSTV.RELOAD()
|
|
End If
|
|
|
|
'dgvUSTV.RELOAD()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub cboJahr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboJahr.SelectedIndexChanged, cboJahrBis.SelectedIndexChanged
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
filterAntragsLand()
|
|
End Sub
|
|
|
|
Private Sub KdSearchBox1_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles KdSearchBox1.PropertyChanged
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
filterAntragsLand()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
|
|
|
|
Dim dtNew As New DataTable
|
|
dtNew = TryCast(dgvUSTV.DataSource, DataTable)
|
|
|
|
If dtNew.Rows.Count > 0 Then
|
|
|
|
For Each col As DataColumn In dtNew.Columns
|
|
|
|
Dim colName = col.ColumnName.Replace("UStVAn_", "")
|
|
|
|
If Not col.ColumnName.Contains(colName) Then col.ColumnName = col.ColumnName.Replace("UStVAn_", "")
|
|
Next
|
|
|
|
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1), "O1:T" & (dtNew.Rows.Count + 1)},,,,, True)
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub Button8_Click_1(sender As Object, e As EventArgs) Handles Button8.Click
|
|
'Dim sqlStr = "SELECT [UStVAn_ID],[UStVAn_KuNr],[UStVAn_Name],LandKz,[UStVAn_ReDatVon],[UStVAn_ReDatBis] ,UStVAn_AntragEingereichtAm,[UStVAn_3470] ,[UStVAn_Währungscode],[UStVAn_USteuerbetrag],[UStVAn_Erstattungsbetrag],[UStVAn_USteuerbetragEUR],[UStVAn_ErstattungsbetragEUR],[UStVAn_Sachbearbeiter]
|
|
' FROM [tblUStVAntrag] inner join [Länderverzeichnis für die Außenhandelsstatistik] on UStVAn_LandNr=Landnr
|
|
' where 1=1 " & getWhere(False) & "
|
|
' AND cast( [UStVAn_USteuerbetragEUR] as decimal(17,2))-cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))<>0
|
|
' AND UStVAn_AntragEingereichtAm is not null
|
|
' order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc"
|
|
Dim sqlStr = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KundenNr,[UStVAn_Name] as Kundename,Adressen.LandKz as Land_Kunde, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA .LandKz Land_Antrag,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as Währung,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, UStVAn_VZBetrag as Vorauszahlungsbetrag, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr
|
|
FROM [tblUStVAntrag]
|
|
inner join [Länderverzeichnis für die Außenhandelsstatistik] as LfdA on UStVAn_LandNr=Landnr
|
|
inner join Adressen on AdressenNr=UStVAn_KuNr
|
|
left join [tblSteuernummern] as stnr on stnr.AdressenNr = UStVAn_KuNr and stnr.LandNr=UStVAn_LandNr
|
|
where 1=1
|
|
AND cast( [UStVAn_USteuerbetragEUR] as decimal(17,2))-cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))<>0
|
|
AND UStVAn_AntragEingereichtAm is not null
|
|
order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LfdA .LandKz,[UStVAn_ReDatVon] desc"
|
|
|
|
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
cProgramFunctions.genExcelFromDT_NEW(dt, {"J1:M" & (dt.Rows.Count + 1)},,,,, True)
|
|
Else
|
|
MsgBox("Keine Daten!")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
|
|
' If Not kdNr_filter Then
|
|
If dgvUSTV.SelectedCells.Count > 0 Then
|
|
If IsNumeric(dgvUSTV.CurrentRow.Cells("UStVAn_KuNr").Value) Then
|
|
cProgramFunctions.openKundenblatt(dgvUSTV.CurrentRow.Cells("UStVAn_KuNr").Value, Me.FindForm, True)
|
|
'Dim pf As New cProgramFunctions
|
|
'pf.openKundenblatt(dgvSDL.CurrentRow.Cells("KundenNr").Value)
|
|
End If
|
|
End If
|
|
' End If
|
|
End Sub
|
|
|
|
Private Sub btnPLOSEAlle_Click(sender As Object, e As EventArgs) Handles btnPLOSEAlle.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 IsDate(dgvUSTV.CurrentRow.Cells("UStVAn_ReDatVon").Value) Then
|
|
If DirectCast(dgvUSTV.CurrentRow.Cells("UStVAn_ReDatVon").Value, Date).Year >= 2025 Then 'wenn INFO von PLOSE WÄHRUNGSCODE IN INV_DATA, dann freischalten
|
|
If Not ContextMenuStrip2.Items.ContainsKey("ploseneu") Then
|
|
Dim plose = New ToolStripMenuItem() With {.Text = "Plose-NEUE LOGIK", .Name = "ploseneu", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
ContextMenuStrip2.Items.Add(plose)
|
|
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
End If
|
|
End If
|
|
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 mse = New ToolStripMenuItem() With {.Text = "MSE", .Name = "mse", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler mse.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(mse)
|
|
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
|
|
|
|
If Not ContextMenuStrip2.Items.ContainsKey("verag") Then
|
|
Dim verag = New ToolStripMenuItem() With {.Text = "VERAG", .Name = "verag", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler verag.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
ContextMenuStrip2.Items.Add(verag)
|
|
End If
|
|
|
|
ContextMenuStrip2.Show(Cursor.Position)
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub mnuItemAuftrauege_Clicked(sender As Object, e As EventArgs)
|
|
|
|
Try
|
|
|
|
If dgvUSTV.SelectedRows.Count > 0 Then
|
|
|
|
ContextMenuStrip1.Hide()
|
|
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
|
|
|
Me.Cursor = Cursors.WaitCursor
|
|
If KdSearchBox1.KdNr <= 0 Then Exit Sub
|
|
If cboJahr._value = "" Then Exit Sub
|
|
If cboJahrBis._value = "" Then Exit Sub
|
|
|
|
Dim cnt = SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [tblUStVAntrag] where UStVAn_AntragEingereichtAm is null AND UStVAn_KuNr=" & KdSearchBox1.KdNr & " AND UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND UStVAn_ReDatBis<='31.12." & cboJahrBis._value & "'", "FMZOLL")
|
|
If cnt = 0 Then MsgBox("Keine einreichbaren Anträge gefunden!") : Exit Sub
|
|
|
|
If item IsNot Nothing Then
|
|
If item.Name = "plose" Or item.Name = "ploseneu" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then ' OrElse r.Cells("UStVAn_AntragEingereichtAm").Value = "" Then
|
|
'Dim Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & r.Cells("UStVAn_LandNr").Value & "'", "FMZOLL")
|
|
frmMDM_USTVAntrag.loadUSTVFrom_PLOSE(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False, IIf(item.Name = "ploseneu", True, False))
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
|
|
End If
|
|
|
|
ElseIf item.Name = "rmc" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then
|
|
frmMDM_USTVAntrag.loadUSTVFrom_RMC(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False)
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
End If
|
|
|
|
ElseIf item.Name = "mse" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then
|
|
frmMDM_USTVAntrag.loadUSTVFrom_MSE(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False)
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
End If
|
|
|
|
|
|
|
|
ElseIf item.Name = "uta" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then
|
|
frmMDM_USTVAntrag.loadUSTVFrom_UTA(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False)
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
End If
|
|
|
|
ElseIf item.Name = "ids" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then
|
|
frmMDM_USTVAntrag.loadUSTVFrom_IDS(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False)
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
End If
|
|
|
|
|
|
ElseIf item.Name = "verag" Then
|
|
|
|
If vbYes = MsgBox("Es werden " & item.Text & " Daten für " & cnt & " USTV-Anträge eingearbeitet. Möchten Sie fortfahren?", vbYesNoCancel) Then
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
If r.Cells("UStVAn_AntragEingereichtAm").Value Is DBNull.Value Then
|
|
If r.Cells("Land_Antrag").Value = "AT" Then frmMDM_USTVAntrag.loadUSTVFrom_VERAG(r.Cells("UStVAn_ID").Value, r.Cells("Land_Antrag").Value, False)
|
|
End If
|
|
Next
|
|
init()
|
|
MsgBox("Fertig!")
|
|
End If
|
|
|
|
Else
|
|
MsgBox("Funktion nicht implementiert!")
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Me.Cursor = Cursors.Default
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub btn2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
|
|
|
|
If Not ContextMenuStrip3.Items.ContainsKey("dgv") Then
|
|
Dim dgv = New ToolStripMenuItem() With {.Text = "Übersicht anzeigen", .Name = "dgv", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler dgv.Click, AddressOf mnuItem3_Clicked
|
|
ContextMenuStrip3.Items.Add(dgv)
|
|
End If
|
|
|
|
|
|
|
|
If Not ContextMenuStrip3.Items.ContainsKey("excel") Then
|
|
Dim excel = New ToolStripMenuItem() With {.Text = "Excelauswertung starten", .Name = "excel", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
ContextMenuStrip3.Items.Add(excel)
|
|
AddHandler excel.Click, AddressOf mnuItem3_Clicked
|
|
End If
|
|
|
|
|
|
If Not ContextMenuStrip3.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 mnuItem3_Clicked
|
|
ContextMenuStrip3.Items.Add(mail)
|
|
End If
|
|
|
|
|
|
|
|
ContextMenuStrip3.Show(Cursor.Position)
|
|
|
|
|
|
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 = "nicht eingearbeitet USTV-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
|
|
If dgvUSTV.SelectedRows.Count > 0 Then excelAuswertung()
|
|
|
|
ElseIf item.Name = "mail" Then
|
|
If dgvUSTV.SelectedRows.Count > 0 Then mailmitExcelauswertung()
|
|
|
|
ElseIf item.Name = "offeneAntraege" Then
|
|
If dgvUSTV.SelectedRows.Count > 0 AndAlso dgvUSTV.SelectedRows(0) IsNot Nothing AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value) AndAlso IsDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value) Then
|
|
|
|
If dgvUSTV.SelectedRows(0).Cells("UStVAn_KuNr").Value IsNot Nothing AndAlso dgvUSTV.SelectedRows(0).Cells("UStVAn_Name").Value IsNot Nothing Then
|
|
Dim frm As New frmUSTVoffeneAntraege(CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value), CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value), dgvUSTV.SelectedRows(0).Cells("UStVAn_KuNr").Value, IIf(IsDBNull(dgvUSTV.SelectedRows(0).Cells("UStVAn_Name").Value), "", dgvUSTV.SelectedRows(0).Cells("UStVAn_Name").Value))
|
|
frm.Show()
|
|
|
|
Else
|
|
Dim frm As New frmUSTVoffeneAntraege(CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value), CDate(dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value))
|
|
frm.cbxAlleoffenen.Checked = True
|
|
frm.Show()
|
|
|
|
End If
|
|
|
|
|
|
|
|
Else
|
|
|
|
Dim start_date As New Date(Today.Year, 1, 1)
|
|
Dim end_date As New Date(Today.Year, 12, 31)
|
|
|
|
Dim ADR As cAdressen = New cAdressen(kdNr)
|
|
|
|
Dim frm As New frmUSTVoffeneAntraege(start_date, end_date, kdNr, ADR.Name_1)
|
|
frm.Show()
|
|
End If
|
|
|
|
Else
|
|
MsgBox("Funktion nicht implementiert!")
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Function excelAuswertung(Optional ByRef 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, LandKz 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
|
|
inner join [Länderverzeichnis für die Außenhandelsstatistik] on UStVAn_LandNr=Landnr
|
|
where [tblUStVPositionen].UStVAn_ID ='" & dgvUSTV.SelectedRows(0).Cells("UStVAn_ID").Value & "' ORDER BY UStVPo_ID"
|
|
|
|
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
|
|
|
'filepath = ""
|
|
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,,, True)
|
|
Return True
|
|
Else
|
|
MsgBox("Keine Daten!")
|
|
Return False
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub mailmitExcelauswertung()
|
|
|
|
Try
|
|
|
|
|
|
If dgvUSTV.Columns.Count > 0 Then
|
|
|
|
Dim subject As String = ""
|
|
subject &= IIf(dgvUSTV.CurrentRow.Cells("UStVAn_Name").Value <> "", dgvUSTV.CurrentRow.Cells("UStVAn_Name").Value & "_", "")
|
|
subject &= IIf(dgvUSTV.CurrentRow.Cells("Land_Antrag").Value <> "", dgvUSTV.CurrentRow.Cells("Land_Antrag").Value & "_", "")
|
|
If (dgvUSTV.CurrentRow.Cells("UStVAn_ReDatVon").Value IsNot Nothing AndAlso dgvUSTV.CurrentRow.Cells("UStVAn_ReDatBis").Value IsNot Nothing) Then
|
|
subject &= CDate(dgvUSTV.CurrentRow.Cells("UStVAn_ReDatVon").Value).ToShortDateString & "-" & CDate(dgvUSTV.CurrentRow.Cells("UStVAn_ReDatBis").Value).ToShortDateString
|
|
End If
|
|
|
|
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 = 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()
|
|
End If
|
|
|
|
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 cbxTopMax_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTopMax.CheckedChanged
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
End Sub
|
|
|
|
Private Sub txtMaxSrch_TextChanged(sender As Object, e As EventArgs) Handles txtMaxSrch.Leave
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
End Sub
|
|
|
|
Private Sub cbxEingereicht_CheckedChanged(sender As Object, e As EventArgs) Handles cbxEingereicht.CheckStateChanged, cbxDifferenzbetrag.CheckStateChanged
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnKundendatenaktualisieren.Click
|
|
Dim ok As Boolean = False
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Try
|
|
|
|
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.setSchnittstellen(
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_PLOSE"),
|
|
False,
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_MSE_alt"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_MSE_neu"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_IDS_alt"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_IDS_neu"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_UTA_alt"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_UTA_neu"),
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("Schnittstelle_PLOSE_NEU")
|
|
)
|
|
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen(KdSearchBox1.KdNr) Then
|
|
ok = VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.UStVAKunden_SummenNeuBerechnen(KdSearchBox1.KdNr)
|
|
End If
|
|
Catch ex As Exception
|
|
Me.Cursor = Cursors.Default
|
|
End Try
|
|
|
|
If ok Then
|
|
'MsgBox("Kundendaten wurden aktualisiert!")
|
|
init()
|
|
End If
|
|
Me.Cursor = Cursors.Default
|
|
End Sub
|
|
|
|
Private Sub btnNeuerUSTVA_Click(sender As Object, e As EventArgs) Handles btnNeuerUSTVA.Click
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVA_bearbeiten", Me.FindForm) Then
|
|
MsgBox("Nicht berechtigt!")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim frm = New frmMDM_USTVAntrag(IIf(KdSearchBox1.KdNr_value > 0, KdSearchBox1.KdNr_value, -1), "AT", Nothing, Nothing)
|
|
If frm.ShowDialog() = DialogResult.Cancel Then
|
|
|
|
dgvUSTV.RELOAD()
|
|
|
|
'Dim enabl = KdSearchBox1.Enabled
|
|
'Me.init(IIf(KdSearchBox1.KdNr_value > 0, KdSearchBox1.KdNr_value, -1))
|
|
'Me.KdSearchBox1.Enabled = enabl
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub btnUSTVAloeschen_Click(sender As Object, e As EventArgs) Handles btnUSTVAloeschen.Click
|
|
|
|
If Not dgvUSTV.SelectedRows.Count = 0 Then
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVA_bearbeiten", Me.FindForm) Then
|
|
MsgBox("Nicht berechtigt!")
|
|
Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Möchten Sie den " & dgvUSTV.SelectedRows(0).Cells("Land_Antrag").Value & " Antrag von " & dgvUSTV.SelectedRows(0).Cells("UStVAn_Name").Value & "( " & dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatVon").Value & " - " & dgvUSTV.SelectedRows(0).Cells("UStVAn_ReDatBis").Value & ") wirklich löschen?", vbYesNoCancel) Then
|
|
|
|
Dim del_antrag As New cUSTVAntrag(dgvUSTV.SelectedRows(0).Cells("UStVAn_ID").Value)
|
|
|
|
If del_antrag.UStVAn_AntragEingereichtAm IsNot Nothing Then
|
|
MsgBox("Dieser Antrag wurde bereits eingereicht. Der Antrag kann nicht gelöscht werden.",, "UStV-Antrag " & del_antrag.UStVAn_ID)
|
|
Exit Sub
|
|
End If
|
|
|
|
If del_antrag.UStVAn_3470 IsNot Nothing AndAlso CDbl(del_antrag.UStVAn_3470) > 0 Then
|
|
MsgBox("Dieser Antrag enthält einen 3470-Betrag. Der Antrag kann nicht gelöscht werden.",, "UStV-Antrag " & del_antrag.UStVAn_ID)
|
|
Exit Sub
|
|
End If
|
|
|
|
If del_antrag.UStVAn_VZBetrag IsNot Nothing AndAlso CDbl(del_antrag.UStVAn_VZBetrag) > 0 Then
|
|
MsgBox("Dieser Antrag enthält einen VZ-Betrag. Der Antrag kann nicht gelöscht werden.",, "UStV-Antrag " & del_antrag.UStVAn_ID)
|
|
Exit Sub
|
|
End If
|
|
|
|
If del_antrag.UStVAn_Erstattungsbetrag IsNot Nothing AndAlso CDbl(del_antrag.UStVAn_Erstattungsbetrag) > 0 Then
|
|
MsgBox("Dieser Antrag enthält einen Erstattungsbetrag. Der Antrag kann nicht gelöscht werden.",, "UStV-Antrag " & del_antrag.UStVAn_ID)
|
|
Exit Sub
|
|
End If
|
|
|
|
'1. zuerst prüfen ob Pos aus Schnittstelle und ggf. unterbinden
|
|
For Each pos In del_antrag.POSITIONEN
|
|
If pos.UStVPo_SchnittstellenNr > 0 Then
|
|
MsgBox("Antrag enthält Positionen, die über die Schnittstelle geladen wurden." & vbNewLine & "Positionen manuell löschen!")
|
|
Exit Sub
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
'2. nur Dokumente löschen, die nicht über Schnittstellen geladen wurden oder löschbar sind!
|
|
For Each pos In del_antrag.POSITIONEN
|
|
If pos.UStVPo_SchnittstellenNr < 0 OrElse pos.UStVPo_daId_loeschbar Then
|
|
|
|
If pos.UStVPo_daId < 0 Then
|
|
|
|
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "MDM", "MDM_DATEN", "USTVA_" & pos.UStVAn_ID & "_" & pos.UStVPo_ID, "SONSTIGE", del_antrag.UStVAn_KuNr)
|
|
|
|
If DS IsNot Nothing Then DS.DELETE_COMPLETE()
|
|
|
|
ElseIf pos.UStVPo_daId > 0 Then
|
|
|
|
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(pos.UStVPo_daId)
|
|
|
|
If DS IsNot Nothing AndAlso DS.da_id IsNot Nothing Then
|
|
DS.DELETE_COMPLETE()
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
If del_antrag.DELETE() Then
|
|
init()
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnVorschau_Click(sender As Object, e As EventArgs) Handles btnVorschau.Click
|
|
Dim sqlKunden = ""
|
|
Dim sqlKundenVERAG = ""
|
|
Dim sqlKundenMSENEU = ""
|
|
Dim sqlKundenIDSALT = ""
|
|
Dim sqlKundenIDSNEU = ""
|
|
Dim sqlKundenPLOSENEU = ""
|
|
|
|
If KdSearchBox1.KdNr > 0 Then
|
|
|
|
sqlKunden = " AND Adressen.AdressenNr = " & KdSearchBox1.KdNr
|
|
sqlKundenVERAG = " AND RechnungsKundenNr = " & KdSearchBox1.KdNr
|
|
sqlKundenMSENEU = " AND partner_customer_number = " & KdSearchBox1.KdNr
|
|
sqlKundenIDSALT = " AND tblDieselArchiv.KdNrVERAG = " & KdSearchBox1.KdNr
|
|
sqlKundenIDSNEU = " AND [tblIDSTransactionsNew].KdNrVERAG = " & KdSearchBox1.KdNr
|
|
sqlKundenPLOSENEU = " AND tblPLOSE_Inv_Data.plInv_PLOSEKundennummer = " & KdSearchBox1.KdNr
|
|
|
|
|
|
End If
|
|
|
|
Dim qryUStVVorschau_VERAG As String = "SELECT 'VERAG' as LF, tblTrdinInvoice.RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, YEAR(tblTrdinInvoice.Rechnungsdatum) AS Jahr, MONTH(tblTrdinInvoice.Rechnungsdatum) as Monat, SUm(tblTrdinInvoice.SteuerbetragLokal) AS Steuerbetrag, 'EUR' as Waehrung, SUm(tblTrdinInvoice.SteuerbetragLokal) AS Steuerbetrag_EUR
|
|
FROM tblTrdinInvoice
|
|
INNER JOIN tblSteuernummern ON tblTrdinInvoice.RechnungsKundenNr = tblSteuernummern.AdressenNr
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblSteuernummern.LandNr = 38 AND tblTrdinInvoice.Rechnungsdatum >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND tblTrdinInvoice.SteuerbetragLokal <> 0 AND tblTrdinInvoice.UStVAn_ID IS NULL AND tblSteuernummern.UStV = 1 " & sqlKundenVERAG & "
|
|
GROUP BY tblTrdinInvoice.RechnungsKundenNr, tblSteuernummern.LandNr,[Länderverzeichnis für die Außenhandelsstatistik].LandKz, YEAR(tblTrdinInvoice.Rechnungsdatum), MONTH(tblTrdinInvoice.Rechnungsdatum)
|
|
/*ORDER BY tblTrdinInvoice.RechnungsKundenNr, tblSteuernummern.LandNr, YEAR(tblTrdinInvoice.Rechnungsdatum), MONTH(tblTrdinInvoice.Rechnungsdatum)*/"
|
|
|
|
Dim qryUStVVorschau_IDS_ALT As String = "SELECT 'IDS_alt' as LF, tblDieselArchiv.KdNrVERAG AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, year(tblDieselArchiv.[Year Month Day]) AS Jahr, Month(tblDieselArchiv.[Year Month Day]) AS Monat, SUM(tblDieselArchiv.[VAT Amount]) AS Steuerbetrag, 'EUR' as Waehrung, SUM(tblDieselArchiv.[VAT Amount]) AS Steuerbetrag_EUR FROM tblDieselArchiv
|
|
INNER JOIN tblSteuernummern ON tblDieselArchiv.KdNrVERAG = tblSteuernummern.AdressenNr
|
|
INNER JOIN tbl_IDS_Länder ON tbl_IDS_Länder.LandNr = tblSteuernummern.LandNr AND tblDieselArchiv.[Outlet Country Code] = tbl_IDS_Länder.OutletCountryCode
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblDieselArchiv.[Year Month Day] >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND tblDieselArchiv.[VAT Amount] <> 0 AND tblDieselArchiv.UStVAn_ID IS NULL AND tblSteuernummern.UStV = 1 " & sqlKundenIDSALT & "
|
|
GROUP BY
|
|
tblDieselArchiv.KdNrVERAG, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblDieselArchiv.[Year Month Day]), Month(tblDieselArchiv.[Year Month Day])
|
|
/*ORDER BY tblDieselArchiv.KdNrVERAG, tblSteuernummern.LandNr, Year(tblDieselArchiv.[Year Month Day]), Month(tblDieselArchiv.[Year Month Day])*/
|
|
"
|
|
|
|
Dim qryUStVVorschau_MSE_ALT As String = "SELECT 'MSE_alt' as LF,tblSteuernummern.AdressenNr AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblMSETransactionsArchiv.[Invoice Date]) AS Jahr, Month(tblMSETransactionsArchiv.[Invoice Date]) AS Monat, CAST(ROUND(SUM(tblMSETransactionsArchiv.[Original VAT Amount]) / dbo.fktEUROKurs(tblMSETransactionsArchiv.[Original Currency], tblMSETransactionsArchiv.[Invoice Date]), 2) AS DECIMAL(18, 2)) AS Steuerbetrag, 'EUR' as Waehrung, tblMSETransactionsArchiv.[Invoice Date]), 2) AS DECIMAL(18, 2)) AS Steuerbetrag_EUR FROM tblSteuernummern
|
|
INNER JOIN Adressen ON tblSteuernummern.AdressenNr = Adressen.AdressenNr
|
|
INNER JOIN tblMSETransactionsArchiv ON Adressen.MSEKundenNr = tblMSETransactionsArchiv.[Customer ID]
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblMSETransactionsArchiv.[Transaction Country] = [Länderverzeichnis für die Außenhandelsstatistik].LandKz AND tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblSteuernummern.UStV = 1 AND tblMSETransactionsArchiv.UStVAn_ID IS NULL " & sqlKunden & "
|
|
GROUP BY
|
|
tblSteuernummern.AdressenNr,
|
|
tblSteuernummern.LandNr,
|
|
[Länderverzeichnis für die Außenhandelsstatistik].LandKz,
|
|
tblMSETransactionsArchiv.[Invoice Date],
|
|
tblMSETransactionsArchiv.[Invoice ID],
|
|
tblMSETransactionsArchiv.[Original Currency]
|
|
HAVING
|
|
tblMSETransactionsArchiv.[Invoice Date] >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND SUM(tblMSETransactionsArchiv.[Original VAT Amount]) <> 0
|
|
/*ORDER BY tblSteuernummern.AdressenNr, tblSteuernummern.LandNr, tblMSETransactionsArchiv.[Invoice Date], tblMSETransactionsArchiv.[Invoice ID]*/"
|
|
|
|
Dim qryUStVVorschau_UTA_ALT As String = "SELECT 'UTA_alt' as LF,tblSteuernummern.AdressenNr AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblUTAArchiv.Rechnungsdatum) as Jahr,Month(tblUTAArchiv.Rechnungsdatum) as Monat , SUM(tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Steuerbetrag, 'EUR' as Waehrung, SUM(tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Steuerbetrag_EUR FROM tblSteuernummern
|
|
INNER JOIN Adressen ON tblSteuernummern.AdressenNr = Adressen.AdressenNr
|
|
INNER JOIN tblUTAArchiv ON Adressen.UTAKundenNr = tblUTAArchiv.Kundennummer
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblUTAArchiv.Lieferland = [Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3 AND tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblSteuernummern.UStV = 1 AND tblUTAArchiv.UStVAn_ID IS NULL " & sqlKunden & "
|
|
GROUP BY
|
|
tblSteuernummern.AdressenNr,
|
|
tblSteuernummern.LandNr,
|
|
[Länderverzeichnis für die Außenhandelsstatistik].LandKz,
|
|
tblUTAArchiv.Rechnungsdatum
|
|
|
|
HAVING
|
|
tblUTAArchiv.Rechnungsdatum >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND SUM(tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) <> 0
|
|
/*ORDER BY tblSteuernummern.AdressenNr, tblSteuernummern.LandNr, tblUTAArchiv.Rechnungsdatum*/"
|
|
|
|
Dim qryUStVVorschau_IDS_NEU As String = "SELECT 'IDS' as LF, [tblIDSTransactionsNew].KdNrVERAG AS RechnungsKundenNr,tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, year([tblIDSTransactionsNew].[YearMonthDay]) AS Jahr, Month([tblIDSTransactionsNew].[YearMonthDay]) AS Monat, SUM([tblIDSTransactionsNew].[VATAmount]) AS Steuerbetrag, 'EUR' as Waehrung, SUM([tblIDSTransactionsNew].[VATAmount]) AS Steuerbetrag_EUR
|
|
FROM tblIDSTransactionsNew
|
|
INNER JOIN dbo.tblSteuernummern ON [tblIDSTransactionsNew].KdNrVERAG = dbo.tblSteuernummern.AdressenNr
|
|
INNER JOIN dbo.tbl_IDS_Länder ON dbo.tblSteuernummern.LandNr = dbo.tbl_IDS_Länder.LandNr AND [tblIDSTransactionsNew].[OutletCountryCode] = dbo.tbl_IDS_Länder.OutletCountryCode
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE [tblIDSTransactionsNew].[YearMonthDay] >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND [tblIDSTransactionsNew].[VATAmount] <> 0 AND [tblIDSTransactionsNew].UStVAn_ID IS NULL AND tblSteuernummern.UStV = 1 " & sqlKundenIDSNEU & "
|
|
GROUP BY
|
|
[tblIDSTransactionsNew].KdNrVERAG, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year([tblIDSTransactionsNew].[YearMonthDay]) , Month([tblIDSTransactionsNew].[YearMonthDay])
|
|
/* ORDER BY [tblIDSTransactionsNew].KdNrVERAG, tblSteuernummern.LandNr, Year([tblIDSTransactionsNew].[YearMonthDay]), Month([tblIDSTransactionsNew].[YearMonthDay])*/"
|
|
|
|
Dim qryUStVVorschau_MSE_NEU As String = " select 'MSE' as LF,cust.[partner_customer_number] as RechnungsKundenNr,'' as LandNr ,trans.transaction_country as LandKZ ,Year(bills.invoice_date) as Jahr,Month(bills.invoice_date) as Monat, sum(original_vat_amount) as Steuerbetrag, original_currency as Waehrung, sum(USteuer_EUR) as Steuerbetrag_EUR
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.invoice_id = bills.invoice_number
|
|
left join dbo.tblSteuernummern on dbo.tblSteuernummern.AdressenNr = trans.partner_haulier_id and dbo.tblSteuernummern.LandKZ = trans.transaction_country
|
|
where bills.invoice_date >= CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
and inv.archiv <> 1 and dbo.tblSteuernummern.UStV = 1 and trans.charged = 1 AND inv.UStVAn_ID IS NULL " & sqlKundenMSENEU & "
|
|
group by cust.[partner_customer_number],trans.transaction_country,original_currency, Year(bills.invoice_date) ,Month(bills.invoice_date)
|
|
HAVING SUM(USteuer_EUR) <> 0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dim qryUStVVorschau_UTA_NEU As String = "SELECT 'UTA' as LF,tblSteuernummern.AdressenNr AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblUTAImportNew.Rechnungsdatum) as Jahr,Month(tblUTAImportNew.Rechnungsdatum) as Monat , SUM(tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Steuerbetrag, 'EUR' as Wahrung, SUM(tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Steuerbetrag_EUR FROM tblSteuernummern
|
|
INNER JOIN Adressen ON tblSteuernummern.AdressenNr = Adressen.AdressenNr
|
|
INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblUTAImportNew.Lieferland = [Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3 AND tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblSteuernummern.UStV = 1 AND tblUTAImportNew.UStVAn_ID IS NULL " & sqlKunden & "
|
|
GROUP BY
|
|
tblSteuernummern.AdressenNr,
|
|
tblSteuernummern.LandNr,
|
|
[Länderverzeichnis für die Außenhandelsstatistik].LandKz,
|
|
tblUTAImportNew.Rechnungsdatum
|
|
|
|
HAVING
|
|
tblUTAImportNew.Rechnungsdatum >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND SUM(tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) <> 0
|
|
/*ORDER BY tblSteuernummern.AdressenNr, tblSteuernummern.LandNr, tblUTAImportNew.Rechnungsdatum*/"
|
|
|
|
|
|
Dim qryUStVVorschau_PLOSE_NEUE_LOGIK As String = "SELECT 'PLOSE' as LF, tblPLOSE_Inv_Data.plInv_PLOSEKundennummer AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, year(tblPLOSE_Inv_Data.[plInv_SupplierRechnungsDatum]) AS Jahr, Month(tblPLOSE_Inv_Data.[plInv_SupplierRechnungsDatum]) AS Monat, SUM(tblPLOSE_Inv_Data.[plInv_MWSTBetrag]) AS Steuerbetrag, isnull(plInv_Currency,'') as Wahrung, CAST(ROUND(SUM(tblPLOSE_Inv_Data.[plInv_MWSTBetrag]) / dbo.fktEUROKurs(plInv_Currency, max(tblPLOSE_Inv_Data.plInv_SupplierRechnungsDatum)), 2) AS DECIMAL(18, 2)) AS Steuerbetrag_EUR FROM tblPLOSE_Inv_Data
|
|
INNER JOIN Adressen ON tblPLOSE_Inv_Data.plInv_PLOSEKundennummer = Adressen.PLOSEKundenNr
|
|
INNER JOIN tblSteuernummern ON Adressen.AdressenNr = tblSteuernummern.AdressenNr and [tblPLOSE_Inv_Data].plInv_SupplierCountry = tblSteuernummern.LandKZ
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblPLOSE_Inv_Data.plInv_SupplierRechnungsDatum >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND tblPLOSE_Inv_Data.plInv_MWSTBetrag <> 0 AND tblPLOSE_Inv_Data.plInv_UStVAn_ID IS NULL AND tblSteuernummern.UStV = 1 " & sqlKunden & "
|
|
GROUP BY
|
|
tblPLOSE_Inv_Data.plInv_PLOSEKundennummer, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblPLOSE_Inv_Data.plInv_SupplierRechnungsDatum), Month(tblPLOSE_Inv_Data.plInv_SupplierRechnungsDatum), plInv_Currency
|
|
"
|
|
|
|
|
|
'plose_MWSTBetragWaehrungAbbuchung ist IMMER in EUR!!!!
|
|
Dim qryUStVVorschau_PLOSE_ALTE_LOGIK As String = " SELECT 'PLOSE_alt' as LF, tblPLOSE_Details.plose_POLSEKundennummer AS RechnungsKundenNr, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, year(tblPLOSE_Details.plose_RechnungsDatum) AS Jahr, Month(tblPLOSE_Details.plose_RechnungsDatum) AS Monat, SUM(tblPLOSE_Details.plose_MWSTBetragWaehrungAbbuchung) AS Steuerbetrag, 'EUR' as Wahrung, SUM(tblPLOSE_Details.plose_MWSTBetragWaehrungAbbuchung) AS Steuerbetrag_EUR FROM tblPLOSE_Details
|
|
INNER JOIN tblPLOSE_Produktbeschreibung ON [plp_ProductCode]=[plose_ProduktCode]
|
|
INNER JOIN Adressen ON tblPLOSE_Details.plose_POLSEKundennummer = Adressen.PLOSEKundenNr
|
|
INNER JOIN tblSteuernummern ON Adressen.AdressenNr = tblSteuernummern.AdressenNr AND tblSteuernummern.LandKZ = tblPLOSE_Produktbeschreibung.plp_Land
|
|
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] ON tblSteuernummern.LandNr = [Länderverzeichnis für die Außenhandelsstatistik].LandNr
|
|
WHERE tblPLOSE_Details.plose_RechnungsDatum >=
|
|
CASE
|
|
WHEN GETDATE() > CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-06-30' AS DATE)
|
|
THEN CAST(CAST(YEAR(GETDATE()) AS VARCHAR) + '-01-01' AS DATE)
|
|
ELSE CAST(CAST(YEAR(GETDATE()) - 1 AS VARCHAR) + '-01-01' AS DATE)
|
|
END
|
|
AND tblPLOSE_Details.plose_MWSTBetragWaehrungAbbuchung <> 0 AND tblPLOSE_Details.UStVAn_ID IS NULL AND tblSteuernummern.UStV = 1 and plose_LieferantCode IN (1,7,9) " & sqlKunden & "
|
|
GROUP BY
|
|
tblPLOSE_Details.plose_POLSEKundennummer, tblSteuernummern.LandNr, [Länderverzeichnis für die Außenhandelsstatistik].LandKz, Year(tblPLOSE_Details.plose_RechnungsDatum), Month(tblPLOSE_Details.plose_RechnungsDatum)
|
|
|
|
"
|
|
|
|
|
|
|
|
Dim union As String = " UNION ALL "
|
|
Dim sqlQery = qryUStVVorschau_VERAG & union & qryUStVVorschau_IDS_ALT & union & qryUStVVorschau_UTA_ALT & union & qryUStVVorschau_IDS_NEU & union & qryUStVVorschau_UTA_NEU & union & qryUStVVorschau_MSE_NEU & union & qryUStVVorschau_PLOSE_ALTE_LOGIK & union & qryUStVVorschau_PLOSE_NEUE_LOGIK 'qryUStVVorschau_VERAG & union & qryUStVVorschau_IDS_ALT & union & qryUStVVorschau_UTA_ALT & union & qryUStVVorschau_IDS_NEU & union & qryUStVVorschau_UTA_NEU & union & qryUStVVorschau_MSE_NEU & union & qryUStVVorschau_MSE_ALT & union & qryUStVVorschau_PLOSE_ALTE_LOGIK & union & qryUStVVorschau_PLOSE_NEUE_LOGIK
|
|
|
|
|
|
|
|
Dim dtVorschau As DataTable = SQL.loadDgvBySql(sqlQery, "FMZOLL")
|
|
|
|
If dtVorschau.Columns.Contains("LandNr") Then dtVorschau.Columns.Remove("LandNr")
|
|
|
|
cProgramFunctions.genExcelFromDT_NEW(dtVorschau, {"G1:G" & (dtVorschau.Rows.Count + 1)},,,,, True)
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub setInfo(kdnr As Integer)
|
|
|
|
If kdnr > 0 Then
|
|
Panel1.BackColor = Color.FromArgb(240, 245, 255)
|
|
Dim KUNDE As New cKunde(kdnr)
|
|
Dim KUNDE_ERW As New cKundenErweitert(kdnr)
|
|
If KUNDE.Abfertigungsverbot Then Panel1.BackColor = Color.IndianRed
|
|
If KUNDE_ERW.kde_AnmerkungVZ IsNot Nothing Then
|
|
lblVZhint.Text = KUNDE_ERW.kde_AnmerkungVZ
|
|
lblFRhint.Text = KUNDE_ERW.kde_AnmerkungFR
|
|
Else
|
|
|
|
End If
|
|
lblVZKunde.Visible = KUNDE_ERW.kde_VZ
|
|
lblFR.Visible = KUNDE_ERW.kde_FR
|
|
|
|
Else
|
|
|
|
lblVZKunde.Visible = False
|
|
lblFR.Visible = False
|
|
lblVZhint.Text = ""
|
|
lblFRhint.Text = ""
|
|
Panel1.BackColor = Color.FromArgb(240, 245, 255)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub mnuItem3_Clicked(sender As Object, e As EventArgs)
|
|
|
|
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
|
|
|
Dim sqlKunde = ""
|
|
Dim sqlKundeadmin = ""
|
|
If KdSearchBox1.KdNr > 0 Then
|
|
sqlKunde = " And A.AdressenNr = " & KdSearchBox1.KdNr
|
|
sqlKundeadmin = " AND [api_KundenNr] = " & KdSearchBox1.KdNr
|
|
End If
|
|
|
|
If item IsNot Nothing Then
|
|
|
|
If item.Name = "dgv" Then
|
|
|
|
Try
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim frm As New Form
|
|
frm.Text = "Finanzamt-Bestätigung E-Mails"
|
|
Dim dgv As New DataGridView()
|
|
Dim dt As DataTable = SQL.loadDgvBySql(" select [api_datetime] as erstelltAm,[api_EMail] as An ,[api_EMailCC] as CC,[api_EMailBCC] as BCC,[api_EMailSubject] as Betreff,[api_EMailAttCnt] as Anzahl_Anhänge, [api_KundenNr] as KundenNr, [api_Username] as erstelltVon from [tblAPI] where [api_apiUArt] = 'FA-Bestaetigung' AND api_progName = 'SDL'" & sqlKundeadmin & " Order by api_datetime desc", "ADMIN")
|
|
|
|
dgv.DataSource = dt
|
|
If dgv IsNot Nothing Then
|
|
frm.Size = New Size(1000, 1000)
|
|
dgv.Size = New Size(frm.Size.Width - 10, frm.Size.Height - 10)
|
|
dgv.Dock = DockStyle.Fill
|
|
dgv.Anchor = AnchorStyles.Left
|
|
dgv.Anchor = AnchorStyles.Top
|
|
dgv.ReadOnly = True
|
|
frm.Controls.Add(dgv)
|
|
frm.StartPosition = FormStartPosition.CenterScreen
|
|
frm.ShowDialog()
|
|
If dgv.ColumnCount > 0 AndAlso dgv.Columns.Contains("An") Then dgv.Columns("An").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
End If
|
|
|
|
|
|
Catch ex As System.Exception
|
|
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
|
|
Else
|
|
|
|
Dim f As New frmDatumsabfrage("Bitte Prüfdatum eingeben", False, True)
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
|
|
Dim pruefdatum As Date = CDate(f.Datum)
|
|
|
|
Dim sqlQery = "Select A.AdressenNr, A.[E-Mail], A.[E-Mail2], A.LandKz as KundeLand, A.Ordnungsbegriff,L.LandKz as SteuerLandKz, S.StNrFürRückerstattungUSt, S.StNrGültigkeitsdatum, CAST('" & pruefdatum & "' AS DATE) AS Prüfdatum,
|
|
CASE
|
|
WHEN S.StNrGültigkeitsdatum > CAST('" & pruefdatum & "' AS DATE) THEN 1 ELSE 0
|
|
END AS Gültig
|
|
FROM [Länderverzeichnis für die Außenhandelsstatistik] L INNER JOIN (Adressen A INNER JOIN Währungstabelle W ON A.LandKz = W.LandKz INNER JOIN tblSteuernummern S ON A.AdressenNr = S.AdressenNr) ON L.LandNr = S.LandNr
|
|
WHERE S.StNrGültigkeitsdatum IS NOT NULL AND W.MitgliedslandEU = 0 " & IIf(sqlKunde <> "", sqlKunde, "") & IIf(f.cbxKunden.Checked, " AND A.AdressenNr between " & f.cboKundenkreis._value.Replace("-", " AND "), "")
|
|
|
|
Dim dtVorschau As DataTable = SQL.loadDgvBySql(sqlQery, "FMZOLL")
|
|
|
|
ContextMenuStrip3.Hide()
|
|
|
|
If dtVorschau.Rows.Count = 0 Then Exit Sub
|
|
|
|
|
|
If item.Name = "excel" Then
|
|
|
|
If dtVorschau.Columns.Contains("E-Mail") Then dtVorschau.Columns.Remove("E-Mail")
|
|
If dtVorschau.Columns.Contains("E-Mail2") Then dtVorschau.Columns.Remove("E-Mail2")
|
|
|
|
cProgramFunctions.genExcelFromDT_NEW(dtVorschau,,,,,, True)
|
|
|
|
ElseIf item.Name = "mail" Then
|
|
|
|
Dim displayView = New DataView(dtVorschau, "Gültig = 0", "AdressenNr", DataViewRowState.CurrentRows)
|
|
Dim distinctDT As DataTable = displayView.ToTable(True, "AdressenNr")
|
|
|
|
If distinctDT.Rows.Count = 0 Then
|
|
MsgBox("Zu diesem Datum sind alle FA-Bestätigung gültig!")
|
|
Exit Sub
|
|
End If
|
|
|
|
If Not vbYes = MsgBox("Es werden Emails für " & distinctDT.Rows.Count & " unterschiedliche/n Kunden erstellt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then Exit Sub
|
|
|
|
For Each row In distinctDT.Rows
|
|
|
|
Dim dt_Data_selected = dtVorschau.Select("AdressenNr ='" & row.Item(0) & "' AND Gültig = 0").CopyToDataTable
|
|
|
|
Try
|
|
|
|
Dim outl As New Outlook.Application
|
|
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
|
Mail = outl.CreateItem(0)
|
|
|
|
|
|
Mail.Subject = "PDV UVERENJA"
|
|
|
|
Dim TextHTML = ""
|
|
TextHTML &= "Postovani,<br>"
|
|
TextHTML &= "<br>"
|
|
TextHTML &= "isteklo nam je staro porezno Uvjerenje i potrebno je da nam dostavite hitno nova za sljedece zemlje.<br><br>"
|
|
|
|
Dim attachmentSRB As Boolean = False
|
|
Dim attachmentBIH As Boolean = False
|
|
Dim attachmentSK As Boolean = False
|
|
Dim attachmentHR As Boolean = False
|
|
|
|
For Each r In dt_Data_selected.Rows
|
|
|
|
'steuerland!
|
|
If Not IsDBNull(r.item("SteuerLandKz")) Then
|
|
Select Case r.item("SteuerLandKz")
|
|
Case "HU" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju mora biti naveden datum kad ste registrovani kao PDV obaveznik, prevedite na Madarski, potpis sluzbene osobe ne smije biti faksimil mora bit vlastorucan)</li></b><br><br>"
|
|
Case "SI" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju mora biti naveden datum kad ste registrovani kao PDV obaveznik, prevedite na Slovenacki)</li></b><br><br>"
|
|
Case "LU" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju obavezno navedite sifru djelatnosti 4941, prevesti na Engleski)</li></b><br><br>"
|
|
Case "SK" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju mora biti naveden datum kad ste registrovani kao PDV obaveznik, prevedite na Engleski)</li></b><br><br>" : attachmentSK = False 'attachmentSK = true -> nicht mehr mitschicken!
|
|
Case "RO" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju mora biti naveden datum kad ste registrovani kao PDV obaveznik, prevedite na Rumonski)</li></b><br><br>"
|
|
Case "HR" : TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (Na uverenju mora biti naveden datum kad ste registrovani kao PDV obaveznik, " & IIf(Not IsDBNull(r.item("KundeLand")) AndAlso r.item("KundeLand") = "BIH", "trazite da Vam izdaju uvjerenja na latinici da izbjegnete trosak prijevoda na Hrvatski jezik.", "prevedite na Hrvatski") & ")</li></b><br><br>" : attachmentHR = False 'attachmentHR = true -> nicht mehr mitschicken!
|
|
Case Else
|
|
TextHTML &= "<li><b>" & r.item("SteuerLandKz") & " (prevod na Engleski)</li></b><br><br>"
|
|
End Select
|
|
|
|
End If
|
|
|
|
'kundeland
|
|
If Not IsDBNull(r.item("KundeLand")) Then
|
|
Select Case r.item("KundeLand")
|
|
Case "SRB" : attachmentSRB = True
|
|
Case "BIH" : attachmentBIH = True
|
|
End Select
|
|
End If
|
|
|
|
Next
|
|
|
|
TextHTML &= "<br><br>Molim Vas da nam original uverenja + prijevod dostavite pojedinacno za svaku zemlju, znaci koliko zemalja toliko uverenja I prevoda.<br><br>"
|
|
TextHTML &= "U privitku se nalazi primjer uverenja (u smislu sadrzaja)<br><br>"
|
|
TextHTML &= "za pitanja stojim na raspolaganju!<br><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>"
|
|
|
|
If Not IsDBNull(dt_Data_selected.Rows(0).Item("E-Mail")) Then Mail.To &= dt_Data_selected.Rows(0).Item("E-Mail") & ";"
|
|
'If Not IsDBNull(dt_Data_selected.Rows(0).Item("E-Mail2")) Then Mail.To &= dt_Data_selected.Rows(0).Item("E-Mail2") & ";"
|
|
|
|
If attachmentSRB Then
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VORLAGEN", "SONSTIGE", "MDM", "", "SRB_FA_BESTAETIGUNG")
|
|
Dim filepath = DS.GET_TOP1_PATH(False)
|
|
If filepath <> "" Then Mail.Attachments.Add(filepath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
|
|
End If
|
|
|
|
If attachmentBIH Then
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VORLAGEN", "SONSTIGE", "MDM", "", "BIH_FA_BESTAETIGUNG")
|
|
Dim filepath = DS.GET_TOP1_PATH(False)
|
|
If filepath <> "" Then Mail.Attachments.Add(filepath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
End If
|
|
|
|
If attachmentSK Then
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VORLAGEN", "SONSTIGE", "MDM", "", "SVK_FA_BESTAETIGUNG")
|
|
Dim filepath = DS.GET_TOP1_PATH(False)
|
|
If filepath <> "" Then Mail.Attachments.Add(filepath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
End If
|
|
|
|
|
|
If attachmentHR Then
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VORLAGEN", "SONSTIGE", "MDM", "", "HR_FA_BESTAETIGUNG")
|
|
Dim filepath = DS.GET_TOP1_PATH(False)
|
|
If filepath <> "" Then Mail.Attachments.Add(filepath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
|
|
End If
|
|
|
|
|
|
Mail.Display()
|
|
|
|
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_FA, "FA-Bestaetigung",,, row.Item(0))
|
|
API.api_EMail = Mail.To
|
|
API.api_EMailSubject = Mail.Subject
|
|
API.api_EMailText = TextHTML
|
|
API.api_EMailAttCnt = Mail.Attachments.Count
|
|
API.SAVE()
|
|
|
|
|
|
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
|
|
Next
|
|
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub btnWikiStatusmails_Click(sender As Object, e As EventArgs) Handles btnWikiStatusmails.Click
|
|
|
|
Dim webAddress As String = "https://wiki.verag.ag/software/sdl/ustva"
|
|
Process.Start(webAddress)
|
|
|
|
End Sub
|
|
|
|
Private Sub cbxVZnichtabgerechnet_CheckStateChanged(sender As Object, e As EventArgs) Handles cbxVZnichtabgerechnet.CheckStateChanged
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
End Sub
|
|
|
|
Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSucheID.KeyDown
|
|
|
|
If e.KeyCode = Keys.Enter Then
|
|
If txtSucheID.Text <> "" AndAlso IsNumeric(txtSucheID.Text) Then
|
|
If loaded = False Then Exit Sub
|
|
init(kdNr, txtSucheID.Text)
|
|
Else
|
|
If loaded = False Then Exit Sub
|
|
init()
|
|
End If
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles MyComboBox1.SelectedIndexChanged
|
|
|
|
|
|
If loaded = False Then Exit Sub
|
|
|
|
If txtSucheID.Text <> "" AndAlso IsNumeric(txtSucheID.Text) Then
|
|
init(kdNr, txtSucheID.Text, MyComboBox1._value)
|
|
Else
|
|
init(kdNr, , MyComboBox1._value)
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub filterAntragsLand()
|
|
|
|
If Not MyComboBox1._value <> "" Then
|
|
MyComboBox1.Items.Clear()
|
|
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
Dim list As New List(Of String)
|
|
For Each r As DataGridViewRow In dgvUSTV.Rows
|
|
|
|
If r.Cells("Land_Antrag").Value IsNot Nothing And r.Cells("Land_Antrag").Value <> "" Then
|
|
|
|
If Not list.Any(Function(c) c = r.Cells("Land_Antrag").Value) Then
|
|
list.Add(r.Cells("Land_Antrag").Value)
|
|
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
If list.Count > 1 Then
|
|
list.OrderBy(Function(x) x.ToString)
|
|
End If
|
|
|
|
For Each l In list
|
|
Dim listItem As New VERAG_PROG_ALLGEMEIN.MyListItem(l, l)
|
|
MyComboBox1.Items.Add(listItem)
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
|
|
|
Dim sqlKunde = ""
|
|
Dim whereStr = ""
|
|
If KdSearchBox1.KdNr > 0 Then
|
|
sqlKunde = " And AdressenNr = " & KdSearchBox1.KdNr
|
|
End If
|
|
|
|
|
|
If cboJahr._value <> "" Then
|
|
If cboJahrBis._value <> "" Then
|
|
whereStr &= " AND tblUStVAntrag.UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND tblUStVAntrag.UStVAn_ReDatBis<='31.12." & cboJahrBis._value & "' "
|
|
Else
|
|
whereStr &= " AND tblUStVAntrag.UStVAn_ReDatVon>='01.01." & cboJahr._value & "' AND tblUStVAntrag.UStVAn_ReDatBis<='31.12." & cboJahr._value & "' "
|
|
End If
|
|
End If
|
|
|
|
If txtSucheID.Text <> "" AndAlso IsNumeric(txtSucheID.Text) AndAlso txtSucheID.Text > 0 Then
|
|
whereStr &= " AND UStVAn_ID=" & txtSucheID.Text & " "
|
|
End If
|
|
|
|
If MyComboBox1._value <> "" Then whereStr &= " AND dbo.Adressen.LandKz='" & MyComboBox1._value & "' "
|
|
|
|
|
|
|
|
|
|
|
|
Dim sqlQery = "SELECT dbo.tblUStVAntrag.UStVAn_ID, dbo.tblUStVAntrag.UStVAn_KuNr, dbo.tblUStVAntrag.UStVAn_ReDatVon,
|
|
dbo.tblUStVAntrag.UStVAn_ReDatBis,
|
|
dbo.tblUStVAntrag.UStVAn_Ausstellungsdatum,
|
|
(SELECT LandKz from [Länderverzeichnis für die Außenhandelsstatistik] where LandNr = dbo.tblUStVAntrag.UStVAn_LandNr) as AntragsLand,
|
|
dbo.tblUStVAntrag.UStVAn_VZDatum, dbo.tblUStVAntrag.UStVAn_VZBetrag, dbo.tblUStVAntrag.UStVAn_RZBetragVZ, dbo.Adressen.Ordnungsbegriff, dbo.Adressen.LandKz, ISNULL
|
|
((SELECT SUM(UStVEr_USteuerbetragEUR) AS Expr1
|
|
FROM dbo.tblUStVErstattung
|
|
WHERE (UStVAn_ID = dbo.tblUStVAntrag.UStVAn_ID)), 0) AS Erstattungsbetrag, CASE WHEN ([UStVAn_VZBetrag] - ISNULL([UStVAn_RZBetragVZ], 0) - ISNULL
|
|
((SELECT SUM(dbo.tblUStVErstattung.UStVEr_USteuerbetragEUR)
|
|
FROM dbo.tblUStVErstattung
|
|
WHERE dbo.tblUStVErstattung.UStVAn_ID = dbo.tblUStVAntrag.UStVAn_ID), 0)) > 0 THEN [UStVAn_VZBetrag] - ISNULL([UStVAn_RZBetragVZ], 0) - ISNULL
|
|
((SELECT SUM(dbo.tblUStVErstattung.UStVEr_USteuerbetragEUR)
|
|
FROM dbo.tblUStVErstattung
|
|
WHERE dbo.tblUStVErstattung.UStVAn_ID = dbo.tblUStVAntrag.UStVAn_ID), 0) ELSE 0 END AS UStVAn_VZBetragAktuell
|
|
FROM dbo.tblUStVAntrag INNER JOIN
|
|
dbo.Adressen ON dbo.tblUStVAntrag.UStVAn_KuNr = dbo.Adressen.AdressenNr
|
|
WHERE (dbo.tblUStVAntrag.UStVAn_VZBetrag IS NOT NULL)" & sqlKunde & whereStr
|
|
|
|
Dim dtVorauszahlung As DataTable = SQL.loadDgvBySql(sqlQery, "FMZOLL")
|
|
|
|
ContextMenuStrip3.Hide()
|
|
|
|
If dtVorauszahlung.Rows.Count = 0 Then
|
|
MsgBox("keine Daten!")
|
|
Exit Sub
|
|
Else
|
|
For Each col In dtVorauszahlung.Columns
|
|
|
|
Dim colName = col.ColumnName.Replace("UStVAn_", "")
|
|
|
|
If Not col.ColumnName.Contains(colName) Then col.ColumnName = col.ColumnName.Replace("UStVAn_", "")
|
|
|
|
Next
|
|
|
|
End If
|
|
|
|
|
|
cProgramFunctions.genExcelFromDT_NEW(dtVorauszahlung,,,,,, True)
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
|
|
|
|
|
Dim sqlStr = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KundenNr,[UStVAn_Name] as Kundename,Adressen.LandKz as Land_Kunde, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA .LandKz Land_Antrag,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as Währung,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, UStVAn_VZBetrag as Vorauszahlungsbetrag, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr
|
|
FROM [tblUStVAntrag]
|
|
inner join [Länderverzeichnis für die Außenhandelsstatistik] as LfdA on UStVAn_LandNr=Landnr
|
|
inner join Adressen on AdressenNr=UStVAn_KuNr
|
|
left join [tblSteuernummern] as stnr on stnr.AdressenNr = UStVAn_KuNr and stnr.LandNr=UStVAn_LandNr
|
|
where 1=1 AND UStVAn_AntragEingereichtAm is null
|
|
order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LfdA .LandKz,[UStVAn_ReDatVon] desc"
|
|
|
|
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
cProgramFunctions.genExcelFromDT_NEW(dt, {"J1:M" & (dt.Rows.Count + 1)},,,,, True)
|
|
Else
|
|
MsgBox("Keine Daten!")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
End Class
|