Die Änderungen umfassen:
- Hinzufügen der Variablen `CURRENT_DOC_ID` in `frmMain.vb`.
- Erweiterung der SQL-Löschlogik um zusätzliche Tabellen.
- Verbesserung der Nullprüfung (`Nothing` und `DBNull`).
- Einführung des optionalen Parameters `pRegularComplete` in `Check_UpdateIndexe`.
- Überspringen spezifischer Steuerelemente (`BTNDYN_GRID`) in Schleifen.
- Anpassung der Pflichtfeldvalidierung für mehrere Steuerelementtypen.
- Vereinheitlichung der Fehlermeldungsanzeige mit `OpenfrmError`.
- Verarbeitung von separaten Grids aus `_separateGridControlCache`.
- Refactoring der `ControlSettings`-Initialisierung für bessere Lesbarkeit.
- Sicherstellung der Batch-Verarbeitung bei Änderungen.
- Verbesserte Debug- und Warnmeldungen für bessere Nachvollziehbarkeit.
- Allgemeine Code-Optimierungen zur Steigerung der Wartbarkeit.
Die Erstellung neuer Labels in `frmFormDesigner.vb` wurde überarbeitet:
- Verwendung eines SQL-Insert-Statements anstelle der Methode `cmdInsertAnlage`.
- Hinzufügen einer Fehlerbehandlung mit Log-Nachricht und `MsgBox` bei fehlgeschlagenem Insert.
- Aktivierung der Label-Eigenschaften nur bei erfolgreichem Insert.
- Erweiterung der allgemeinen Fehlerbehandlung mit einer Benutzerbenachrichtigung.
In `frmValidator.vb` wurden folgende Änderungen vorgenommen:
- Zurücksetzen des Textes eines `ComboBox`-Steuerelements auf einen leeren String.
- Korrektur der Berechnung der verbleibenden Vorgänge (`Amount_Docs2Validate`), um den Zähler korrekt anzuzeigen.
Die Logik für `CONTROL_ACTIVE` wurde in allen relevanten Klassen
(`frmFormDesigner`, `frmMain`, `frmValidator`) vereinheitlicht.
SQL-Abfragen wurden angepasst, um nur aktive Steuerelemente
(`CONTROL_ACTIVE = 1`) zu berücksichtigen.
- Refactoring der `UpdateSingleValue`-Methode zur besseren
Lesbarkeit und Wartbarkeit.
- Erweiterung der Datentypunterstützung für `Boolean` in
`UpdateSingleValue`.
- Verbesserung der Fehlerbehandlung bei SQL-Updates durch
Logging und Variablen für komplexe SQL-Befehle.
- Entfernung redundanter Kommentare und Optimierung der
Abfragen für Effizienz und Konsistenz.
- Allgemeine Verbesserungen der Codequalität.
Die Assembly-Version in `AssemblyInfo.vb` wurde von 3.1.0.0
auf 3.2.0.0 aktualisiert. In `frmMain.vb` wurde die Logik zur
Verarbeitung von `oTypeId` angepasst. Die Überprüfung, ob ein
`frmValidator`-Formular geöffnet ist, erfolgt nun nur, wenn
`oTypeIdInt` den Wert 0 oder 1 hat. Die `Select Case`-Logik
wurde entsprechend angepasst, um die Bedingung zu berücksichtigen.
Die Freigabe von Dokumenten wurde zentralisiert, indem
`PRTF_PROFILE_FILES_WORK("FreeFile")` an mehreren Stellen
hinzugefügt wurde. Dies stellt sicher, dass Ressourcen
konsistent freigegeben werden, insbesondere vor dem
Schließen des Formulars oder bei Fehlern.
Die SQL-Logik für das Löschen von Einträgen in
`TBPM_DOCWALKOVER` wurde vereinfacht, und redundante
SQL-Aufrufe wurden entfernt. Die Funktion
`PRTF_PROFILE_FILES_WORK` wurde robuster gestaltet, indem
sie nur bei gültigen Dokument-IDs eine Abfrage ausführt.
Ein Fix wurde implementiert, um Grid-Events sofort zu
deregistrieren und potenzielle Zugriffe auf freigegebene
UI-Objekte zu verhindern. Zusätzlich wurden nicht mehr
benötigte Codezeilen entfernt, um die Lesbarkeit und
Wartbarkeit zu verbessern.
GdPicture.NET-Bibliotheken auf Version `14.4.4` aktualisiert.
Neue Logik in `frmMain.vb` und `frmMonitor.vb` implementiert, um zu prüfen, ob Monitore mit einer bestimmten ID bereits geöffnet sind, und diese in den Vordergrund zu bringen. Dynamische Schriftgrößenanpassung für Grid- und TreeList-Komponenten hinzugefügt.
In `frmColumn_Detail` wurde die `SQLConnection`-Eigenschaft auf `1` gesetzt und neue Eigenschaften wie `PlaceholdersManualPrefix`, `PlaceholdersManualTitle` und `PlaceholdersManual` hinzugefügt. Eine Bedingung für `ATTRIBUTE_STORE` wurde basierend auf `IDB_ACTIVE` eingeführt. Die Behandlung von SQL-Befehlen wurde erweitert.
In `frmFormDesigner.Designer.vb` und `frmFormDesigner.resx` wurden Bindings für `TBPM_CONTROL_TABLEBindingSource` und `DD_DMSLiteDataSet` entfernt und wieder hinzugefügt, um die Datenbindung zu aktualisieren.
In `frmMain` wurde die Variable `COCKPIT_PROFILE_SQL` eingeführt, um SQL-Befehle für Cockpit-Profile zu speichern. Zusätzliche Debugging-Logs und Prüfungen wurden hinzugefügt, um SQL-Befehle zu überwachen und Fehler zu protokollieren. Die Methode `PrepareIconColumn` wurde erweitert, um sicherzustellen, dass die Spalte `TL_STATE` vorhanden ist, bevor sie verwendet wird. Fehlerbehandlungen wurden verbessert.
- Neue Methode `frmInvDashboard_Shown` und `frmMonitor_Shown`, um sicherzustellen, dass die Formulare nach dem Anzeigen in den Vordergrund gebracht werden.
- Aktualisierung der Bildressourcen in `frmMain.Designer.vb` und `frmMain.resx`.
- Verbesserte SQL-Fehlerbehandlung in `LoadOverviewData` und Einführung der Variablen `isCustomSQL`.
- Zusätzliche Platzhalterformate für `USER_ID` in `PrepareSQLWithReplacements`.
- Gruppierungen in Profilansichten werden entfernt, und Gruppierungen werden nur für `OVERVIEW`-Ansichten erstellt.
- Verbesserte Logik für das Öffnen von `frmMonitor` und `frmInvDashboard`, einschließlich Overlay-Anzeige und Fokus-Restore.
Die Änderungen umfassen:
- Entfernung von `ToolTip1`- und `ImageOptions`-Eigenschaften zur Vereinfachung der Benutzeroberfläche.
- Hinzufügen von `_lastUsedOverviewSQL` zur Speicherung der letzten SQL-Abfrage.
- Erweiterung der SQL-Verarbeitung mit Platzhalterersetzung (`@PROFILE_ID`).
- Verbesserte Performance-Diagnose und Logging mit `LOG_HOTSPOTS`.
- Dynamische Aktualisierung der Baumknotenanzahl und verbesserte Hintergrundprozesse.
- Aktualisierung von Ressourcen und Lokalisierung zur Unterstützung mehrsprachiger Anwendungen.
- Entfernung von DevExpress-Komponenten und Modernisierung der UI-Elemente.
- Hinzufügen der Eigenschaft `Hide_Empty_Workflows` in `ClassConfig` zur Steuerung der Sichtbarkeit leerer Workflows.
- Neues Ribbon-Element `Bchkitm_load_empty_wf` zur Aktivierung/Deaktivierung der Funktion.
- Asynchrone Aktualisierung der Knotenanzahlen in `TreeList_Cockpit` mit `_treeNodeCounts`.
- Sichtbarkeitssteuerung für Knoten basierend auf der Checkbox `Bchkitm_load_empty_wf`.
- Verbesserte Benutzerfreundlichkeit durch Tooltips und Logging.
- Optimierung von SQL-Abfragen und Bereinigung von Knotenbezeichnungen.
Die Sichtbarkeitslogik in `ClassRefreshHelper.vb` wurde verbessert, um ungültige Indizes zu vermeiden. In `frmMain.vb` wurde die Methode `PrepareSQLWithReplacements` erweitert, um einen zusätzlichen Parameter `oProfileID` zu unterstützen, was die Flexibilität bei der SQL-Verarbeitung erhöht.
Zusätzliche Debug-Logs wurden hinzugefügt, um die Nachvollziehbarkeit zu verbessern, insbesondere bei SQL-Fehlern, Ladeprozessen und TreeList-Operationen. Die Fehlerbehandlung wurde optimiert, um spezifischere Warnungen und Validierungen zu ermöglichen.
Weitere Verbesserungen umfassen die Behandlung von `CUSTOM_OVERVIEW_SQL`, die Validierung des Overlays in `Decide_Load` und die Optimierung der SQL-Verarbeitung in `LoadOverviewData`. Allgemeine Code-Qualitätsmaßnahmen wie Kommentare und Strukturverbesserungen wurden ebenfalls vorgenommen.
Eine zusätzliche Bedingung wurde hinzugefügt, um den Fall zu behandeln, dass `oExportFilename` den Wert `Nothing` hat. In diesem Fall wird eine Log-Nachricht mit dem SQL-Befehl protokolliert und eine Fehlermeldung angezeigt, die den Benutzer auffordert, das Admin-Team zu informieren.
Außerdem wurde die bestehende Fehlermeldung angepasst, indem `vbcrlf` durch `vbCrLf` ersetzt wurde, um den Code konsistenter zu gestalten.
In der Datei Product.wxs wurde die Datei DLLLicenseManager.dll
zum Installationspaket hinzugefügt.
In frmInvDashboard.Designer.vb wurde der Adapter
VWPM_CHART_TOP5TableAdapter entfernt und durch das neue
Element CreateChartOtherRibbonPage1 ersetzt.
In frmValidator.vb wurden mehrere Verbesserungen vorgenommen:
- Debug- und Info-Logs für Exportprozesse hinzugefügt.
- SQL-Befehl für Export-Dateinamen angepasst.
- Verbesserte Fehlerbehandlung und Logging bei fehlenden
oder ungültigen Export-Dateinamen.
- Warn-Log für nicht gefundene Dateien ergänzt.
- Info-Log für leere Dokumentenlisten hinzugefügt.
- NavBarControl entfernt, Navigation erfolgt jetzt über TreeList_Cockpit mit modernem Design und Rechteprüfung (Monitor/Charts).
- TreeList lädt Cockpit-Struktur aus DB, blendet Knoten je nach Berechtigung aus und zeigt mehrsprachige Fehler bei fehlender Konfiguration.
- Klick auf Monitor- oder Chart-Knoten öffnet gezielt Monitor/Dashboard mit passender Konfiguration.
- Methoden zum Laden/Speichern/Entfernen von Monitor-Grid-Layouts vereinheitlicht und auf Cockpit-spezifische Layout-Dateien umgestellt.
- TreeList-Breite und Splitter-Positionen werden benutzerspezifisch gespeichert.
- Neuer Refresh-Button für TreeList im Ribbon ergänzt.
- Diverse Refactorings, Logging- und Fehlerbehandlungs-Verbesserungen.
Das Hauptfenster nutzt nun eine moderne, hierarchische Cockpit-Navigation auf Basis der DevExpress TreeList. Die TreeList ersetzt die bisherige alleinige Navigation über die NavBar und lädt ihre Struktur dynamisch aus der Datenbank. Knoten können asynchron Zähler nachladen und verschiedene Typen (Übersicht, Profil, SQL) abbilden. Die Datenlade-Logik wurde für die TreeList angepasst und erweitert. UI und Ressourcen wurden modernisiert, die TreeList ist für zukünftige Erweiterungen vorbereitet. Die NavBar bleibt erhalten, ist aber nicht mehr Hauptnavigation.
- 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
Verbesserung DocSearchLoad, Mapping Sharedrive
Refactoring Zusatzsuchen, Dokumentenhandling & Cleanup
Umfangreiches Refactoring der Zusatzsuchen-Logik (Validator/ValidatorSearch): Vereinheitlichung und Typprüfung der DataTables, zentrale Filterung, robustere Tab-Steuerung und thread-sicheres Nachladen. Netzlaufwerk-Mapping und Dokumentenpfad-Handling wurden entfernt bzw. auf neue Handler ausgelagert. Profilsuchen-Handling vereinheitlicht, Parametrierung (Working Mode) klarer strukturiert. Diverse Bugfixes, verbessertes Logging, Cleanup von Ressourcen und Projektdateien, veraltete Komponenten entfernt. Update auf DocumentViewer 2.6.0.0. Die Anwendung ist robuster, wartbarer und für Erweiterungen vorbereitet.