ustva, fakt. etc.

This commit is contained in:
2025-05-08 12:20:11 +02:00
parent 3ac504baee
commit a8e5b92c48
9 changed files with 117 additions and 51 deletions

View File

@@ -1255,11 +1255,11 @@ Public Class usrCntlFaktAbrechnung
'.Columns("Preisänderung").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
.Columns("BGebLeistungsNr").Visible = False
.Columns("BGebProzent").Visible = False
.Columns("BGebMinBetrag").Visible = False
.Columns("Steuerpflichtig").Visible = False
.Columns("BerechnungsartPosInkludiert").Visible = False
.Columns("BGebLeistungsNr").Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
.Columns("BGebProzent").Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
.Columns("BGebMinBetrag").Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
.Columns("Steuerpflichtig").Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
.Columns("BerechnungsartPosInkludiert").Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
' .Columns("Geändert am").Visible = False
'.Columns("Sachbearbeiter").Visible = False
@@ -1277,9 +1277,18 @@ Public Class usrCntlFaktAbrechnung
If RECHNUNG.ForceSteuerschlüssel IsNot Nothing Then
steuerpflichtigTMP = (RECHNUNG.ForceSteuerschlüssel > 0)
End If
dgvOfferteDetailsUebersicht.Rows.Add(r("LeistungsNr"), r("LeistungsBez"), r("Anzahl"), r("Preis"), r("BerechnungsartNr"), DBNull.Value, DBNull.Value, DBNull.Value, steuerpflichtigTMP,
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
dgvOfferteDetailsUebersicht.Rows.Add(r("LeistungsNr"), r("LeistungsBez"), r("Anzahl"), r("Preis"), r("BerechnungsartNr"), r("BGebLeistungsNr"), r("BGebProzent"), r("BGebMinBetrag"), steuerpflichtigTMP,
DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, r("BerechnungsartPosInkludiert"))
Else
dgvOfferteDetailsUebersicht.Rows.Add(r("LeistungsNr"), r("LeistungsBez"), r("Anzahl"), r("Preis"), r("BerechnungsartNr"), DBNull.Value, DBNull.Value, DBNull.Value, steuerpflichtigTMP,
DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, r("BerechnungsartPosInkludiert"))
End If
Next
@@ -1338,6 +1347,7 @@ Public Class usrCntlFaktAbrechnung
Abfertigungskosten += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(POS.[SteuerfreierBetrag], RECHNUNG.Währungscode, "EUR")
End If
End If
End If
Next
@@ -1424,7 +1434,6 @@ Public Class usrCntlFaktAbrechnung
setMWSTABRfromSPEDinPOS(r, POS, landNr, landBez)
'-----------------------MWST-Abrechnung! + Kompat. zu FM-Zoll
If POS.Anzahl = 0 And POS.BerechnungsartNr = 8 And POS.Preis <> 0 Then
POS.Preis = 0 'Wenn Anzahl =0 bei Berart 8, dann Preis auch 0
End If
@@ -1456,7 +1465,6 @@ Public Class usrCntlFaktAbrechnung
' POS.Fremdwährung = r.Cells("Fremdwährung").Value
POS.BGebLeistungsNr = r.Cells("BGebLeistungsNr").Value
POS.BGebProzent = r.Cells("BGebProzent").Value
' POS.BGebBgl = r.Cells("BGebBgl").Value
POS.BGebMinBetrag = r.Cells("BGebMinBetrag").Value
' Property RePosZeitstempel As Object = Nothing
@@ -1477,6 +1485,7 @@ Public Class usrCntlFaktAbrechnung
'End If
RECHNUNG.POSITIONEN.Add(POS) 'ALLE HINENLADEN! --> Sonst Proglem mit SVS/VP/KA
Next
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -2276,6 +2285,7 @@ Public Class usrCntlFaktAbrechnung
If If(POS.Anzahl, 0) < 0 Then ' falls Anzahl negativ ist
POS.Anzahl *= -1
End If
Next
@@ -2295,6 +2305,7 @@ Public Class usrCntlFaktAbrechnung
Call przBS415(RECHNUNG) ' Bankspesen errechnen
'Me![SteuerpflichtigerGesamtbetrag] = 0.0#
'Me![SteuerfreierGesamtbetrag] = 0.0#
'Me![Abfertigungskosten] = 0.0#
@@ -2509,6 +2520,58 @@ Public Class usrCntlFaktAbrechnung
End Function
Private Sub prBearbGeb(POS_ As cRechnungsausgangPositionen, OFFERTE As cOfferte, RE As cRechnungsausgang, BGebLeistungsNr As Integer, BGebProzent As Double, BGebBgl As Integer)
If POS_.Anzahl <> 0 Then
If (BGebLeistungsNr > 0 AndAlso BGebProzent > 0 AndAlso BGebBgl <> 0) Then
Dim Betrag As Double = Math.Round(BGebBgl * BGebProzent, 1)
For Each o In OFFERTE.POSITIONEN
If o.LeistungsNr = BGebLeistungsNr Then
'Falls schon vorhanden...
Dim POS = RE.POSITIONEN.Find(Function(x) x.LeistungsNr = BGebLeistungsNr) 'And x.BerechnungsartNr = 9)
If POS Is Nothing Then
POS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
POS.Preis = 0
POS.SteuerpflichtigerBetrag = 0
POS.SteuerfreierBetrag = 0
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
POS.LeistungsNr = o.LeistungsNr
POS.LeistungsBez = o.LeistungsBez
POS.BerechnungsartNr = o.BerechnungsartNr
POS.Anzahl = 1
' POS.BGebLeistungsNr = BGebLeistungsNr
RE.POSITIONEN.Add(POS)
End If
POS.Preis += Betrag
If POS.Steuerpflichtig Then
POS.SteuerpflichtigerBetrag += Betrag
Else
POS.SteuerfreierBetrag += Betrag
End If
End If
Next
'Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
'End Try
' Return False
'End Function
End If
End If
End Sub
Private Sub przBerechneWert()
Try
@@ -4370,7 +4433,7 @@ Nächste_Textzeile_lesen:
If LandBez <> "" AndAlso LandNr <> "" Then
If SPEDBUCH.Packstücke.ToString.Replace("Mehrwertsteuerrückerstattung " & LandNr, "MWSt-Rückerstattung " & LandBez).StartsWith(LeistungsBez.ToString) Then isMWST = True
Else
If SPEDBUCH.Packstücke.ToString().StartsWith(LeistungsBez.ToString) Then isMWST = True
If SPEDBUCH.Packstücke.ToString().Replace("Mehrwertsteuerrückerstattung ", "MWSt-Rückerstattung ").StartsWith(LeistungsBez.ToString) Then isMWST = True
End If
If isMWST Then
@@ -4380,8 +4443,18 @@ Nächste_Textzeile_lesen:
POS.Preis = IIf(SPEDBUCH.Rechnungsbetrag Is Nothing, 0, SPEDBUCH.Rechnungsbetrag) * -1
End If
If r.Cells("BGebLeistungsNr").Value IsNot Nothing AndAlso r.Cells("BGebProzent").Value IsNot Nothing Then
Dim OffertNr As Integer = IIf(IsNumeric(RECHNUNG.OffertenNr), RECHNUNG.OffertenNr, (SPEDBUCH.Abfertigungsart - 100))
If OffertNr < 0 Then OffertNr = 15
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(RECHNUNG.KundenNrZentrale, OffertNr, True)
Call prBearbGeb(POS, OFFERTE, RECHNUNG, r.Cells("BGebLeistungsNr").Value, r.Cells("BGebProzent").Value, POS.Preis * If(RECHNUNG.Vorzeichen = "-", -1, 1))
End If
End If
End If
End If
End If
End Sub