diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 237670bd..1cfbdf02 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -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,8 +4866,21 @@ Nächste_Textzeile_lesen: Next - isMWST = True - GoTo mwst + 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 @@ -4867,8 +4890,21 @@ Nächste_Textzeile_lesen: Next - isMWST = True - GoTo mwst + 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 diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 2415323f..f8a69d77 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index f64b4fcb..aee86f15 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -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 diff --git a/SDL/kunden/usrCntlOfferte.vb b/SDL/kunden/usrCntlOfferte.vb index abdc94f1..39b072de 100644 --- a/SDL/kunden/usrCntlOfferte.vb +++ b/SDL/kunden/usrCntlOfferte.vb @@ -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 diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb b/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb index a255659a..692bee04 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cOfferte.vb @@ -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