Umrechnug FW usw. im Belg überarbeitet

This commit is contained in:
2025-05-14 17:45:20 +02:00
parent f6a7af91a3
commit fb360d6edd
2 changed files with 56 additions and 37 deletions

View File

@@ -1484,13 +1484,13 @@ Public Class frmMDM_USTVAntrag
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode) Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then 'If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2) ' USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100 ' USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
Else 'Else
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
USTV_POS.UStVPo_Umrechnungskurs = 1 USTV_POS.UStVPo_Umrechnungskurs = 1
End If 'End If
Else Else
@@ -1504,7 +1504,7 @@ Public Class frmMDM_USTVAntrag
Dim kurs As New cEZB_Waehrungskurse(r.Cells("total_VAT_currency").Value) Dim kurs As New cEZB_Waehrungskurse(r.Cells("total_VAT_currency").Value)
If r.Cells("total_VAT_currency").Value <> "EUR" Then If r.Cells("total_VAT_currency").Value <> "EUR" Then
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2) USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100 USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
ElseIf r.Cells("total_VAT_currency").Value = "EUR" Then ElseIf r.Cells("total_VAT_currency").Value = "EUR" Then
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2) USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
@@ -1513,11 +1513,22 @@ Public Class frmMDM_USTVAntrag
End If End If
Else Else
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD) '2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
If r.Cells("total_VAT_currency").Value = "EUR" Then
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
Else
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
End If
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("total_VAT_currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
End If End If

View File

@@ -678,54 +678,62 @@ Public Class ustCntlUSTV_AntragPosition
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 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) 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 If f.usrcntlVAT_ATEZ1.va.currency = antr.UStVAn_Währungscode Then
Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode) Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode)
If antr.UStVAn_Währungscode = "EUR" Then If antr.UStVAn_Währungscode = "EUR" Then
txtUSTBetragEUR.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount UStV_POS.UStVPo_USteuerbetragEUR = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
If antr.UStVAn_Währungscode <> "EUR" Then 'If USTV_ANTRAG.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) ' USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
txtUmrechnungskurs.Text = Math.Floor((CDbl(txtUSTBetrag.Text) / CDbl(txtUSTBetragEUR.Text) * 100 + 0.5)) / 100 ' USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
Else 'Else
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount UStV_POS.UStVPo_USteuerbetrag = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
txtUmrechnungskurs.Text = 1 UStV_POS.UStVPo_Umrechnungskurs = 1
End If 'End If
Else Else
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount UStV_POS.UStVPo_USteuerbetrag = 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) UStV_POS.UStVPo_USteuerbetragEUR = 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 UStV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(UStV_POS.UStVPo_USteuerbetrag) / CDbl(UStV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
End If End If
Else Else
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR) '2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
If antr.UStVAn_Währungscode = "EUR" Then If antr.UStVAn_Währungscode = "EUR" Then
Dim kurs As New cEZB_Waehrungskurse(f.usrcntlVAT_ATEZ1.va.currency) Dim kurs As New cEZB_Waehrungskurse(f.usrcntlVAT_ATEZ1.va.currency)
If f.usrcntlVAT_ATEZ1.va.currency <> "EUR" Then If f.usrcntlVAT_ATEZ1.va.currency <> "EUR" Then
txtUSTBetrag.Text = f.usrcntlVAT_ATEZ1.va.total_VAT_amount UStV_POS.UStVPo_USteuerbetrag = 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) UStV_POS.UStVPo_USteuerbetragEUR = 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 UStV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(UStV_POS.UStVPo_USteuerbetrag) / CDbl(UStV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
ElseIf f.usrcntlVAT_ATEZ1.va.currency = "EUR" Then 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) UStV_POS.UStVPo_USteuerbetrag = 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 UStV_POS.UStVPo_USteuerbetragEUR = UStV_POS.UStVPo_USteuerbetrag
txtUmrechnungskurs.Text = 1 UStV_POS.UStVPo_Umrechnungskurs = 1
End If
Else
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
If f.usrcntlVAT_ATEZ1.va.currency = "EUR" Then
UStV_POS.UStVPo_USteuerbetragEUR = f.usrcntlVAT_ATEZ1.va.total_VAT_amount
Dim kurs As New cEZB_Waehrungskurse(antr.UStVAn_Währungscode)
UStV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, antr.UStVAn_Währungscode, CDate(UStV_POS.UStVPo_ReDat)), 2)
UStV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(UStV_POS.UStVPo_USteuerbetrag) / CDbl(UStV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
Else
UStV_POS.UStVPo_USteuerbetrag = 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)
UStV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(f.usrcntlVAT_ATEZ1.va.total_VAT_amount, f.usrcntlVAT_ATEZ1.va.currency, CDate(UStV_POS.UStVPo_ReDat)), 2)
UStV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(UStV_POS.UStVPo_USteuerbetrag) / CDbl(UStV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
End If 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
End If End If