fix USTVA-VZ

This commit is contained in:
2026-08-27 14:41:36 +02:00
parent 7fd1e05b29
commit 7a6ac9df00

View File

@@ -799,8 +799,8 @@ Public Class frmFaktEmail
Dim USTV_ANTRAG As New cUSTVAntrag(RECHNUNG.ErfassungsNr) Dim USTV_ANTRAG As New cUSTVAntrag(RECHNUNG.ErfassungsNr)
Dim GUBetrag_ohneBearbeitung As Double = 0 Dim GUBetrag_ohneBearbeitung As Double = 0
Dim hatNichtAbgerechneteVZ As Boolean = False Dim hatNichtAbgerechneteVZ As Boolean = False
Dim durchREWurdeVZAbgerechnet As Boolean = False
'todo_Prüfung ist zu spät -> früher (vor dem eintragen in die DB)!!!!
For Each pos In USTV_ANTRAG.POSITIONEN For Each pos In USTV_ANTRAG.POSITIONEN
If pos.UStVPo_VZ AndAlso (IsDBNull(pos.UStVPo_VZ_RKID) OrElse pos.UStVPo_VZ_RKID Is Nothing) Then 'VZ die noch nicht abgerechnet wurde! If pos.UStVPo_VZ AndAlso (IsDBNull(pos.UStVPo_VZ_RKID) OrElse pos.UStVPo_VZ_RKID Is Nothing) Then 'VZ die noch nicht abgerechnet wurde!
hatNichtAbgerechneteVZ = True hatNichtAbgerechneteVZ = True
@@ -808,6 +808,13 @@ Public Class frmFaktEmail
End If End If
Next Next
For Each pos In USTV_ANTRAG.POSITIONEN
If pos.UStVPo_VZ AndAlso pos.UStVPo_VZ_RKID = RECHNUNG.RK_ID Then 'VZ wurde durch diese RE abgerechnet
durchREWurdeVZAbgerechnet = True
Exit For
End If
Next
For Each r As cRechnungsausgangPositionen In RECHNUNG.POSITIONEN For Each r As cRechnungsausgangPositionen In RECHNUNG.POSITIONEN
If r.BerechnungsartNr = 8 AndAlso (r.LeistungsBez.ToLower.Contains("mwst") Or r.LeistungsBez.ToLower.Contains("moest") Or r.LeistungsBez.ToLower.Contains("vat") Or r.LeistungsBez.ToLower.Contains("excise duty") Or r.LeistungsBez.ToLower.Contains("tva")) Then GUBetrag_ohneBearbeitung += r.Preis If r.BerechnungsartNr = 8 AndAlso (r.LeistungsBez.ToLower.Contains("mwst") Or r.LeistungsBez.ToLower.Contains("moest") Or r.LeistungsBez.ToLower.Contains("vat") Or r.LeistungsBez.ToLower.Contains("excise duty") Or r.LeistungsBez.ToLower.Contains("tva")) Then GUBetrag_ohneBearbeitung += r.Preis
@@ -817,6 +824,7 @@ Public Class frmFaktEmail
If Not hatNichtAbgerechneteVZ Then If Not hatNichtAbgerechneteVZ Then
Dim ANTR_ERSTATTUNG As New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(USTV_ANTRAG.UStVAn_ID, RECHNUNG.RechnungsNr, CDate(RECHNUNG.RechnungsDatum)) Dim ANTR_ERSTATTUNG As New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(USTV_ANTRAG.UStVAn_ID, RECHNUNG.RechnungsNr, CDate(RECHNUNG.RechnungsDatum))
If Not ANTR_ERSTATTUNG.hasEntry Then If Not ANTR_ERSTATTUNG.hasEntry Then
ANTR_ERSTATTUNG.UStVEr_ID = ANTR_ERSTATTUNG.getMaxPosNr()
ANTR_ERSTATTUNG.GutschriftsDatum = RECHNUNG.RechnungsDatum ANTR_ERSTATTUNG.GutschriftsDatum = RECHNUNG.RechnungsDatum
ANTR_ERSTATTUNG.GutschriftsNr = RECHNUNG.RechnungsNr ANTR_ERSTATTUNG.GutschriftsNr = RECHNUNG.RechnungsNr
ANTR_ERSTATTUNG.UStVEr_Umrechnungskurs = 1 ANTR_ERSTATTUNG.UStVEr_Umrechnungskurs = 1
@@ -826,23 +834,26 @@ Public Class frmFaktEmail
ANTR_ERSTATTUNG.SAVE() ANTR_ERSTATTUNG.SAVE()
End If End If
USTV_ANTRAG.UStVAn_VZDatum = RECHNUNG.RechnungsDatum If durchREWurdeVZAbgerechnet Then
If IsDBNull(USTV_ANTRAG.UStVAn_VZBetrag) OrElse USTV_ANTRAG.UStVAn_VZBetrag Is Nothing Then USTV_ANTRAG.UStVAn_VZDatum = RECHNUNG.RechnungsDatum
USTV_ANTRAG.UStVAn_VZBetrag = GUBetrag_ohneBearbeitung If IsDBNull(USTV_ANTRAG.UStVAn_VZBetrag) OrElse USTV_ANTRAG.UStVAn_VZBetrag Is Nothing Then
ElseIf IsNumeric(USTV_ANTRAG.UStVAn_VZBetrag) Then USTV_ANTRAG.UStVAn_VZBetrag = GUBetrag_ohneBearbeitung
USTV_ANTRAG.UStVAn_VZBetrag += GUBetrag_ohneBearbeitung ElseIf IsNumeric(USTV_ANTRAG.UStVAn_VZBetrag) Then
USTV_ANTRAG.UStVAn_VZBetrag += GUBetrag_ohneBearbeitung
End If
USTV_ANTRAG.SAVE()
End If End If
USTV_ANTRAG.SAVE()
End If End If
If hatNichtAbgerechneteVZ Then If hatNichtAbgerechneteVZ Then
Dim SQL As New SQL Dim SQL As New SQL
For Each pos As cUStVPositionen In USTV_ANTRAG.POSITIONEN For Each pos As cUStVPositionen In USTV_ANTRAG.POSITIONEN