Fiskal, Formualre, etc,
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
Imports System.IO
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.IO
|
||||
Imports System.Web.UI.WebControls.Expressions
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
@@ -12,10 +13,11 @@ Public Class usrCntlFaktAbrechnung
|
||||
Dim FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen = Nothing
|
||||
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
Dim refactored As Boolean = False
|
||||
|
||||
Public SAVED = True ' Eigenschaft, ob das Formular gespeichert ist oder verändert wurde
|
||||
Dim loaded As Boolean = False
|
||||
Dim allowGetValues As Boolean = True
|
||||
Dim allowGetValues As Boolean = False
|
||||
Public Event EVENT_SAVED()
|
||||
Public Event EVENT_DELETED()
|
||||
Public Event SOMETHING_CHANGED(RK_ID)
|
||||
@@ -1319,7 +1321,16 @@ Public Class usrCntlFaktAbrechnung
|
||||
|
||||
If FIRMA IsNot Nothing AndAlso FIRMA.Firma_ID = 19 AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
Dim isRC As Boolean = If(r.Cells("ReverseCharge").Value IsNot DBNull.Value, r.Cells("ReverseCharge").Value, False)
|
||||
If Not preistaffelIsSet Then setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, False, False, preistaffelIsSet, antrag, isVZ)
|
||||
If Not preistaffelIsSet Then
|
||||
|
||||
If refactored Then
|
||||
SetMWSTFromSpedRefactored(r, landBez, summeRMC, summeFremd, False, False, preistaffelIsSet, antrag, isVZ)
|
||||
Else
|
||||
setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, False, False, preistaffelIsSet, antrag, isVZ)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
Catch ex As Exception : End Try
|
||||
@@ -1496,7 +1507,13 @@ Public Class usrCntlFaktAbrechnung
|
||||
If r IsNot Nothing AndAlso r.Cells("Anzahl").Value <> 0 AndAlso IsNumeric(r.Cells("Preis").Value) AndAlso r.Cells("Preis").Value <> 0 AndAlso isMWSTBearb Then 'r.Cells("LeistungsNr").Value <> bearbNrRMC AndAlso
|
||||
|
||||
If Not preistaffelIsSet Then
|
||||
setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, (containRMC AndAlso containFremd), posSet, preistaffelIsSet, antrag, isVZ, True, sumOffertRMC, minBetragRMC, sumOffertFremd, minBetragFremd)
|
||||
|
||||
If refactored Then
|
||||
SetMWSTFromSpedRefactored(r, landBez, summeRMC, summeFremd, (containRMC AndAlso containFremd), posSet, preistaffelIsSet, antrag, isVZ, True, sumOffertRMC, sumOffertFremd)
|
||||
Else
|
||||
setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, (containRMC AndAlso containFremd), posSet, preistaffelIsSet, antrag, isVZ, True, sumOffertRMC, minBetragRMC, sumOffertFremd, minBetragFremd)
|
||||
End If
|
||||
|
||||
End If
|
||||
'If posSet Then Exit For
|
||||
End If
|
||||
@@ -1911,53 +1928,53 @@ Public Class usrCntlFaktAbrechnung
|
||||
|
||||
'soll immer alle POS bekommen! laut Lidya! 28.04.2025 - aber nicht im Excel-Format sondern als PDF-Batinic 15.05.2025
|
||||
Dim dtPOSList As New DataTable
|
||||
Dim prt As String = func.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1))
|
||||
If prt <> "" Then
|
||||
Dim prt As String = func.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1))
|
||||
If prt <> "" Then
|
||||
|
||||
Try
|
||||
Try
|
||||
|
||||
Dim rpt As New rptMWSTListe
|
||||
Dim rpt As New rptMWSTListe
|
||||
|
||||
rpt.DataSource = dtPOSList
|
||||
rpt.DataSource = dtPOSList
|
||||
|
||||
rpt.GroupHeader1.DataField = "Firma_ID" 'Gruppierung
|
||||
rpt.GroupHeader1.DataField = "Firma_ID" 'Gruppierung
|
||||
|
||||
If rpt.DataSource.rows.count > 0 Then
|
||||
If rpt.DataSource.rows.count > 0 Then
|
||||
|
||||
Dim AD As New cAdressen(USTV.UStVAn_KuNr)
|
||||
Dim sum As Double = 0
|
||||
Dim AD As New cAdressen(USTV.UStVAn_KuNr)
|
||||
Dim sum As Double = 0
|
||||
|
||||
rpt.lblVatNo.Text = USTV.UStVAn_Steuernummer
|
||||
rpt.lblCompanyname.Text = AD.Name_1 & " " & AD.Name_2
|
||||
rpt.lblDat.Text = Now.ToShortDateString
|
||||
rpt.lblVatNo.Text = USTV.UStVAn_Steuernummer
|
||||
rpt.lblCompanyname.Text = AD.Name_1 & " " & AD.Name_2
|
||||
rpt.lblDat.Text = Now.ToShortDateString
|
||||
|
||||
|
||||
AddHandler rpt.Detail.Format, Sub()
|
||||
AddHandler rpt.Detail.Format, Sub()
|
||||
|
||||
rpt.lblNumber.Text = rpt.Fields.Item("Number").Value()
|
||||
rpt.lblGoods.Text = rpt.Fields.Item("Name of service").Value()
|
||||
rpt.lblName.Text = rpt.Fields.Item("Name of supplier").Value()
|
||||
rpt.lblTax.Text = CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2")
|
||||
rpt.lblDate.Text = CDate((rpt.Fields.Item("Date of Invoice").Value())).ToShortDateString
|
||||
rpt.lblInvoiceNo.Text = rpt.Fields.Item("Number of invoice").Value()
|
||||
rpt.lblNumber.Text = rpt.Fields.Item("Number").Value()
|
||||
rpt.lblGoods.Text = rpt.Fields.Item("Name of service").Value()
|
||||
rpt.lblName.Text = rpt.Fields.Item("Name of supplier").Value()
|
||||
rpt.lblTax.Text = CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2")
|
||||
rpt.lblDate.Text = CDate((rpt.Fields.Item("Date of Invoice").Value())).ToShortDateString
|
||||
rpt.lblInvoiceNo.Text = rpt.Fields.Item("Number of invoice").Value()
|
||||
|
||||
sum += CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2")
|
||||
End Sub
|
||||
sum += CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2")
|
||||
End Sub
|
||||
|
||||
|
||||
AddHandler rpt.GroupFooter1.Format, Sub()
|
||||
rpt.lblSumme.Text = sum.ToString("N2")
|
||||
rpt.lblWahrung.Text = USTV.UStVAn_Währungscode
|
||||
AddHandler rpt.GroupFooter1.Format, Sub()
|
||||
rpt.lblSumme.Text = sum.ToString("N2")
|
||||
rpt.lblWahrung.Text = USTV.UStVAn_Währungscode
|
||||
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
|
||||
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(SPEDBUCH.AbfertigungsNr, ".pdf", , False)
|
||||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||||
rpt.Run(False)
|
||||
p.NeverEmbedFonts = ""
|
||||
p.Export(rpt.Document, tmpPath)
|
||||
rpt.Dispose()
|
||||
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(SPEDBUCH.AbfertigungsNr, ".pdf", , False)
|
||||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||||
rpt.Run(False)
|
||||
p.NeverEmbedFonts = ""
|
||||
p.Export(rpt.Document, tmpPath)
|
||||
rpt.Dispose()
|
||||
|
||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & ".pdf", USTV.UStVAn_KuNr, False)
|
||||
'If Not DS.hasITEMS Then 'immer neu generieren, falls der Antrag geändert wurde, muss der die neue POS-Liste geladen werden!!!!
|
||||
@@ -1967,69 +1984,69 @@ Public Class usrCntlFaktAbrechnung
|
||||
|
||||
If .Rows.Count > 0 Then
|
||||
|
||||
For Each r As DataGridViewRow In .Rows
|
||||
If .Columns.Contains("clmnBezeichnung") AndAlso r.Cells("clmnBezeichnung").Value = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
.Rows.Remove(r)
|
||||
For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE
|
||||
If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge()
|
||||
ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId)
|
||||
End If
|
||||
Next
|
||||
For Each r As DataGridViewRow In .Rows
|
||||
If .Columns.Contains("clmnBezeichnung") AndAlso r.Cells("clmnBezeichnung").Value = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
.Rows.Remove(r)
|
||||
For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE
|
||||
If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge()
|
||||
ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId)
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
End If
|
||||
If RECHNUNG.ANHAENGE.Count > 0 Then
|
||||
If RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name) Or RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
.Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
|
||||
End If
|
||||
Else
|
||||
|
||||
Next
|
||||
|
||||
End If
|
||||
If RECHNUNG.ANHAENGE.Count > 0 Then
|
||||
If RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name) Or RECHNUNG.DruckDatumZeit Is Nothing Then
|
||||
.Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
|
||||
End If
|
||||
Else
|
||||
.Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1)
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
If dt IsNot Nothing Then
|
||||
For Each r In dt.Rows
|
||||
If dt IsNot Nothing Then
|
||||
For Each r In dt.Rows
|
||||
|
||||
'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!!
|
||||
If Not IsDBNull(r("UStVPo_daId")) Then
|
||||
'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!!
|
||||
If Not IsDBNull(r("UStVPo_daId")) Then
|
||||
|
||||
If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert!
|
||||
If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert!
|
||||
|
||||
Dim DAID As String = ""
|
||||
DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, USTV, New cFakturierung, True)
|
||||
Dim DAID As String = ""
|
||||
DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, USTV, New cFakturierung, True)
|
||||
|
||||
Dim nameLief As String = ""
|
||||
Dim nameLief As String = ""
|
||||
|
||||
Select Case r("UStVPo_SchnittstellenNr")
|
||||
Case 1 : nameLief = "VERAG-" 'Verag360
|
||||
Case 2, 8, 12 : nameLief = "IDS-"
|
||||
Case 3 : nameLief = "IT-"
|
||||
Case 4, 9 : nameLief = "MSE-"
|
||||
Case 5, 10 : nameLief = "UTA-"
|
||||
Case 6, 11 : nameLief = "PLOSE-"
|
||||
Case 7 : nameLief = "RMC-"
|
||||
End Select
|
||||
Select Case r("UStVPo_SchnittstellenNr")
|
||||
Case 1 : nameLief = "VERAG-" 'Verag360
|
||||
Case 2, 8, 12 : nameLief = "IDS-"
|
||||
Case 3 : nameLief = "IT-"
|
||||
Case 4, 9 : nameLief = "MSE-"
|
||||
Case 5, 10 : nameLief = "UTA-"
|
||||
Case 6, 11 : nameLief = "PLOSE-"
|
||||
Case 7 : nameLief = "RMC-"
|
||||
End Select
|
||||
|
||||
nameLief &= "RE"
|
||||
nameLief &= "RE"
|
||||
|
||||
If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then
|
||||
Dim daidno As Integer = CInt(DAID)
|
||||
Dim ds As New cDATENSERVER(daidno)
|
||||
.Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1)
|
||||
If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then
|
||||
Dim daidno As Integer = CInt(DAID)
|
||||
Dim ds As New cDATENSERVER(daidno)
|
||||
.Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1)
|
||||
|
||||
ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then
|
||||
ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then
|
||||
|
||||
Dim DS_Eigenrechnungen As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "VERAG-RECHNUNGEN", "", "", USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf", USTV.UStVAn_KuNr, False)
|
||||
|
||||
@@ -2041,13 +2058,13 @@ Public Class usrCntlFaktAbrechnung
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
@@ -5210,4 +5227,196 @@ mwst:
|
||||
|
||||
End Function
|
||||
|
||||
Private Structure AntragSummen
|
||||
Public RMC As Double
|
||||
Public Fremd As Double
|
||||
Public VZ As Double
|
||||
End Structure
|
||||
|
||||
Private Structure MWSTEntscheidung
|
||||
Public IsMWST As Boolean
|
||||
Public SetPreisstaffel As Boolean
|
||||
End Structure
|
||||
|
||||
Private Sub SetMWSTFromSpedRefactored(r As DataGridViewRow, LandBez As String, ByRef summeRMC As Double, ByRef summeFremd As Double, ByRef fremdUndRMC As Boolean, ByRef posChanged As Boolean, ByRef setPreisstaffel As Boolean, antrag As cUSTVAntrag, isVZ As Boolean, Optional changed As Boolean = False, Optional sumOffertRMC As Double = 0, Optional sumOffertFremd As Double = 0)
|
||||
|
||||
If Not IsSpedArtRelevant() Then Exit Sub
|
||||
If Not IsRowValid(r) Then Exit Sub
|
||||
If Not IsAntragValid(antrag) Then Exit Sub
|
||||
If Not IsLandAndTextMatching(r, LandBez, antrag) Then Exit Sub
|
||||
|
||||
Dim summen As AntragSummen = CalculateSummen(antrag, isVZ)
|
||||
Dim isRMCKunde = isRMCKunde_ref(antrag)
|
||||
|
||||
Dim isMWST As Boolean = DecideMWST(r, summen, isRMCKunde, isVZ, setPreisstaffel)
|
||||
|
||||
If Not isMWST Then Exit Sub
|
||||
|
||||
ApplyPreis(r, summen, isRMCKunde)
|
||||
|
||||
ApplyBearbeitungsGebuehr(r, summen, summeRMC, summeFremd, fremdUndRMC, posChanged, changed, sumOffertRMC, sumOffertFremd)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function IsAntragValid(antrag As cUSTVAntrag) As Boolean
|
||||
Return antrag IsNot Nothing AndAlso antrag.UStVAn_ID > 0
|
||||
End Function
|
||||
|
||||
Private Function IsRowValid(r As DataGridViewRow) As Boolean
|
||||
If r Is Nothing Then Return False
|
||||
If IsDBNull(r.Cells("LeistungsBez").Value) Then Return False
|
||||
If IsDBNull(r.Cells("Land").Value) Then Return False
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function IsLandAndTextMatching(r As DataGridViewRow, landBez As String, antrag As cUSTVAntrag) As Boolean
|
||||
|
||||
Dim iso2 = ConvertToISO2(landBez)
|
||||
If r.Cells("Land").Value.ToString <> iso2 Then Return False
|
||||
|
||||
Dim leistungsText = r.Cells("LeistungsBez").Value.ToString.ToLower
|
||||
Dim begriffe = GetUebersetzungen(antrag.UStVAn_AntragArt)
|
||||
|
||||
Return begriffe.Any(Function(x) leistungsText.StartsWith(x))
|
||||
End Function
|
||||
|
||||
Private Function ConvertToISO2(landBez As String) As String
|
||||
|
||||
Select Case landBez.Length
|
||||
Case 2 : Return landBez
|
||||
Case 3 : Return VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(landBez)
|
||||
Case 1 : Return VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(landBez)
|
||||
Case Else : Return ""
|
||||
End Select
|
||||
|
||||
End Function
|
||||
|
||||
Private Function GetUebersetzungen(antragArt As String) As List(Of String)
|
||||
|
||||
Dim baseText = antragArt.ToLower
|
||||
|
||||
Return New List(Of String) From {
|
||||
baseText,
|
||||
baseText.Replace("mwst", "vat"),
|
||||
baseText.Replace("moest", "excise"),
|
||||
baseText.Replace("oe", "ö"),
|
||||
baseText.Replace("mwst", "rambursare tva"),
|
||||
baseText.Replace("moest", "rambursare acciza")
|
||||
}
|
||||
|
||||
End Function
|
||||
|
||||
Private Function CalculateSummen(antrag As cUSTVAntrag, isVZ As Boolean) As AntragSummen
|
||||
|
||||
Dim result As New AntragSummen
|
||||
|
||||
For Each pos In antrag.POSITIONEN
|
||||
|
||||
Dim offenVZ = pos.UStVPo_VZ AndAlso pos.UStVPo_VZ_RKID Is Nothing
|
||||
Dim offenNormal = Not pos.UStVPo_VZ AndAlso pos.UStVPo_VZ_RKID Is Nothing
|
||||
|
||||
If offenVZ Then result.VZ += pos.UStVPo_USteuerbetragEUR
|
||||
|
||||
Dim relevant = If(isVZ, offenVZ, offenNormal)
|
||||
|
||||
If Not relevant Then Continue For
|
||||
|
||||
If pos.UStVPo_Leistender.ToUpper.StartsWith("RMC") Then
|
||||
result.RMC += pos.UStVPo_USteuerbetragEUR
|
||||
Else
|
||||
result.Fremd += pos.UStVPo_USteuerbetragEUR
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Return result
|
||||
End Function
|
||||
|
||||
Private Function DecideMWST(r As DataGridViewRow, summen As AntragSummen, isRMCKunde As Boolean, isVZ As Boolean, ByRef setPreisstaffel As Boolean) As Boolean
|
||||
|
||||
Dim isMWST As Boolean = False
|
||||
Dim staffel As Double = If(IsDBNull(r.Cells("Staffelpreis").Value), -1, r.Cells("Staffelpreis").Value)
|
||||
Dim offRMC As Boolean = If(IsDBNull(r.Cells("RMC").Value), False, r.Cells("RMC").Value)
|
||||
Dim offFremd As Boolean = If(IsDBNull(r.Cells("Fremd").Value), False, r.Cells("Fremd").Value)
|
||||
Dim offVZ As Boolean = If(IsDBNull(r.Cells("VZ").Value), False, r.Cells("VZ").Value)
|
||||
|
||||
If isRMCKunde Then
|
||||
If (offRMC Or offFremd) AndAlso (summen.RMC > 0 Or summen.Fremd > 0) Then
|
||||
isMWST = True
|
||||
End If
|
||||
Else
|
||||
If offVZ = isVZ Then
|
||||
If isVZ AndAlso summen.VZ > 0 Then
|
||||
If staffel > -1 AndAlso staffel <= summen.VZ Then
|
||||
setPreisstaffel = True
|
||||
End If
|
||||
isMWST = True
|
||||
ElseIf Not isVZ AndAlso summen.VZ > 0 Then
|
||||
If staffel > -1 AndAlso staffel <= summen.VZ Then
|
||||
setPreisstaffel = True
|
||||
End If
|
||||
isMWST = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return isMWST
|
||||
End Function
|
||||
|
||||
Private Sub ApplyPreis(
|
||||
r As DataGridViewRow,
|
||||
summen As AntragSummen,
|
||||
isRMCKunde As Boolean)
|
||||
|
||||
r.Cells("Anzahl").Value = 1
|
||||
|
||||
If Not IsDBNull(r.Cells("Preis").Value) _
|
||||
AndAlso CDbl(r.Cells("Preis").Value) <> 0 Then Exit Sub
|
||||
|
||||
If isRMCKunde Then
|
||||
r.Cells("Preis").Value = If(summen.RMC > 0, summen.RMC, summen.Fremd)
|
||||
Else
|
||||
r.Cells("Preis").Value = summen.VZ
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ApplyBearbeitungsGebuehr(
|
||||
r As DataGridViewRow,
|
||||
summen As AntragSummen,
|
||||
ByRef summeRMC As Double,
|
||||
ByRef summeFremd As Double,
|
||||
ByRef fremdUndRMC As Boolean,
|
||||
ByRef posChanged As Boolean,
|
||||
changed As Boolean,
|
||||
sumOffertRMC As Double,
|
||||
sumOffertFremd As Double)
|
||||
|
||||
If IsDBNull(r.Cells("BGebLeistungsNr").Value) Then Exit Sub
|
||||
If IsDBNull(r.Cells("BGebProzent").Value) Then Exit Sub
|
||||
If IsDBNull(r.Cells("Preis").Value) Then Exit Sub
|
||||
|
||||
' hier nur noch Gebühr-Logik
|
||||
' KEINE MWST-Logik mehr
|
||||
' KEINE Antrag-Logik mehr
|
||||
|
||||
posChanged = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function isRMCKunde_ref(antrag As cUSTVAntrag) As Boolean
|
||||
If antrag Is Nothing Then Return False
|
||||
|
||||
Dim kdNr = If(RECHNUNG.RechnungsKundenNr > 0, RECHNUNG.RechnungsKundenNr, kdFirmaRechnungAn.KdNr)
|
||||
Return kdNr = 150000 AndAlso (antrag.UStVAn_AntragArt = "MWST" OrElse antrag.UStVAn_AntragArt = "MOEST")
|
||||
End Function
|
||||
|
||||
Private Function IsSpedArtRelevant() As Boolean
|
||||
If SPEDBUCH Is Nothing Then Return False
|
||||
|
||||
Return SPEDBUCH.Abfertigungsart = 114 _
|
||||
OrElse SPEDBUCH.Abfertigungsart = 115 _
|
||||
OrElse SPEDBUCH.Abfertigungsart = 10
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user