From a3fb1cbafc57c16ebae762448988f7a9fc149995 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Tue, 12 May 2026 08:49:01 +0200 Subject: [PATCH] =?UTF-8?q?Sichtbarkeit=20&=20Logging=20f=C3=BCr=20rbnPgGr?= =?UTF-8?q?oupAttmt=20verbessert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AssemblyVersion auf 2.9.1.0 erhöht - Sichtbarkeit von rbnPgGroupAttmt wird nun explizit vor Rückgabe gesetzt, abhängig von den Suchergebnissen - In FillIndexValues wird jetzt korrekt auf "CONNECTION_ID" geprüft und geloggt (statt "CONN_ID") - Gleiches gilt für das finale Indexing bei dynamischen SQL-Befehlen - Logmeldungen und Tab-Preloading-Verhalten wurden entsprechend angepasst und überprüft --- app/TaskFlow/My Project/AssemblyInfo.vb | 2 +- app/TaskFlow/frmValidator.vb | 11 +- app/TaskFlow/logtaskflow.txt | 150 ++++++++++++++++++++++++ 3 files changed, 158 insertions(+), 5 deletions(-) diff --git a/app/TaskFlow/My Project/AssemblyInfo.vb b/app/TaskFlow/My Project/AssemblyInfo.vb index dc23983..a16ce84 100644 --- a/app/TaskFlow/My Project/AssemblyInfo.vb +++ b/app/TaskFlow/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb index c6f555d..964e0e6 100644 --- a/app/TaskFlow/frmValidator.vb +++ b/app/TaskFlow/frmValidator.vb @@ -1131,6 +1131,9 @@ Public Class frmValidator _frmValidatorSearch._DTDocSearches = preloadDoc _frmValidatorSearch.TabPreload(preloadSQL.Rows.Count, preloadDoc.Rows.Count, preloadSQL, preloadDoc) + ' Sichtbarkeit explizit setzen, bevor Return + rbnPgGroupAttmt.Visible = AdditionalDataResultsExist OrElse AdditionalDocResultsExist + ' Vorgabe: Preload=True => Formular öffnen If Not _frmValidatorSearch.Visible Then _frmValidatorSearch.Show() @@ -5799,7 +5802,7 @@ Public Class frmValidator If Not IsNullOrEmpty(oRow.Item("CONNECTION_ID")) Then oCONNID = CInt(oRow.Item("CONNECTION_ID")) Else - MyValidationLogger.Warn($"⚠️ CONN_ID is null or empty for CONTROL_ID {oDEPENDING_CTRL_ID} - defaulting to 1") + MyValidationLogger.Warn($"⚠️ CONNECTION_ID is null or empty for CONTROL_ID {oDEPENDING_CTRL_ID} - defaulting to 1") 'vormals CONN_ID End If Catch ex As Exception MyValidationLogger.Warn($"⚠️ FillIndexValues - Error in creating dropdown for Grid - CONTROL_ID {oDEPENDING_CTRL_ID}: " & ex.Message) @@ -6348,10 +6351,10 @@ Public Class frmValidator Dim oGUID = oFinalIndexRow.Item("GUID") Dim oSQLCommand = oFinalIndexRow.Item("SQL_COMMAND") Dim oConnectionID = 1 - If Not IsNullOrEmpty(oFinalIndexRow.Item("CONN_ID")) Then - oConnectionID = CInt(oFinalIndexRow.Item("CONN_ID")) + If Not IsNullOrEmpty(oFinalIndexRow.Item("CONNECTION_ID")) Then + oConnectionID = CInt(oFinalIndexRow.Item("CONNECTION_ID")) Else - MyValidationLogger.Warn($"⚠️ CONN_ID is null or empty for final indexing of index {oFinalIndex} - defaulting to 1") + MyValidationLogger.Warn($"⚠️ CONNECTION_ID is null or empty for final indexing of index {oFinalIndex} - defaulting to 1") 'vormals CONN_ID End If oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, PanelValidatorControl, True) If IsNothing(oSQLCommand) Then diff --git a/app/TaskFlow/logtaskflow.txt b/app/TaskFlow/logtaskflow.txt index e69de29..e27cee0 100644 --- a/app/TaskFlow/logtaskflow.txt +++ b/app/TaskFlow/logtaskflow.txt @@ -0,0 +1,150 @@ +13:45:45.0872|frmValidator|INFO >> Load_Additional_Searches -> ✓ SQL-Search 'Inhalte ZUGFeRD-XML': 67 Ergebnisse gefunden +13:45:45.0872|taskFLOW|DEBUG >> ReplaceAllValues -> input BEFORE replacing: [Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = {#IDBA#ObjectID}] +13:45:45.0872|taskFLOW|DEBUG >> ReplaceIDBAttributes -> Starting ReplaceIDBAttributes with input: [Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = {#IDBA#ObjectID}] for document ID: 4511694 +13:45:45.0872|taskFLOW|DEBUG >> ReplaceIDBAttributes -> IS_SQL = True - oReplaceValue = [{#IDBA#ObjectID}] +13:45:45.0872|taskFLOW|DEBUG >> ReplaceIDBAttributes -> oIDBValue = 4511694 +13:45:45.0872|taskFLOW|DEBUG >> ReplaceIDBAttributes -> sql after ReplaceIDBAttributes: Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = {#IDBA#ObjectID} +13:45:45.0872|taskFLOW|DEBUG >> ReplaceControlValues -> Starting ReplaceControlValues with input: [Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = 4511694] for document ID: 4511694 +13:45:45.0872|taskFLOW|DEBUG >> ReplaceAllValues -> input AFTER replacing: [Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = 4511694] +13:45:45.0872|DatabaseWithFallback|DEBUG >> GetDatatable -> ForceFallback is True, falling back to direct database access. +13:45:45.0872|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase -> Fetching data from database [ECM] with Connection Id [ECM] +13:45:45.0872|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase -> Retrieving Connection String from Connection Id [1] +13:45:45.0872|MSSQLServer|DEBUG >> Get_ConnectionStringforID -> Getting ConnectionString for ConnectionId [1] +13:45:45.0872|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=W2K19SRV398;Database=DD_ECM;User Id=EDMAdmin;Password=XXXXX;Application Name=DD_EDMIAppService;Workstation ID=W2K19SRV391; +13:45:45.0872|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction] +13:45:45.0872|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters [] +13:45:45.0872|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Data Source=w2k19srv398;Initial Catalog=DD_ECM;User ID=EDMAdmin;Password=XXXXX +13:45:45.0872|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction] +13:45:45.0872|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [Select T.DocID,T.FULL_FILENAME,T.Doctype from TBPM_CUST_ATTACHMENTS T WITH (NOLOCK) INNER JOIN idb.dbo.VWIDB_DOC_DATA T1 ON T.EmailMessageID = T1.EmailMessageID WHERE T1.IDB_OBJ_ID = 4511694] and Parameters [] +13:45:45.5262|frmValidator|DEBUG >> Load_Additional_Searches -> ℹ️ Doc-Search 'Attachments': Keine Ergebnisse gefunden +13:45:45.5262|frmValidator|DEBUG >> Load_Additional_Searches -> Ergebnisprüfung abgeschlossen: AdditionalDataResultsExist=True, AdditionalDocResultsExist=False +13:45:45.5262|frmValidator|DEBUG >> Load_Additional_Searches -> rbnPgGroupAttmt.Visible gesetzt auf: True | Stack: + at taskFLOW.frmValidator.FillIndexValues(Boolean first, String SingleAttribute) +13:45:45.5262|frmValidator|DEBUG >> Load_Additional_Searches -> --- NORMAL-MODUS aktiviert (nur vorbereiten, NICHT Show) --- +13:45:45.5262|taskFLOW|DEBUG >> TabPreload -> === TabPreload START === +13:45:45.5262|taskFLOW|DEBUG >> TabPreload -> Parameters: TabCountSQL=1, TabCountDoc=0, DTSQL.Rows=1, DTDOC.Rows=0 +13:45:45.5262|taskFLOW|DEBUG >> TabPreload -> Ausführung auf UI-Thread +13:45:45.5262|taskFLOW|DEBUG >> TabPreload -> 🚫 Tab-Events deaktiviert +13:45:45.5262|taskFLOW|DEBUG >> TabPreload -> ✓ _DTDATASearches und _DTDocSearches zugewiesen: SQL=1, Doc=0 +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> Panel1Collapsed (SQL)=False, Panel2Collapsed (Doc)=True +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> Konfiguriere SQL-Tabs: 1 Definitionen +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=1) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=2) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=3) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=4) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=-1) +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> Alle 5 SQL-Tabs auf PageVisible=False gesetzt +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=0) +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> SQL-Tab 0: Text='Inhalte ZUGFeRD-XML', PageVisible=True +13:45:45.5322|taskFLOW|INFO >> TabPreload -> ✓ 1 SQL-Tabs konfiguriert +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> Keine Doc-Daten, alle Tabs ausblenden +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1 -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=1) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1 -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=2) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1 -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=3) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1 -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=4) +13:45:45.5322|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1 -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=-1) +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> ✓ Tab-Events reaktiviert +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> Setze SQL SelectedTabPageIndex manuell auf 0 +13:45:45.5322|taskFLOW|DEBUG >> ReplaceAllValues -> input BEFORE replacing: [SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = {#IDBA#ObjectID}) +ORDER BY GROUP_COUNTER, SPEC_NAME] +13:45:45.5322|taskFLOW|DEBUG >> ReplaceIDBAttributes -> Starting ReplaceIDBAttributes with input: [SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = {#IDBA#ObjectID}) +ORDER BY GROUP_COUNTER, SPEC_NAME] for document ID: 4511694 +13:45:45.5322|taskFLOW|DEBUG >> ReplaceIDBAttributes -> IS_SQL = True - oReplaceValue = [{#IDBA#ObjectID}] +13:45:45.5322|taskFLOW|DEBUG >> ReplaceIDBAttributes -> oIDBValue = 4511694 +13:45:45.5322|taskFLOW|DEBUG >> ReplaceIDBAttributes -> sql after ReplaceIDBAttributes: SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = {#IDBA#ObjectID}) +ORDER BY GROUP_COUNTER, SPEC_NAME +13:45:45.5322|taskFLOW|DEBUG >> ReplaceControlValues -> Starting ReplaceControlValues with input: [SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = 4511694) +ORDER BY GROUP_COUNTER, SPEC_NAME] for document ID: 4511694 +13:45:45.5322|taskFLOW|DEBUG >> ReplaceAllValues -> input AFTER replacing: [SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = 4511694) +ORDER BY GROUP_COUNTER, SPEC_NAME] +13:45:45.5322|taskFLOW|DEBUG >> TabPreload -> SQL-Tab 0: erzwungener Initial-Refresh +13:45:45.5322|DatabaseWithFallback|DEBUG >> GetDatatable -> ForceFallback is True, falling back to direct database access. +13:45:45.5322|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase -> Fetching data from database [ECM] with Connection Id [ECM] +13:45:45.5322|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase -> Retrieving Connection String from Connection Id [1] +13:45:45.5322|MSSQLServer|DEBUG >> Get_ConnectionStringforID -> Getting ConnectionString for ConnectionId [1] +13:45:45.5322|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Server=W2K19SRV398;Database=DD_ECM;User Id=EDMAdmin;Password=XXXXX;Application Name=DD_EDMIAppService;Workstation ID=W2K19SRV391; +13:45:45.5322|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction] +13:45:45.5322|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters [] +13:45:45.5322|MSSQLServer|DEBUG >> GetConnection -> The Following Connection is open: Data Source=w2k19srv398;Initial Catalog=DD_ECM;User ID=EDMAdmin;Password=XXXXX +13:45:45.5322|MSSQLServer|DEBUG >> MaybeGetTransaction -> Transaction Mode: [WithTransaction] +13:45:45.5322|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject -> GetDatatableWithConnectionObject: Running Query [SELECT + SPEC_NAME [Definitions-Name], + ITEM_DESCRIPTION [Beschreibung], + CASE + WHEN SPEC_NAME = 'INVOICE_POSITION_NOTE' THEN + REPLACE(REPLACE(ITEM_VALUE, CHAR(13),' '),CHAR(10),' ') + ELSE + ITEM_VALUE + END [Inhalt xml], + GROUP_COUNTER [Gruppenzähler], + IS_REQUIRED [Pflichtangabe], + CREATEDWHEN [Erstellt] +FROM dbo.TBEDMI_ITEM_VALUE WITH (NOLOCK) +WHERE REFERENCE_GUID = (SELECT EmailMessageID FROM IDB.dbo.VWIDB_DOC_DATA WHERE IDB_OBJ_ID = 4511694) +ORDER BY GROUP_COUNTER, SPEC_NAME] and Parameters [] +13:45:45.5832|taskFLOW|DEBUG >> TabPreload -> === TabPreload END === \ No newline at end of file