From fb360d6edd61708ef55eadda94238ca855dc0aff Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 14 May 2025 17:45:20 +0200 Subject: [PATCH] =?UTF-8?q?Umrechnug=20=20FW=20usw.=20im=20Belg=20=C3=BCbe?= =?UTF-8?q?rarbeitet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/USTV/frmMDM_USTVAntrag.vb | 33 +++++++++----- SDL/USTV/ustCntlUSTV_AntragPosition.vb | 60 +++++++++++++++----------- 2 files changed, 56 insertions(+), 37 deletions(-) diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index a11c6e0b..d8784a4b 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1484,13 +1484,13 @@ Public Class frmMDM_USTVAntrag Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode) If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value - 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_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100 - Else - USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value + '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_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100 + 'Else + USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value USTV_POS.UStVPo_Umrechnungskurs = 1 - End If + 'End If Else @@ -1504,7 +1504,7 @@ Public Class frmMDM_USTVAntrag Dim kurs As New cEZB_Waehrungskurse(r.Cells("total_VAT_currency").Value) If r.Cells("total_VAT_currency").Value <> "EUR" Then 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 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) @@ -1513,11 +1513,22 @@ Public Class frmMDM_USTVAntrag End If Else '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 diff --git a/SDL/USTV/ustCntlUSTV_AntragPosition.vb b/SDL/USTV/ustCntlUSTV_AntragPosition.vb index a891abe1..49214b9d 100644 --- a/SDL/USTV/ustCntlUSTV_AntragPosition.vb +++ b/SDL/USTV/ustCntlUSTV_AntragPosition.vb @@ -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 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 + UStV_POS.UStVPo_USteuerbetragEUR = f.usrcntlVAT_ATEZ1.va.total_VAT_amount + '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_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100 + 'Else + UStV_POS.UStVPo_USteuerbetrag = f.usrcntlVAT_ATEZ1.va.total_VAT_amount + UStV_POS.UStVPo_Umrechnungskurs = 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 - + UStV_POS.UStVPo_USteuerbetrag = f.usrcntlVAT_ATEZ1.va.total_VAT_amount + 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 - 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 + UStV_POS.UStVPo_USteuerbetrag = f.usrcntlVAT_ATEZ1.va.total_VAT_amount + 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 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 + 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_USteuerbetragEUR = UStV_POS.UStVPo_USteuerbetrag + 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 - 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