From 107a47a97e941f5924f83e28f3f7e4b8db28f4eb Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 10 Aug 2026 10:24:04 +0200 Subject: [PATCH] =?UTF-8?q?SQL-Abfragen=20auf=20aktive=20Eintr=C3=A4ge=20b?= =?UTF-8?q?eschr=C3=A4nkt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In `frmFormDesigner.vb` wurde die Logik zur Aktualisierung von "CONTROL_ACTIVE" angepasst, indem der Wert vor der Übergabe an `UpdateSingleValue` zwischengespeichert wird. In `frmMain.vb` und `frmValidator.vb` wurden SQL-Abfragen für die Tabellen `TBPM_PROFILE_CONTROLS` und `TBPM_CONTROL_TABLE` geändert, um sicherzustellen, dass nur aktive Einträge (`CONTROL_ACTIVE = 1`) berücksichtigt werden. Dies betrifft sowohl Standardabfragen als auch Abfragen mit Filtern. Die Änderungen verbessern die Datenkonsistenz und verhindern die Verarbeitung inaktiver Einträge. --- app/TaskFlow/frmFormDesigner.vb | 3 ++- app/TaskFlow/frmMain.vb | 2 +- app/TaskFlow/frmValidator.vb | 7 +++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/TaskFlow/frmFormDesigner.vb b/app/TaskFlow/frmFormDesigner.vb index 4fb7fa5..9fa1139 100644 --- a/app/TaskFlow/frmFormDesigner.vb +++ b/app/TaskFlow/frmFormDesigner.vb @@ -906,7 +906,8 @@ Public Class frmFormDesigner UpdateSingleValue("REGEX_MESSAGE_DE", newValue) Case "Active" - UpdateSingleValue("CONTROL_ACTIVE", IIf(newValue = True, 1, 0)) + Dim oActive As Boolean = IIf(newValue = True, 1, 0) + UpdateSingleValue("CONTROL_ACTIVE", oActive) Case "DISPLAY_SEP_FORM" UpdateSingleValue("DISPLAY_IN_SEPERATE_FORM", IIf(newValue = True, 1, 0)) diff --git a/app/TaskFlow/frmMain.vb b/app/TaskFlow/frmMain.vb index c70c421..f882d3e 100644 --- a/app/TaskFlow/frmMain.vb +++ b/app/TaskFlow/frmMain.vb @@ -3204,7 +3204,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G }) EnsureProfileSearchType(BASEDATA_DT_PROFILES_SEARCHES_DATA, "SQL", NameOf(BASEDATA_DT_PROFILES_SEARCHES_DATA)) - oSQL = String.Format("SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{0}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, '{0}' as LANGUAGE, * FROM TBPM_PROFILE_CONTROLS WITH (NOLOCK)", {USER_LANGUAGE}) + oSQL = String.Format("SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{0}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, '{0}' as LANGUAGE, * FROM TBPM_PROFILE_CONTROLS WITH (NOLOCK) WHERE CONTROL_ACTIVE = 1", {USER_LANGUAGE}) BASEDATA_TBPM_PROFILE_CONTROLS = DatabaseFallback.GetDatatable("TBPM_PROFILE_CONTROLS_LANGUAGE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With { .FilterExpression = String.Format("LANGUAGE = '{0}'", {USER_LANGUAGE}) }) diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb index 3c044eb..0cdff74 100644 --- a/app/TaskFlow/frmValidator.vb +++ b/app/TaskFlow/frmValidator.vb @@ -1380,9 +1380,8 @@ Public Class frmValidator Next End If ' ========== ENDE ========== - oSQL = $"SELECT IIF(LANG.CAPTION IS NULL,T.SPALTEN_HEADER,LANG.CAPTION) SPALTEN_HEADER_LANG, T.* from TBPM_CONTROL_TABLE T WITH (NOLOCK) INNER JOIN TBPM_PROFILE_CONTROLS T1 WITH (NOLOCK) ON T.CONTROL_ID = T1.GUID - LEFT JOIN (SELECT * FROM TBPM_CONTOL_TABLE_LANG WHERE LANG_CODE = '{USER_LANGUAGE}') LANG ON T.GUID = LANG.COL_ID WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY T.SEQUENCE" + LEFT JOIN (SELECT * FROM TBPM_CONTOL_TABLE_LANG WHERE LANG_CODE = '{USER_LANGUAGE}') LANG ON T.GUID = LANG.COL_ID WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY T.SEQUENCE" DT_COLUMNS_GRID = DatabaseFallback.GetDatatable("TBPM_CONTROL_TABLE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With { .FilterExpression = $"PROFIL_ID = {CURRENT_ProfilGUID} AND LANG_CODE = '{USER_LANGUAGE}' ", .SortByColumn = "SEQUENCE" @@ -3780,9 +3779,9 @@ Public Class frmValidator ' Fallback zu SQL Dim query As String If String.IsNullOrWhiteSpace(filter) Then - query = "SELECT * FROM TBPM_PROFILE_CONTROLS" + query = "SELECT * FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1" Else - query = $"SELECT * FROM TBPM_PROFILE_CONTROLS WHERE {filter}" + query = $"SELECT * FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND {filter}" End If If Not String.IsNullOrWhiteSpace(SortBy) Then