From 0c83e2967cd3af1d22977a5140305b19eb755738 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Thu, 14 Nov 2024 08:09:04 +0100 Subject: [PATCH] fix MDM, frmMain, --- SDL/frmMain.vb | 2 +- SDL/mdm/frmMDMDatenverarbetiung.vb | 42 +++++++++++---- .../Classes/cMDMFunctionsAllgemein.vb | 54 ++++++++++--------- 3 files changed, 62 insertions(+), 36 deletions(-) diff --git a/SDL/frmMain.vb b/SDL/frmMain.vb index f21ab6ca..41b4ea29 100644 --- a/SDL/frmMain.vb +++ b/SDL/frmMain.vb @@ -157,7 +157,7 @@ Public Class frmMain Dim f As New frmZEButtons("in", VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_timasFirmen) f.ShowDialog() f.BringToFront() - + Else Dim info timas.setTimeEntry(cAllgemein.MITARBEITER, Now, info, "in", IIf(cAllgemein.MITARBEITER.mit_homeoffice, 3, 0)) MsgBox(info) diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 9423d85d..6e24fccd 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -4078,7 +4078,7 @@ Public Class frmMDMDatenverarbetiung Private Function setRechenwerteIDS() As Boolean 'Abrechnungsdatum setzen - Return False + 'Return False If Not LIEFERANT = "IDS" Then Return False @@ -4095,6 +4095,8 @@ Public Class frmMDMDatenverarbetiung trans.Rechenwert = 0 trans.Kz = "R" + Dim KategorieNr = 0 + If trans.TransactionVolume <> 0 Then trans.avpriceexclVAT = trans.TotalNetAmount / trans.TransactionVolume End If @@ -4113,7 +4115,9 @@ Public Class frmMDMDatenverarbetiung If dtLandStationKundeProdukt.Rows.Count > 0 Then rechnenwertVorhanden = True For Each r In dtLandStationKundeProdukt.Rows - + KategorieNr = r.Cell("KategorieNr") + trans.Rechenwert = r.Cell("Rechenwert") + trans.Kz = r.Cell("Kz") Next End If @@ -4125,7 +4129,9 @@ Public Class frmMDMDatenverarbetiung If dtLandKundeProdukt.Rows.Count > 0 Then rechnenwertVorhanden = True For Each r In dtLandKundeProdukt.Rows - + KategorieNr = r.Cell("KategorieNr") + trans.Rechenwert = r.Cell("Rechenwert") + trans.Kz = r.Cell("Kz") Next End If End If @@ -4142,7 +4148,9 @@ Public Class frmMDMDatenverarbetiung If dtLandStationProdukt.Rows.Count > 0 Then rechnenwertVorhanden = True For Each r In dtLandStationProdukt.Rows - + KategorieNr = r.Cell("KategorieNr") + trans.Rechenwert = r.Cell("Rechenwert") + trans.Kz = r.Cell("Kz") Next End If @@ -4156,7 +4164,9 @@ Public Class frmMDMDatenverarbetiung If dtLandProdukt.Rows.Count > 0 Then rechnenwertVorhanden = True For Each r In dtLandProdukt.Rows - + KategorieNr = r.Cell("KategorieNr") + trans.Rechenwert = r.Cell("Rechenwert") + trans.Kz = r.Cell("Kz") Next End If End If @@ -4164,8 +4174,21 @@ Public Class frmMDMDatenverarbetiung + 'Rechenwert eintragen: + If KategorieNr > 0 Then - If trans.Rechenwert > 0 Then + Dim sqlRechenwert = "SELECT tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Kategorien_Rechenwerte.Rechenwert + FROM tbl_IDS_Kategorien_Rechenwerte + WHERE (((tbl_IDS_Kategorien_Rechenwerte.KategorieNr)=" & KategorieNr & ") AND ((tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode)=" & row.Cells("ProductTypeCode").Value & ")) + ORDER BY tbl_IDS_Kategorien_Rechenwerte.Zeitstempel DESC" + Dim dtRechenwert As DataTable = SQL.loadDgvBySql(sqlRechenwert, "FMZOLL") + If dtRechenwert.Rows.Count > 0 Then + + For Each r In dtRechenwert.Rows + trans.Rechenwert = +r.Cell("Rechenwert") + If trans.Rechenwert < 0 Then trans.Rechenwert = 0 + Next + End If '!Rechenwert = rstIDSRechenwert!Rechenwert '1720 !Kz = rstIDSRechenwert!Kz '1730 If Not IsNull(rstIDSRechenwert!KategorieNr) Then @@ -4191,17 +4214,17 @@ Public Class frmMDMDatenverarbetiung Select Case trans.Kz Case "P" 'Rechenwert ist Preis pro Liter - trans.Rabattbetrag = row.Cells("TotalNetAmount").Value - (row.Cells("Rechenwert").Value * row.Cells("TransactionVolume").Value * 100 + 0.5) / 100 + trans.Rabattbetrag = row.Cells("TotalNetAmount").Value - (trans.Rechenwert * row.Cells("TransactionVolume").Value * 100 + 0.5) / 100 Case "R" 'Rechenwert ist Rabatt pro Liter - trans.Rabattbetrag = (row.Cells("Rechenwert").Value * row.Cells("TransactionVolume").Value * 100 + 0.5) / 100 + trans.Rabattbetrag = (trans.Rechenwert * row.Cells("TransactionVolume").Value * 100 + 0.5) / 100 End Select - 'Rechenwert eintragen: + If trans.TransactionVolume <> 0 Then trans.RabattbetragProLiter = row.Cells("Rabattbetrag").Value / row.Cells("TransactionVolume").Value @@ -4209,6 +4232,7 @@ Public Class frmMDMDatenverarbetiung trans.Zeitstempel = Now() trans.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + trans.SAVE() Next diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb index 1b0145b5..ed2f26ea 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -232,35 +232,37 @@ Public Class cMDMFunctionsAllgemein End If If (KundenNr > 0 Or sendMail) AndAlso dt IsNot Nothing Then + If Not dt.Columns.Contains("KundenNr") Then + dt.Columns.Add("KundenNr", GetType(String)) + dt.Columns.Add("VorschaubetragEUR", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_VERAG", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_IDS", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_IT", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_MSE", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_UTA", GetType(Double)) + dt.Columns.Add("VorschaubetragEUR_PLOSE", GetType(Double)) + dt.Columns.Add("UmsatzsteuerbetragEUR", GetType(Double)) + dt.Columns.Add("ErstattungsbetragEUR", GetType(Double)) + dt.Columns.Add("3470BetragEUR", GetType(Double)) + dt.Columns.Add("VZBetragEUR", GetType(Double)) + End If - dt.Columns.Add("KundenNr", GetType(String)) - dt.Columns.Add("VorschaubetragEUR", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_VERAG", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_IDS", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_IT", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_MSE", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_UTA", GetType(Double)) - dt.Columns.Add("VorschaubetragEUR_PLOSE", GetType(Double)) - dt.Columns.Add("UmsatzsteuerbetragEUR", GetType(Double)) - dt.Columns.Add("ErstattungsbetragEUR", GetType(Double)) - dt.Columns.Add("3470BetragEUR", GetType(Double)) - dt.Columns.Add("VZBetragEUR", GetType(Double)) Dim ro As DataRow = dt.NewRow - ro("KundenNr") = IIf(KundenNr > 0, KundenNr, r.Item("KundenNr")) - ro("VorschaubetragEUR") = curUStV_SummeVorschaubetragEUR - ro("VorschaubetragEUR_VERAG") = curUStV_SummeVorschaubetragEUR_VERAG - ro("VorschaubetragEUR_IDS") = curUStV_SummeVorschaubetragEUR_IDS - ro("VorschaubetragEUR_IT") = curUStV_SummeVorschaubetragEUR_IT - ro("VorschaubetragEUR_MSE") = curUStV_SummeVorschaubetragEUR_MSE - ro("VorschaubetragEUR_UTA") = curUStV_SummeVorschaubetragEUR_UTA - ro("VorschaubetragEUR_PLOSE") = curUStV_SummeVorschaubetragEUR_PLOSE - ro("UmsatzsteuerbetragEUR") = curUStV_SummeUmsatzsteuerbetragEUR - ro("ErstattungsbetragEUR") = curUStV_SummeErstattungsbetragEUR - ro("3470BetragEUR") = curUStV_Summe3470BetragEUR - ro("VZBetragEUR") = curUStV_SummeVZBetragEUR - dt.Rows.Add(ro) - End If + ro("KundenNr") = IIf(KundenNr > 0, KundenNr, r.Item("KundenNr")) + ro("VorschaubetragEUR") = curUStV_SummeVorschaubetragEUR + ro("VorschaubetragEUR_VERAG") = curUStV_SummeVorschaubetragEUR_VERAG + ro("VorschaubetragEUR_IDS") = curUStV_SummeVorschaubetragEUR_IDS + ro("VorschaubetragEUR_IT") = curUStV_SummeVorschaubetragEUR_IT + ro("VorschaubetragEUR_MSE") = curUStV_SummeVorschaubetragEUR_MSE + ro("VorschaubetragEUR_UTA") = curUStV_SummeVorschaubetragEUR_UTA + ro("VorschaubetragEUR_PLOSE") = curUStV_SummeVorschaubetragEUR_PLOSE + ro("UmsatzsteuerbetragEUR") = curUStV_SummeUmsatzsteuerbetragEUR + ro("ErstattungsbetragEUR") = curUStV_SummeErstattungsbetragEUR + ro("3470BetragEUR") = curUStV_Summe3470BetragEUR + ro("VZBetragEUR") = curUStV_SummeVZBetragEUR + dt.Rows.Add(ro) + End If Next End If