ustva, fremdrechnungen, etc.

This commit is contained in:
2025-04-15 09:45:02 +02:00
parent 3a35037e84
commit 1933cb843e
6 changed files with 232 additions and 195 deletions

View File

@@ -136,23 +136,25 @@ Public Class ustCntlUSTV_AntragPosition
If UStV_POS Is Nothing OrElse UStV_POS.UStVAn_ID = 0 Then UStV_POS = New VERAG_PROG_ALLGEMEIN.cUStVPositionen()
UStV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
UStV_POS.UStVPo_Zeitstempel = Now
lblWarning.Text = ""
If txtRgNr.Text <> "" Then
UStV_POS.UStVPo_ReNr = txtRgNr.Text
Else
lblWarning.Text = "RechnungsNr muss ausgefüllt werden."
save = False
End If
If txtRgDatum.Text <> "" AndAlso IsDate(txtRgDatum.Text) Then
UStV_POS.UStVPo_ReDat = txtRgDatum._value
Else
lblWarning.Text = "Rechnungsdatum muss ausgefüllt werden."
save = False
End If
If txtUSTBetrag.Text <> "" Then
UStV_POS.UStVPo_USteuerbetrag = txtUSTBetrag.Text.Replace(",", ".")
Else
lblWarning.Text = "UST-Betrag muss ausgefüllt werden."
save = False
End If
@@ -164,6 +166,7 @@ Public Class ustCntlUSTV_AntragPosition
If txtLeistungsbezeichnung.Text <> "" Then
UStV_POS.UStVPo_Leistungsbezeichnung = txtLeistungsbezeichnung.Text
Else
lblWarning.Text = "Leistungsbez. muss ausgefüllt werden."
save = False
End If
If Not txtUmrechnungskurs.Text = "" Then
@@ -171,6 +174,7 @@ Public Class ustCntlUSTV_AntragPosition
UStV_POS.UStVPo_Umrechnungskurs = txtUmrechnungskurs.Text.Replace(",", ".")
End If
Else
lblWarning.Text = "Umrechnungskurs muss ausgefüllt werden."
save = False
End If
@@ -192,6 +196,9 @@ Public Class ustCntlUSTV_AntragPosition
UStV_POS.UStVPo_SchnittstellenNr = IIf(cboSchnittstellennr.SelectedItem IsNot Nothing, cboSchnittstellennr._value, -1)
UStV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
UStV_POS.UStVPo_Zeitstempel = Now
End Sub
Private Sub ustCntlUSTV_AntragPosition_KeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
@@ -636,18 +643,60 @@ Public Class ustCntlUSTV_AntragPosition
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
If IsNumeric(f.usrcntlVAT_ATEZ1.va.total_VAT_amount) AndAlso f.usrcntlVAT_ATEZ1.va.total_VAT_amount <> 0 Then
If f.usrcntlVAT_ATEZ1.va.currency = "EUR" AndAlso
txtUmrechnungskurs.Text = 1 Then
txtUSTBetragEUR.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
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)
'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
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
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
'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
End If
Else