ustva_antrag
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
|
||||
Imports itextsharp.text.pdf
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class ustCntlUSTV_AntragPosition
|
||||
@@ -611,133 +612,169 @@ Public Class ustCntlUSTV_AntragPosition
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnAPIUbload_Click(sender As Object, e As EventArgs) Handles btnAPIUbload.Click
|
||||
If API IsNot Nothing Then
|
||||
If vbYes = MsgBox("Möchten Sie die Rechnungsdaten per ATEZ-API auslesen lassen?", vbYesNoCancel) Then
|
||||
Private Sub mnuItemKIUPLOAD_Clicked(sender As Object, e As EventArgs)
|
||||
|
||||
cnS_KIUPLOAD.Hide()
|
||||
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
||||
|
||||
If UStV_POS.UStVPo_daId < 1 Then Exit Sub
|
||||
|
||||
If item IsNot Nothing Then
|
||||
|
||||
|
||||
Dim dt As New DataTable
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("currency") Then
|
||||
|
||||
dt.Columns.Add("currency", GetType(String))
|
||||
dt.Columns.Add("seller_VAT_id", GetType(String))
|
||||
dt.Columns.Add("seller_address_city", GetType(String))
|
||||
dt.Columns.Add("seller_address_country", GetType(String))
|
||||
dt.Columns.Add("seller_address_postcode", GetType(String))
|
||||
dt.Columns.Add("seller_address_street", GetType(String))
|
||||
dt.Columns.Add("seller_name", GetType(String))
|
||||
dt.Columns.Add("total_VAT_amount", GetType(Double))
|
||||
dt.Columns.Add("invoice_id", GetType(String))
|
||||
dt.Columns.Add("invoice_date", GetType(String))
|
||||
dt.Columns.Add("status", GetType(String))
|
||||
dt.Columns.Add("document_count", GetType(Integer))
|
||||
End If
|
||||
|
||||
Dim failreDesc As String
|
||||
Dim authResp = API.authenticate("VAT", "client1", "password")
|
||||
Dim resp
|
||||
If authResp <> "200" Then
|
||||
MsgBox("Authentifizierung fehlgeschlagen" & vbNewLine & authResp)
|
||||
Exit Sub
|
||||
Else
|
||||
'If API.SendRequestWithAuthHeader("application/json", failreDesc, "/health", "GET") = "200" Then
|
||||
|
||||
'document_type = vat_invoice or receipt
|
||||
If API.setJsonVAT("vat_invoice", UStV_POS.UStVPo_daId) Then
|
||||
|
||||
resp = API.SendRequestWithAuthHeader("application/json", failreDesc, "/process", "POST", dt)
|
||||
If API IsNot Nothing Then
|
||||
If vbYes = MsgBox("Möchten Sie die Rechnungsdaten per ATEZ-API auslesen lassen?", vbYesNoCancel) Then
|
||||
|
||||
|
||||
If dt.Rows.Count > 0 Then
|
||||
Dim dt As New DataTable
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("currency") Then
|
||||
|
||||
dt.Columns.Add("count", GetType(Integer))
|
||||
dt.Columns.Add("currency", GetType(String))
|
||||
dt.Columns.Add("seller_VAT_id", GetType(String))
|
||||
dt.Columns.Add("seller_address_city", GetType(String))
|
||||
dt.Columns.Add("seller_address_country", GetType(String))
|
||||
dt.Columns.Add("seller_address_postcode", GetType(String))
|
||||
dt.Columns.Add("seller_address_street", GetType(String))
|
||||
dt.Columns.Add("seller_name", GetType(String))
|
||||
dt.Columns.Add("total_VAT_amount", GetType(Double))
|
||||
dt.Columns.Add("invoice_id", GetType(String))
|
||||
dt.Columns.Add("invoice_date", GetType(String))
|
||||
dt.Columns.Add("status", GetType(String))
|
||||
dt.Columns.Add("document_count", GetType(Integer))
|
||||
End If
|
||||
|
||||
Dim failreDesc As String
|
||||
Dim authResp = API.authenticate("VAT", "client1", "password")
|
||||
Dim resp
|
||||
If authResp <> "200" Then
|
||||
MsgBox("Authentifizierung fehlgeschlagen" & vbNewLine & authResp)
|
||||
Exit Sub
|
||||
Else
|
||||
'If API.SendRequestWithAuthHeader("application/json", failreDesc, "/health", "GET") = "200" Then
|
||||
|
||||
'document_type = vat_invoice or receipt
|
||||
If API.setJsonVAT(item.Name, UStV_POS.UStVPo_daId) Then
|
||||
|
||||
resp = API.SendRequestWithAuthHeader("application/json", failreDesc, "/process", "POST", dt)
|
||||
|
||||
|
||||
Dim f As New frmVAT_ATEZ()
|
||||
f.usrcntlVAT_ATEZ1.initDGV(dt)
|
||||
If f.ShowDialog = DialogResult.OK Then
|
||||
txtRgDatum.Text = f.usrcntlVAT_ATEZ1.va.invoice_date
|
||||
txtRgNr.Text = f.usrcntlVAT_ATEZ1.va.invoice_id
|
||||
txtStrasse.Text = f.usrcntlVAT_ATEZ1.va.seller_address_street
|
||||
txtOrt.Text = f.usrcntlVAT_ATEZ1.va.seller_address_city
|
||||
txtLand.Text = f.usrcntlVAT_ATEZ1.va.seller_address_country
|
||||
txtPLZ.Text = f.usrcntlVAT_ATEZ1.va.seller_address_postcode
|
||||
sbLeistender._value = f.usrcntlVAT_ATEZ1.va.seller_name
|
||||
If IsNumeric(f.usrcntlVAT_ATEZ1.va.total_VAT_amount) AndAlso f.usrcntlVAT_ATEZ1.va.total_VAT_amount <> 0 AndAlso f.usrcntlVAT_ATEZ1.va.currency <> "" Then
|
||||
Dim antr As New cUSTVAntrag(UStV_POS.UStVAn_ID)
|
||||
If dt.Rows.Count > 0 Then
|
||||
|
||||
'1. Antragswährung = Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If f.usrcntlVAT_ATEZ1.va.currency = antr.UStVAn_Währungscode Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode)
|
||||
If antr.UStVAn_Währungscode = "EUR" Then
|
||||
txtUSTBetragEUR.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
If antr.UStVAn_Währungscode <> "EUR" Then
|
||||
txtUSTBetrag.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
Else
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUmrechnungskurs.Text = 1
|
||||
End If
|
||||
|
||||
Else
|
||||
Dim f As New frmVAT_ATEZ()
|
||||
f.usrcntlVAT_ATEZ1.initDGV(dt)
|
||||
If f.ShowDialog = DialogResult.OK Then
|
||||
txtRgDatum.Text = f.usrcntlVAT_ATEZ1.va.invoice_date
|
||||
txtRgNr.Text = f.usrcntlVAT_ATEZ1.va.invoice_id
|
||||
txtStrasse.Text = f.usrcntlVAT_ATEZ1.va.seller_address_street
|
||||
txtOrt.Text = f.usrcntlVAT_ATEZ1.va.seller_address_city
|
||||
txtLand.Text = f.usrcntlVAT_ATEZ1.va.seller_address_country
|
||||
txtPLZ.Text = f.usrcntlVAT_ATEZ1.va.seller_address_postcode
|
||||
sbLeistender._value = f.usrcntlVAT_ATEZ1.va.seller_name
|
||||
If IsNumeric(f.usrcntlVAT_ATEZ1.va.total_VAT_amount) AndAlso f.usrcntlVAT_ATEZ1.va.total_VAT_amount <> 0 AndAlso f.usrcntlVAT_ATEZ1.va.currency <> "" Then
|
||||
Dim antr As New cUSTVAntrag(UStV_POS.UStVAn_ID)
|
||||
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_CURTOEUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If antr.UStVAn_Währungscode = "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(f.usrcntlVAT_ATEZ1.va.currency)
|
||||
If f.usrcntlVAT_ATEZ1.va.currency <> "EUR" Then
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
ElseIf f.usrcntlVAT_ATEZ1.va.currency = "EUR" Then
|
||||
txtUSTBetrag.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUSTBetragEUR.Text = txtUSTBetrag.Text
|
||||
txtUmrechnungskurs.Text = 1
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
|
||||
|
||||
txtUSTBetrag.Text = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, antr.UStVAn_Währungscode)
|
||||
'1. Antragswährung = Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If f.usrcntlVAT_ATEZ1.va.currency = antr.UStVAn_Währungscode Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode)
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_CURTOEUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
If antr.UStVAn_Währungscode = "EUR" Then
|
||||
txtUSTBetragEUR.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
If antr.UStVAn_Währungscode <> "EUR" Then
|
||||
txtUSTBetrag.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
Else
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUmrechnungskurs.Text = 1
|
||||
End If
|
||||
|
||||
End If
|
||||
Else
|
||||
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_CURTOEUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If antr.UStVAn_Währungscode = "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(f.usrcntlVAT_ATEZ1.va.currency)
|
||||
If f.usrcntlVAT_ATEZ1.va.currency <> "EUR" Then
|
||||
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
ElseIf f.usrcntlVAT_ATEZ1.va.currency = "EUR" Then
|
||||
txtUSTBetrag.Text = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUSTBetragEUR.Text = txtUSTBetrag.Text
|
||||
txtUmrechnungskurs.Text = 1
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
|
||||
|
||||
txtUSTBetrag.Text = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, antr.UStVAn_Währungscode)
|
||||
Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode)
|
||||
txtUSTBetragEUR.Text = Math.Round(kurs.EXCHANGE_CURTOEUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
|
||||
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Else
|
||||
Else
|
||||
|
||||
MsgBox(resp)
|
||||
MsgBox(resp)
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
'Else
|
||||
' MsgBox("Service is not running!")
|
||||
|
||||
'End If
|
||||
End If
|
||||
|
||||
'Else
|
||||
' MsgBox("Service is not running!")
|
||||
|
||||
'End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnAPIUbload_Click(sender As Object, e As EventArgs) Handles btnAPIUbload.Click
|
||||
|
||||
|
||||
If Not cnS_KIUPLOAD.Items.ContainsKey("vat_invoice") Then
|
||||
Dim vat = New ToolStripMenuItem() With {.Text = "MWST-Rechnung(en)", .Name = "vat_invoice", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
cnS_KIUPLOAD.Items.Add(vat)
|
||||
AddHandler vat.Click, AddressOf mnuItemKIUPLOAD_Clicked
|
||||
End If
|
||||
|
||||
|
||||
If Not cnS_KIUPLOAD.Items.ContainsKey("receipt") Then
|
||||
Dim receipt = New ToolStripMenuItem() With {.Text = "Quittung(en)", .Name = "receipt", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
cnS_KIUPLOAD.Items.Add(receipt)
|
||||
AddHandler receipt.Click, AddressOf mnuItemKIUPLOAD_Clicked
|
||||
|
||||
End If
|
||||
|
||||
cnS_KIUPLOAD.Show(Cursor.Position)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub txtStrasse_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtStrasse.PreviewKeyDown, txtPLZ.PreviewKeyDown, txtOrt.PreviewKeyDown, txtLand.PreviewKeyDown, txtStrassenNr.PreviewKeyDown, txtUIDNr.PreviewKeyDown
|
||||
|
||||
Reference in New Issue
Block a user