MDM offerte

This commit is contained in:
2025-08-18 08:40:25 +02:00
parent 50e3e1d0a1
commit 95721a280b
5 changed files with 78 additions and 37 deletions

View File

@@ -1,4 +1,5 @@
Imports System.Web.UI.WebControls.Expressions
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung
@@ -1185,9 +1186,11 @@ Public Class usrCntlFaktAbrechnung
If FIRMA IsNot Nothing AndAlso FIRMA.Firma_ID = 19 AndAlso SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.FilialenNr = 4817 Then landBez = CheckLandNr_getLandBezFromAntrag(landNr, antrag)
Dim addFields As String = ""
Dim orderby As String = " AND MDM_Staffelpreis"
If addFieldsBoolean Then
addFields = ", Land, RMC, Fremd, VZ"
addFields = ", MDM_Land as Land, MDM_RMC as RMC, MDM_Fremd as Fremd, MDM_VZ as VZ, MDM_Staffelpreis as Staffelpreis"
orderby = ", MDM_Staffelpreis desc"
End If
With dgvOfferteDetailsUebersicht
@@ -1221,11 +1224,12 @@ Public Class usrCntlFaktAbrechnung
c = New DataGridViewTextBoxColumn() : c.Name = "RMC" : .Columns.Add(c)
c = New DataGridViewTextBoxColumn() : c.Name = "Fremd" : .Columns.Add(c)
c = New DataGridViewTextBoxColumn() : c.Name = "VZ" : .Columns.Add(c)
c = New DataGridViewTextBoxColumn() : c.Name = "Staffelpreis" : .Columns.Add(c)
End If
Dim dt As DataTable = SQL.loadDgvBySql(" SELECT [Offertenpositionen].[LeistungsNr],[Offertenpositionen].[LeistungsBez],[Anzahl],[Preis],[Offertenpositionen].[BerechnungsartNr],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],Steuerpflichtig, ReverseCharge/*,[Geändert am],[Sachbearbeiter]*/,BerechnungsartPosInkludiert " & addFields &
" FROM [Offertenpositionen] INNER JOIN [Leistungen] ON leistungen.LeistungsNr=Offertenpositionen.LeistungsNr " &
" WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr ", "FMZOLL")
" WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr " & orderby, "FMZOLL")
.Columns("LeistungsNr").Width = 30
.Columns("LeistungsNr").HeaderText = "Nr"
@@ -1264,7 +1268,7 @@ Public Class usrCntlFaktAbrechnung
If addFieldsBoolean 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"), r("ReverseCharge"), r("Land"), r("RMC"), r("Fremd"), r("VZ"))
DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, DBNull.Value, r("BerechnungsartPosInkludiert"), r("ReverseCharge"), r("Land"), r("RMC"), r("Fremd"), r("VZ"), r("Staffelpreis"))
Else
dgvOfferteDetailsUebersicht.Rows.Add(r("LeistungsNr"), r("LeistungsBez"), r("Anzahl"), r("Preis"), r("BerechnungsartNr"), DBNull.Value, DBNull.Value, DBNull.Value, steuerpflichtigTMP,
@@ -1273,6 +1277,8 @@ Public Class usrCntlFaktAbrechnung
Next
Dim preistaffelIsSet As Boolean = False
For Each r As DataGridViewRow In dgvOfferteDetailsUebersicht.Rows
' Try : If (r.Cells("BerechnungsartNr").Value = 8) And r.Cells("Anzahl").Value > 1 Then r.Cells("Anzahl").Value = 1
' Catch ex As Exception : End Try
@@ -1280,7 +1286,7 @@ 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)
setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, False, False, antrag, isVZ)
If Not preistaffelIsSet Then setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, False, False, preistaffelIsSet, antrag, isVZ)
End If
Catch ex As Exception : End Try
@@ -1435,12 +1441,13 @@ Public Class usrCntlFaktAbrechnung
Next
Dim preistaffelIsSet As Boolean = False
For Each r In dgvOfferteDetailsUebersicht.Rows
If r.Cells("Anzahl").Value <> 0 And r.Cells("Preis").Value <> 0 AndAlso IsNumeric(r.Cells("Preis").Value) AndAlso r.Cells("LeistungsNr").Value <> bearbNrRMC Then
setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, (containRMC AndAlso containFremd), posSet, antrag, isVZ, True, sumOffertRMC, minBetragRMC, sumOffertFremd, minBetragFremd)
If Not preistaffelIsSet Then setMWSTABRfromSPEDinPOS(r, landNr, landBez, summeRMC, summeFremd, (containRMC AndAlso containFremd), posSet, preistaffelIsSet, antrag, isVZ, True, sumOffertRMC, minBetragRMC, sumOffertFremd, minBetragFremd)
'If posSet Then Exit For
End If
@@ -2883,8 +2890,8 @@ Public Class usrCntlFaktAbrechnung
Next
' mind??KD
If BS415_Berechnungbetrag <> 0 Then
If BS415_Berechnungbetrag <0 Then BS415_Berechnungbetrag *= -1
BS415= Int(BS415_Berechnungbetrag * KD.Bankspesen + 0.5)
If BS415_Berechnungbetrag < 0 Then BS415_Berechnungbetrag *= -1
BS415 = Int(BS415_Berechnungbetrag * KD.Bankspesen + 0.5)
End If
End If
@@ -3062,7 +3069,7 @@ Public Class usrCntlFaktAbrechnung
If Kreditaufwendungen_Berechnungbetrag <> 0 Then
' MsgBox("1: " & Kreditaufwendungen_Berechnungbetrag)
If Kreditaufwendungen_Berechnungbetrag < 0 Then Kreditaufwendungen_Berechnungbetrag *= -1
Kreditaufwendungen = Math.round(Kreditaufwendungen_Berechnungbetrag * KD.Kreditaufwendungen, 2) '(Int(Kreditaufwendungen_Berechnungbetrag * KD.Kreditaufwendungen) * 10 + 0.5) / 10
Kreditaufwendungen = Math.Round(Kreditaufwendungen_Berechnungbetrag * KD.Kreditaufwendungen, 2) '(Int(Kreditaufwendungen_Berechnungbetrag * KD.Kreditaufwendungen) * 10 + 0.5) / 10
End If
End If
@@ -3415,7 +3422,7 @@ Public Class usrCntlFaktAbrechnung
If cboFiliale.Text.EndsWith("/") And cboFiliale.Text.Contains("-") Then
Dim t As String = cboFiliale.Text
t = t.Replace("/", "")
Dim v() = t.split("-")
Dim v() = t.Split("-")
If v.Length > 1 Then
txtAbfertigungsnummer.Text = v(1)
@@ -4745,7 +4752,7 @@ Nächste_Textzeile_lesen:
End Function
Private Sub setMWSTABRfromSPEDinPOS(r As DataGridViewRow, LandNr As String, LandBez As String, ByRef summeRMC As Double, ByRef summeFremd As Double, ByRef FremdUndRMC As Boolean, ByRef POSChanged As Boolean, Optional antrag As cUSTVAntrag = Nothing, Optional isVZ As Boolean = False, Optional changed As Boolean = False, Optional sumOffertRMC As Double = 0, Optional BearbRMC As Double = 0, Optional sumOffertFremd As Double = 0, Optional BearbFremd As Double = 0)
Private Sub setMWSTABRfromSPEDinPOS(r As DataGridViewRow, LandNr As String, LandBez As String, ByRef summeRMC As Double, ByRef summeFremd As Double, ByRef FremdUndRMC As Boolean, ByRef POSChanged As Boolean, ByRef setPreisstaffel As Boolean, Optional antrag As cUSTVAntrag = Nothing, Optional isVZ As Boolean = False, Optional changed As Boolean = False, Optional sumOffertRMC As Double = 0, Optional BearbRMC As Double = 0, Optional sumOffertFremd As Double = 0, Optional BearbFremd As Double = 0)
If SPEDBUCH IsNot Nothing AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then
@@ -4753,6 +4760,7 @@ Nächste_Textzeile_lesen:
Dim OFFERT_VZ = False
Dim OFFERT_RMC = False
Dim OFFERT_FREMD = False
Dim OFFERT_Staffelpreis As Double = -1
Dim OFFERT_LeistungsBez = r.Cells("LeistungsBez").Value
If Not IsDBNull(r.Cells("Land").Value) AndAlso r.Cells("Land").Value IsNot Nothing AndAlso r.Cells("Land").Value <> "" Then OFFERT_LAND = r.Cells("Land").Value
@@ -4763,6 +4771,8 @@ Nächste_Textzeile_lesen:
If Not IsDBNull(r.Cells("Fremd").Value) AndAlso r.Cells("Fremd").Value IsNot Nothing Then OFFERT_FREMD = r.Cells("Fremd").Value
If Not IsDBNull(r.Cells("Staffelpreis").Value) AndAlso r.Cells("Staffelpreis").Value IsNot Nothing Then OFFERT_Staffelpreis = r.Cells("Staffelpreis").Value
If OFFERT_LeistungsBez <> "" AndAlso OFFERT_LAND <> "" Then
@@ -4856,9 +4866,22 @@ Nächste_Textzeile_lesen:
Next
If OFFERT_Staffelpreis > -1 Then
If OFFERT_Staffelpreis > sumVZAntrag Then
'überspringen
Else
setPreisstaffel = True
isMWST = True
GoTo mwst
End If
Else
isMWST = True
GoTo mwst
End If
ElseIf Not isVZ AndAlso Not OFFERT_VZ Then
For Each ANTR_POS As cUStVPositionen In antrag.POSITIONEN
@@ -4867,8 +4890,21 @@ Nächste_Textzeile_lesen:
Next
If OFFERT_Staffelpreis > -1 Then
If OFFERT_Staffelpreis > sumVZAntrag Then
'überspringen
Else
setPreisstaffel = True
isMWST = True
GoTo mwst
End If
Else
isMWST = True
GoTo mwst
End If
End If
End If

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.4.3.4")>
<Assembly: AssemblyFileVersion("1.4.3.4")>
<Assembly: AssemblyVersion("1.4.3.5")>
<Assembly: AssemblyFileVersion("1.4.3.5")>

View File

@@ -74,29 +74,29 @@ Public Class usrCntlUSTV
' .Columns("UStVAn_ID").Visible = False
.Columns("UStVAn_ID").Width = 70
.Columns("UStVAn_ID").HeaderText = "ID"
.Columns("UStVAn_ID").Frozen = True
'.Columns("UStVAn_ID").Frozen = True
.Columns("UStVAn_AntragArt").HeaderText = "Art"
.Columns("UStVAn_AntragArt").MinimumWidth = 50
.Columns("UStVAn_AntragArt").Frozen = True
'.Columns("UStVAn_AntragArt").Frozen = True
.Columns("UStVAn_KuNr").HeaderText = "KundenNr"
.Columns("UStVAn_Name").MinimumWidth = 70
.Columns("UStVAn_KuNr").Frozen = True
'.Columns("UStVAn_KuNr").Frozen = True
.Columns("UStVAn_Name").HeaderText = "Firma"
.Columns("UStVAn_Name").Width = 200
.Columns("UStVAn_Name").Frozen = True
'.Columns("UStVAn_Name").Frozen = True
' .Columns("UStVAn_Name").MinimumWidth = 150
' .Columns("UStVAn_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("UStVAn_LandKz").HeaderText = "Land"
.Columns("UStVAn_LandKz").Width = 60
.Columns("UStVAn_LandKz").Frozen = True
'.Columns("UStVAn_LandKz").Frozen = True
.Columns("Land_Antrag").HeaderText = "Antrag Land"
.Columns("Land_Antrag").Width = 60
.Columns("Land_Antrag").Frozen = True
'.Columns("Land_Antrag").Frozen = True
.Columns("UStVAn_ReDatVon").HeaderText = "Von"
'.Columns("UStVAn_ReDatVon").DefaultCellStyle = DataGridViewCellStyleDate

View File

@@ -163,6 +163,8 @@ Public Class usrCntlOfferte
.Columns("RMC").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Fremd").Width = 40
.Columns("Fremd").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Staffelpreis").Width = 80
.Columns("Staffelpreis").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
End If
loaded = True
@@ -585,7 +587,7 @@ Public Class usrCntlOfferte
For Each c As DataGridViewColumn In .Columns
If isVerag360 Then
If (c.Name = "Preis" Or c.Name = "LeistungsBez" Or c.Name = "Anzahl" Or c.Name = "BerechnungsartNr" Or c.Name = "BerechnungsartPosInkludiert" Or c.Name = "BGebLeistungsNr" Or c.Name = "BGebProzent" Or c.Name = "BGebMinBetrag" Or c.Name = "Land" Or c.Name = "VZ" Or c.Name = "RMC" Or c.Name = "Fremd") Then
If (c.Name = "Preis" Or c.Name = "LeistungsBez" Or c.Name = "Anzahl" Or c.Name = "BerechnungsartNr" Or c.Name = "BerechnungsartPosInkludiert" Or c.Name = "BGebLeistungsNr" Or c.Name = "BGebProzent" Or c.Name = "BGebMinBetrag" Or c.Name = "Land" Or c.Name = "VZ" Or c.Name = "RMC" Or c.Name = "Fremd" Or c.Name = "Staffelpreis") Then
If edit Then
c.ReadOnly = False
handleEditMode(edit)
@@ -700,7 +702,7 @@ Public Class usrCntlOfferte
.Columns("VZ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("RMC").Width = 40
.Columns("RMC").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
.Columns("Fremd").Width = 40
.Columns("Fremd").Width = 70
.Columns("Fremd").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
End If
@@ -1003,7 +1005,7 @@ Public Class usrCntlOfferte
Private Function addFieldsOffert(ByRef OffertenNr As Integer, ByRef fields As String)
If OffertenNr = 14 Or OffertenNr = 15 Or OffertenNr = 31 Then
fields = ", Land, VZ, RMC, Fremd "
fields = ", MDM_Land as Land, MDM_VZ as VZ, MDM_RMC as RMC, MDM_Fremd as Fremd, MDM_Staffelpreis as Staffelpreis "
Return True
End If
Return False

View File

@@ -271,8 +271,8 @@ Public Class cOfferte
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
P.Land = setLand(P.OffertenNr, P.LeistungsNr, r("LeistungsBez"))
P.VZ = setVZ(P.OffertenNr, P.LeistungsNr, r("LeistungsBez"))
P.MDM_Land = setLand(P.OffertenNr, P.LeistungsNr, r("LeistungsBez"))
P.MDM_VZ = setVZ(P.OffertenNr, P.LeistungsNr, r("LeistungsBez"))
If Not P.INSERT() Then
Return False
@@ -332,8 +332,8 @@ Public Class cOfferte
'P.PreisänderungProzent = XXXXXXXXX
'P.PreisAlt = XXXXXXXXX
P.Land = setLand(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
P.VZ = setVZ(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
P.MDM_Land = setLand(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
P.MDM_VZ = setVZ(P.OffertenNr, P.LeistungsNr, P.LeistungsBez)
If Not P.INSERT() Then
Return False
@@ -429,10 +429,12 @@ Public Class cOffertPosition
Property PreisAlt As Object = Nothing
Property BerechnungsartPosInkludiert As Object = Nothing
Property SSMA_TimeStamp As Object = Nothing
Property Land As Object = Nothing
Property VZ As Object = Nothing
Property RMC As Object = Nothing
Property Fremd As Object = Nothing
Property MDM_Land As Object = Nothing
Property MDM_VZ As Object = Nothing
Property MDM_RMC As Object = Nothing
Property MDM_Fremd As Object = Nothing
Property MDM_Staffelpreis As Object = Nothing
Dim SQL As New SQL
@@ -499,10 +501,11 @@ Public Class cOffertPosition
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisänderungProzent", PreisänderungProzent))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisAlt", PreisAlt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Land", Land))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RMC", RMC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremd", Fremd))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MDM_Land", MDM_Land))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MDM_VZ", MDM_VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MDM_RMC", MDM_RMC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MDM_Fremd", MDM_Fremd))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MDM_Staffelpreis", MDM_Staffelpreis))
Return list
End Function