19 Commits

Author SHA1 Message Date
Developer01
5b61a340a1 Proj? 2026-06-24 15:24:29 +02:00
Developer01
4323fbff01 Kontierung im separaten Formular 2026-06-24 15:24:15 +02:00
Developer01
0f518ec8e7 Spalten in Grid die einen Dialog habenw erden nun nicht mehr grau angezeigt 2026-06-23 14:07:45 +02:00
Developer01
f2bb6d8380 log geleert 2026-06-19 12:46:31 +02:00
Developer01
21d045616e Verbesserung der Dokumentpfad-Verarbeitung
In der `frmValidator.vb`-Datei wurde die Formatierung des
`DocumentPathOptions`-Objekts zur besseren Lesbarkeit angepasst.
Ein neuer `Else`-Zweig protokolliert Warnungen bei
Dokumentpfad-Verarbeitungsfehlern und greift auf den Originalpfad
zurück. Eine neue Zeile setzt `CURRENT_DOC_PATH` bei erfolgreicher
Verarbeitung. Im `logtaskflow.txt`-Protokoll wurden detaillierte
Debug- und Info-Meldungen hinzugefügt, die den Prozess des
automatischen Mappens eines Netzlaufwerks und das Kopieren von
Dateien in einen temporären Ordner beschreiben.
2026-06-19 12:46:09 +02:00
Developer01
540f9bcc12 Aktualisierung, Speichern und Leeren von GridControl-Zellen 2026-06-19 10:36:36 +02:00
Developer01
e2016e4214 Vor Übernahme 2026-06-18 17:23:36 +02:00
Developer01
9be2a50625 Aktualisiere Bibliotheksverweise
Die `taskFLOW.vbproj`-Datei wurde aktualisiert, um Verweise auf neuere Versionen von Bibliotheken und Paketen zu reflektieren. Die GdPicture.NET-Bibliotheken wurden auf Version 14.4.4.0 aktualisiert, und neue Verweise auf `NativeSDK`-Komponenten wurden hinzugefügt. Microsoft.Bcl.AsyncInterfaces und Microsoft.Bcl.Cryptography wurden auf Version 10.0.0.5 aktualisiert, und ein neuer Verweis auf `Microsoft.Bcl.HashCode` wurde hinzugefügt. Die OpenMcdf-Bibliothek wurde auf Version 3.1.4.0 aktualisiert. Mehrere Systembibliotheken wurden ebenfalls auf neuere Versionen aktualisiert, um die Kompatibilität und Funktionalität der Anwendung zu verbessern.
2026-06-18 13:06:49 +02:00
Developer01
70c9bbe11a GDPicture Update. GridControl.vb Conenction_ID auf 1 2026-06-18 12:57:02 +02:00
Developer01
d8b1cca14d log geleert 2026-06-16 08:11:40 +02:00
Developer01
0cc7fe45d3 Optimierung von SQL-Caching und dynamischen Editoren
Ein neuer Shared-Cache (`_ResolvedSqlCache`) wurde eingeführt, um die Performance bei der Verarbeitung von SQL-Platzhaltern zu verbessern. Die Methode `ResolveSqlTemplate` nutzt diesen Cache, um SQL-Templates effizienter zu verarbeiten.

Die neue Hilfsfunktion `ConvertToSqlValue` ermöglicht eine sichere und wiederverwendbare Konvertierung von Zellwerten in SQL-kompatible Strings.

Die visuelle Kennzeichnung dynamischer Editoren wurde durch den `CustomDrawCell`-Eventhandler verbessert, indem leere Zellen grau eingefärbt werden. Änderungen in dynamischen Spalten führen nun zu gezielter Cache-Invalidierung und asynchronem Grid-Refresh.

Die Logging-Strategie wurde überarbeitet, um präzisere Informationen zu liefern. Fehlerbehandlung und Benutzerkommunikation wurden erweitert, um die Stabilität und Nachvollziehbarkeit zu erhöhen.

Zusätzlich wurden allgemeine Code-Optimierungen vorgenommen, um die Lesbarkeit und Wartbarkeit zu verbessern.
2026-06-16 08:10:16 +02:00
Developer01
3e7d700536 Optimierung von dynamischen Editoren und Debugging-Logs
Neue Funktionalität für dynamische Editoren:
- Einführung eines Shared-Caches (`_DynamicEditorCacheShared`) zur Wiederverwendung von Editoren in `GridControl`.
- Dynamische Editoren werden nun pro Zeile behandelt und bei Bedarf aus dem Cache geladen oder neu erstellt.
- Neue Methode `ClearDynamicEditorCache`, um den Cache bei Dokumentwechsel zu leeren.

Optimierung der Ereignisbehandlung:
- Überarbeitung des `CustomRowCellEdit`-Events für effizientere Zuweisung dynamischer Editoren.
- Vereinfachung der Logik für `ShowingEditor` und Entfernung veralteter Logik für `HiddenEditor`.

Erweiterte Debugging-Optionen:
- Einführung des Flags `LOG_HOTSPOTS`, um gezielt Debugging-Informationen zu aktivieren.
- Verbesserte Logs für SQL-Abfragen, Cache-Zugriffe und Editor-Erstellungen.

Code-Bereinigung und Stabilität:
- Entfernung redundanter Logik und Vereinfachung der Behandlung von Währungsformaten.
- Verbesserte Speicherverwaltung durch explizites Entfernen und Disposen von Editoren.
- Zusätzliche Sicherheitsprüfungen und Fehlerbehandlungen.

Ziel der Änderungen:
Verbesserung der Performance durch Caching, Erhöhung der Stabilität durch erweiterte Fehlerbehandlung und Optimierung der Wartbarkeit durch klarere Logs und vereinfachte Logik.
2026-06-11 16:47:32 +02:00
Developer01
d7546e23cc Erweiterung der Platzhalter- und Speicherverwaltung
Die `GridControl`-Klasse wurde erweitert, um dynamische
Platzhalterverarbeitung zu unterstützen. Dies umfasst die
Einführung eines neuen Feldes `_ParentControl`, die Anpassung
des Konstruktors und die Erweiterung der Methode
`ResolveSqlTemplate`.

Neue Ereignisse wie `HiddenEditor` wurden hinzugefügt, um
Speicherlecks zu vermeiden, und die `ShowingEditor`-Logik
wurde verbessert, um alte Editoren korrekt zu entfernen und
zu entsorgen. Dynamische Editor-Spalten werden nun gecacht,
und Debugging-Informationen wurden in mehreren Methoden
ergänzt.

Formulare wie `frmColumn_Detail`, `frmFormDesigner`,
`frmMassValidator` und `frmValidator` wurden angepasst, um
das neue Verhalten zu unterstützen. Verbesserte
Fehlerbehandlung und Protokollierung erhöhen die Stabilität
und Nachverfolgbarkeit.
2026-06-10 12:06:50 +02:00
Developer01
c0a17f5cd4 Refaktorierung und Bugfixes im Datenverarbeitungscode
- Refaktorierung von Funktionen zur Verbesserung der Lesbarkeit.
- Behebung eines Fehlers in der Datenvalidierungslogik.
- Optimierung der Schleifen für bessere Performance.
- Hinzufügen von Unit-Tests zur Sicherstellung der Codequalität.
- Aktualisierung der Dokumentation für geänderte Funktionen.
2026-06-09 17:11:23 +02:00
Developer01
6260c215f2 Unterstützung für dynamische SQL-Templates hinzugefügt
Die Änderungen umfassen:
- Hinzufügen von Platzhalter-Checks für SQL-Templates (`ContainsTableColumnPlaceholder`) und deren Verarbeitung.
- Implementierung zeilenspezifischer Editoren (`CreateRowSpecificEditor`) basierend auf aufgelösten SQL-Templates.
- Erweiterung der Editor-Logik in `GridControl.vb`, um dynamische Editoren zu unterstützen.
- Modularisierung und Verbesserung der SQL-Formel-Verarbeitung (`TriggerSqlFormulasAfterExpressionUpdate`, `ExecuteSqlFormulas`).
- Erweiterung der Validierung in `frmValidator.vb`, um Platzhalter in SQL-Befehlen zu prüfen.
- Optimierung der Logging-Ausgaben für bessere Nachvollziehbarkeit.
- Refactoring zur Verbesserung der Lesbarkeit und Konsistenz.
- Erweiterung der Komponenten in `Product.wxs` (z. B. Hinzufügen von `DLLLicenseManager.dll`).
- Zusätzliche Validierungen für Spaltenformeln und neue Zeilen.

Diese Änderungen verbessern die Flexibilität, Stabilität und Nachvollziehbarkeit der Anwendung.
2026-06-09 08:55:48 +02:00
Developer01
e49713246b Erweiterung von frmSQLEditor-Initialisierung
Die Initialisierung des Formulars `frmSQLEditor` wurde in den Klassen `frmColumn_Detail` und `frmFormDesigner` erweitert. Neue Eigenschaften wie `PlaceholdersManualPrefix`, `PlaceholdersManualTitle` und `PlaceholdersManual` wurden hinzugefügt.

Eine Bedingung für `IDB_ACTIVE` wurde eingeführt, um die Eigenschaften `ATTRIBUTE_STORE` und `PlaceholdersWindream` dynamisch zu setzen. Die Eigenschaft `SQLConnection` wurde in beiden Klassen auf `1` geändert.
2026-06-05 10:53:31 +02:00
Developer01
501adeda52 Refactor Temp-Folder Cleanup und Update DocumentViewer
Die Version der Komponente `DocumentViewer` wurde in `frmValidator.resx` von 2.7.0.0 auf 2.7.2.0 aktualisiert.

Die Methode `CleanupTempFolder()` wurde aus der Klasse `frmValidator` entfernt. Die Logik zur Bereinigung des Temp-Ordners wurde an die Methode `_documentPathHandler.CleanupTempFolder()` delegiert. Dies vereinfacht die Klasse `frmValidator` und verbessert die Trennung der Verantwortlichkeiten.
2026-05-26 16:57:49 +02:00
Developer01
bd72e9cecc Version 2.9.2.0: Verbesserte Dokumentenverarbeitung
Die Assembly-Version wurde auf 2.9.2.0 aktualisiert.
Wesentliche Änderungen umfassen:

- Aggregation und Caching von Dokumentensuchergebnissen.
- Copy2TempPath und Mapping nun auch bei Exportfunktion
- Verbesserte Fehlerbehandlung und Logging bei Exporten.
- Konsistente Verarbeitung von Dateipfaden mit `.ToString()`.
- Codebereinigung und Entfernung redundanter Zeilen.
- Erweiterte Debug-Logs zur besseren Nachvollziehbarkeit.
2026-05-19 10:51:49 +02:00
Developer01
46a9742d5d Anpassung der Logs beim Export von Belegen nach Y 2026-05-19 09:14:29 +02:00
24 changed files with 3728 additions and 820 deletions

View File

@@ -110,26 +110,27 @@
</Component>
<Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293">
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
<File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
<File Id="DDConfig" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll"/>
<File Id="DDLogging" Name="DigitalData.Modules.Logging.dll" Source="DigitalData.Modules.Logging.dll"/>
<File Id="DDInterfaces" Name="DigitalData.Modules.Interfaces.dll" Source="DigitalData.Modules.Interfaces.dll"/>
<File Id="DDBase" Name="DigitalData.Modules.Base.dll" Source="DigitalData.Modules.Base.dll"/>
<File Id="DDFilesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll"/>
<File Id="DDEncryption" Name="DigitalData.Modules.Encryption.dll" Source="DigitalData.Modules.Encryption.dll"/>
<File Id="DDWindream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll"/>
<File Id="DDWindows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll"/>
<File Id="DDZooflow" Name="DigitalData.Modules.Zooflow.dll" Source="DigitalData.Modules.Zooflow.dll"/>
<File Id="DDDatabase" Name="DigitalData.Modules.Database.dll" Source="DigitalData.Modules.Database.dll"/>
<File Id="DDPatterns" Name="DigitalData.Modules.Patterns.dll" Source="DigitalData.Modules.Patterns.dll"/>
<File Id="DDEDMIAPI" Name="DigitalData.Modules.EDMI.API.dll" Source="DigitalData.Modules.EDMI.API.dll"/>
<File Id="DDDocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll"/>
<File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" />
<File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />
<File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" />
<File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
<File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
<File Id="DDConfig" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll"/>
<File Id="DDLogging" Name="DigitalData.Modules.Logging.dll" Source="DigitalData.Modules.Logging.dll"/>
<File Id="DDInterfaces" Name="DigitalData.Modules.Interfaces.dll" Source="DigitalData.Modules.Interfaces.dll"/>
<File Id="DDBase" Name="DigitalData.Modules.Base.dll" Source="DigitalData.Modules.Base.dll"/>
<File Id="DDFilesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll"/>
<File Id="DDEncryption" Name="DigitalData.Modules.Encryption.dll" Source="DigitalData.Modules.Encryption.dll"/>
<File Id="DDWindream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll"/>
<File Id="DDWindows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll"/>
<File Id="DDZooflow" Name="DigitalData.Modules.Zooflow.dll" Source="DigitalData.Modules.Zooflow.dll"/>
<File Id="DDDatabase" Name="DigitalData.Modules.Database.dll" Source="DigitalData.Modules.Database.dll"/>
<File Id="DDPatterns" Name="DigitalData.Modules.Patterns.dll" Source="DigitalData.Modules.Patterns.dll"/>
<File Id="DDEDMIAPI" Name="DigitalData.Modules.EDMI.API.dll" Source="DigitalData.Modules.EDMI.API.dll"/>
<File Id="DDDocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll"/>
<File Id="DDLicenseManager" Name="DLLLicenseManager.dll" Source="DLLLicenseManager.dll" KeyPath="no" />
<File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" />
<File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />
<File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" />
<File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
</Component>
<Component Id="RuntimeLibs" Guid="F7170744-3DB5-4275-ACCD-7F3B9BDE1D6E">
<File Id="Newtonsoft.Json" Name="Newtonsoft.Json.dll" Source="Newtonsoft.Json.dll" KeyPath="yes" />
@@ -142,6 +143,13 @@
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" KeyPath="yes" />
<File Id="GdPicture.NET.14.barcode.1d.reader.64" Name="GdPicture.NET.14.barcode.1d.reader.64.dll" />
<File Id="GdPicture.NET.14.barcode.1d.reader" Name="GdPicture.NET.14.barcode.1d.reader.dll" />
<File Id="GdPicture.NET.14.barcode.1d.writer" Name="GdPicture.NET.14.barcode.1d.writer.dll" />
<File Id="GdPicture.NET.14.barcode.2d.reader.64" Name="GdPicture.NET.14.barcode.2d.reader.64.dll" />
<File Id="GdPicture.NET.14.barcode.2d.reader" Name="GdPicture.NET.14.barcode.2d.reader.dll" />
<File Id="GdPicture.NET.14.barcode.2d.writer" Name="GdPicture.NET.14.barcode.2d.writer.dll" />
<File Id="GdPicture.NET.14.WinForms" Name="GdPicture.NET.14.WinForms.dll" />
<File Id="GdPicture.NET.14.CAD" Name="GdPicture.NET.14.CAD.dll" />
<File Id="GdPicture.NET.14.CAD.DWG" Name="GdPicture.NET.14.CAD.DWG.dll" />
<File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" />
@@ -156,6 +164,9 @@
<File Id="GdPicture.NET.14.Imaging.ML.64" Name="GdPicture.NET.14.Imaging.ML.64.dll" />
<File Id="GdPicture.NET.14.Imaging.ML" Name="GdPicture.NET.14.Imaging.ML.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats.Conversion" Name="GdPicture.NET.14.Imaging.Formats.Conversion.dll" />
<File Id="GdPicture.NET.14.machine.vision.64" Name="GdPicture.NET.14.machine.vision.64.dll" />
<File Id="GdPicture.NET.14.machine.vision" Name="GdPicture.NET.14.machine.vision.dll" />
<File Id="GdPicture.NET.14.Markdown" Name="GdPicture.NET.14.Markdown.dll" />
<File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" />
<File Id="GdPicture.NET.14.Document" Name="GdPicture.NET.14.Document.dll" />
<File Id="GdPicture.NET.14.PDF" Name="GdPicture.NET.14.PDF.dll" />
@@ -169,22 +180,142 @@
<File Id="BouncyCastle.Cryptography" Name="BouncyCastle.Cryptography.dll"/>
<File Id="DocumentFormat.OpenXml" Name="DocumentFormat.OpenXml.dll" />
<File Id="DocumentFormat.OpenXml.Framework" Name="DocumentFormat.OpenXml.Framework.dll" />
<File Id="GdPicture.NET.14.OpenXML.Templating" Name="GdPicture.NET.14.OpenXML.Templating.dll" />
<File Id="GdPicture.NET.14.twain.client.64" Name="GdPicture.NET.14.twain.client.64.dll" />
<File Id="GdPicture.NET.14.twain.client" Name="GdPicture.NET.14.twain.client.dll" />
<File Id="Microsoft.Bcl.AsyncInterfaces" Name="Microsoft.Bcl.AsyncInterfaces.dll" />
<File Id="Microsoft.Bcl.Cryptography" Name="Microsoft.Bcl.Cryptography.dll" />
<File Id="Microsoft.Bcl.HashCode" Name="Microsoft.Bcl.HashCode.dll" />
<File Id="Microsoft.Identity.Client" Name="Microsoft.Identity.Client.dll" />
<File Id="Microsoft.IdentityModel.Abstractions" Name="Microsoft.IdentityModel.Abstractions.dll" />
<File Id="Microsoft.Win32.Primitives" Name="Microsoft.Win32.Primitives.dll" />
<File Id="Microsoft.Win32.Registry" Name="Microsoft.Win32.Registry.dll" />
<File Id="OpenMcdf" Name="OpenMcdf.dll" />
<File Id="netstandard" Name="netstandard.dll" />
<File Id="Newtonsoft.Json.Bson" Name="Newtonsoft.Json.Bson.dll" />
<File Id="Google.Protobuf" Name="Google.Protobuf.dll" />
<File Id="protobufnet.Core" Name="protobuf-net.Core.dll" />
<File Id="protobufnet" Name="protobuf-net.dll" />
<File Id="RtfPipe" Name="RtfPipe.dll" />
<File Id="System.AppContext" Name="System.AppContext.dll" />
<File Id="System.Buffers" Name="System.Buffers.dll" />
<File Id="System.CodeDom" Name="System.CodeDom.dll" />
<File Id="System.Collections.Concurrent" Name="System.Collections.Concurrent.dll" />
<File Id="System.Collections" Name="System.Collections.dll" />
<File Id="System.Collections.Immutable" Name="System.Collections.Immutable.dll" />
<File Id="System.Collections.NonGeneric" Name="System.Collections.NonGeneric.dll" />
<File Id="System.Collections.Specialized" Name="System.Collections.Specialized.dll" />
<File Id="System.ComponentModel.EventBasedAsync" Name="System.ComponentModel.EventBasedAsync.dll" />
<File Id="System.ComponentModel.Primitives" Name="System.ComponentModel.Primitives.dll" />
<File Id="System.ComponentModel" Name="System.ComponentModel.dll" />
<File Id="System.ComponentModel.TypeConverter" Name="System.ComponentModel.TypeConverter.dll" />
<File Id="System.Console" Name="System.Console.dll" />
<File Id="System.Data.Common" Name="System.Data.Common.dll" />
<File Id="System.Data.Odbc" Name="System.Data.Odbc.dll" />
<File Id="System.Diagnostics.Contracts" Name="System.Diagnostics.Contracts.dll" />
<File Id="System.Diagnostics.Debug" Name="System.Diagnostics.Debug.dll" />
<File Id="System.Diagnostics.FileVersionInfo" Name="System.Diagnostics.FileVersionInfo.dll" />
<File Id="System.Diagnostics.Process" Name="System.Diagnostics.Process.dll" />
<File Id="System.Diagnostics.StackTrace" Name="System.Diagnostics.StackTrace.dll" />
<File Id="System.Diagnostics.TextWriterTraceListener" Name="System.Diagnostics.TextWriterTraceListener.dll" />
<File Id="System.Diagnostics.Tools" Name="System.Diagnostics.Tools.dll" />
<File Id="System.Diagnostics.TraceSource" Name="System.Diagnostics.TraceSource.dll" />
<File Id="System.Diagnostics.Tracing" Name="System.Diagnostics.Tracing.dll" />
<File Id="System.Drawing.Primitives" Name="System.Drawing.Primitives.dll" />
<File Id="System.Dynamic.Runtime" Name="System.Dynamic.Runtime.dll" />
<File Id="System.Formats.Asn1" Name="System.Formats.Asn1.dll" />
<File Id="System.Globalization.Calendars" Name="System.Globalization.Calendars.dll" />
<File Id="System.Globalization" Name="System.Globalization.dll" />
<File Id="System.Globalization.Extensions" Name="System.Globalization.Extensions.dll" />
<File Id="System.IO.Compression" Name="System.IO.Compression.dll" />
<File Id="System.IO.Compression.ZipFile" Name="System.IO.Compression.ZipFile.dll" />
<File Id="System.IO" Name="System.IO.dll" />
<File Id="System.IO.FileSystem" Name="System.IO.FileSystem.dll" />
<File Id="System.IO.FileSystem.DriveInfo" Name="System.IO.FileSystem.DriveInfo.dll" />
<File Id="System.IO.FileSystem.Primitives" Name="System.IO.FileSystem.Primitives.dll" />
<File Id="System.IO.FileSystem.Watcher" Name="System.IO.FileSystem.Watcher.dll" />
<File Id="System.IO.IsolatedStorage" Name="System.IO.IsolatedStorage.dll" />
<File Id="System.IO.MemoryMappedFiles" Name="System.IO.MemoryMappedFiles.dll" />
<File Id="System.IO.Pipelines" Name="System.IO.Pipelines.dll" />
<File Id="System.IO.Pipes" Name="System.IO.Pipes.dll" />
<File Id="System.IO.UnmanagedMemoryStream" Name="System.IO.UnmanagedMemoryStream.dll" />
<File Id="System.Linq" Name="System.Linq.dll" />
<File Id="System.Linq.Expressions" Name="System.Linq.Expressions.dll" />
<File Id="System.Linq.Parallel" Name="System.Linq.Parallel.dll" />
<File Id="System.Linq.Queryable" Name="System.Linq.Queryable.dll" />
<File Id="System.Memory2" Name="System.Memory.dll" />
<File Id="System.Net.Http" Name="System.Net.Http.dll" />
<File Id="System.Net.Http.Formatting" Name="System.Net.Http.Formatting.dll" />
<File Id="System.Net.NameResolution" Name="System.Net.NameResolution.dll" />
<File Id="System.Net.NetworkInformation" Name="System.Net.NetworkInformation.dll" />
<File Id="System.Net.Ping" Name="System.Net.Ping.dll" />
<File Id="System.Net.Primitives" Name="System.Net.Primitives.dll" />
<File Id="System.Net.Requests" Name="System.Net.Requests.dll" />
<File Id="System.Net.Security" Name="System.Net.Security.dll" />
<File Id="System.Net.Sockets" Name="System.Net.Sockets.dll" />
<File Id="System.Net.WebHeaderCollection" Name="System.Net.WebHeaderCollection.dll" />
<File Id="System.Net.WebSockets.Client" Name="System.Net.WebSockets.Client.dll" />
<File Id="System.Net.WebSockets" Name="System.Net.WebSockets.dll" />
<File Id="System.Numerics.Vectors.xml" Name="System.Numerics.Vectors.xml" />
<File Id="System.ObjectModel" Name="System.ObjectModel.dll" />
<File Id="System.Reflection" Name="System.Reflection.dll" />
<File Id="System.Reflection.Extensions" Name="System.Reflection.Extensions.dll" />
<File Id="System.Reflection.Primitives" Name="System.Reflection.Primitives.dll" />
<File Id="System.Resources.Reader" Name="System.Resources.Reader.dll" />
<File Id="System.Resources.ResourceManager" Name="System.Resources.ResourceManager.dll" />
<File Id="System.Resources.Writer" Name="System.Resources.Writer.dll" />
<File Id="System.Runtime.CompilerServices.Unsafe.xml" Name="System.Runtime.CompilerServices.Unsafe.xml" />
<File Id="System.Runtime.CompilerServices.VisualC" Name="System.Runtime.CompilerServices.VisualC.dll" />
<File Id="System.Runtime" Name="System.Runtime.dll" />
<File Id="System.Runtime.Extensions" Name="System.Runtime.Extensions.dll" />
<File Id="System.Runtime.Handles" Name="System.Runtime.Handles.dll" />
<File Id="System.Runtime.InteropServices" Name="System.Runtime.InteropServices.dll" />
<File Id="System.Runtime.InteropServices.RuntimeInformation" Name="System.Runtime.InteropServices.RuntimeInformation.dll" />
<File Id="System.Runtime.Numerics" Name="System.Runtime.Numerics.dll" />
<File Id="System.Runtime.Serialization.Formatters" Name="System.Runtime.Serialization.Formatters.dll" />
<File Id="System.Runtime.Serialization.Json" Name="System.Runtime.Serialization.Json.dll" />
<File Id="System.Runtime.Serialization.Primitives" Name="System.Runtime.Serialization.Primitives.dll" />
<File Id="System.Runtime.Serialization.Xml" Name="System.Runtime.Serialization.Xml.dll" />
<File Id="System.Security.Claims" Name="System.Security.Claims.dll" />
<File Id="System.Security.Cryptography.Algorithms" Name="System.Security.Cryptography.Algorithms.dll" />
<File Id="System.Security.Cryptography.Csp" Name="System.Security.Cryptography.Csp.dll" />
<File Id="System.Security.Cryptography.Encoding" Name="System.Security.Cryptography.Encoding.dll" />
<File Id="System.Security.Cryptography.Pkcs.xml" Name="System.Security.Cryptography.Pkcs.xml" />
<File Id="System.Security.Cryptography.Primitives" Name="System.Security.Cryptography.Primitives.dll" />
<File Id="System.Security.Cryptography.X509Certificates" Name="System.Security.Cryptography.X509Certificates.dll" />
<File Id="System.Security.Principal" Name="System.Security.Principal.dll" />
<File Id="System.Security.SecureString" Name="System.Security.SecureString.dll" />
<File Id="System.Text.Encoding" Name="System.Text.Encoding.dll" />
<File Id="System.Text.Encoding.Extensions" Name="System.Text.Encoding.Extensions.dll" />
<File Id="System.Text.Encodings.Web.xml" Name="System.Text.Encodings.Web.xml" />
<File Id="System.Text.Json.xml" Name="System.Text.Json.xml" />
<File Id="System.Text.RegularExpressions" Name="System.Text.RegularExpressions.dll" />
<File Id="System.Threading.Channels" Name="System.Threading.Channels.dll" />
<File Id="System.Threading.Channels.xml" Name="System.Threading.Channels.xml" />
<File Id="System.Threading" Name="System.Threading.dll" />
<File Id="System.Threading.Overlapped" Name="System.Threading.Overlapped.dll" />
<File Id="System.Threading.Tasks" Name="System.Threading.Tasks.dll" />
<File Id="System.Threading.Tasks.Extensions.xml" Name="System.Threading.Tasks.Extensions.xml" />
<File Id="System.Threading.Tasks.Parallel" Name="System.Threading.Tasks.Parallel.dll" />
<File Id="System.IO.Packaging" Name="System.IO.Packaging.dll" />
<File Id="System.Memory" Name="System.Memory.dll" />
<File Id="System.Numerics.Vectors" Name="System.Numerics.Vectors.dll" />
<File Id="System.Threading.Thread" Name="System.Threading.Thread.dll" />
<File Id="System.Threading.ThreadPool" Name="System.Threading.ThreadPool.dll" />
<File Id="System.Threading.Timer" Name="System.Threading.Timer.dll" />
<File Id="System.ValueTuple.xml" Name="System.ValueTuple.xml" />
<File Id="System.Xml.ReaderWriter" Name="System.Xml.ReaderWriter.dll" />
<File Id="System.Xml.XDocument" Name="System.Xml.XDocument.dll" />
<File Id="System.Xml.XmlDocument" Name="System.Xml.XmlDocument.dll" />
<File Id="System.Xml.XmlSerializer" Name="System.Xml.XmlSerializer.dll" />
<File Id="System.Xml.XPath" Name="System.Xml.XPath.dll" />
<File Id="System.Xml.XPath.XDocument" Name="System.Xml.XPath.XDocument.dll" />
<File Id="System.Runtime.CompilerServices.Unsafe" Name="System.Runtime.CompilerServices.Unsafe.dll" />
<File Id="System.Security.Cryptography.Pkcs" Name="System.Security.Cryptography.Pkcs.dll" />
<File Id="System.Text.Encodings.Web" Name="System.Text.Encodings.Web.dll" />
<File Id="System.Threading.Tasks.Extensions" Name="System.Threading.Tasks.Extensions.dll" />
<File Id="System.ValueTuple" Name="System.ValueTuple.dll" />
<File Id="NativeSDK.Settings" Name="NativeSDK.Settings.dll" />
<File Id="NativeSDK.Settings.Edition" Name="NativeSDK.Settings.Edition.dll" />
<File Id="NativeSDK.Exceptions" Name="NativeSDK.Exceptions.dll" />
</Component>
<Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191">

View File

@@ -124,19 +124,19 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
@@ -152,15 +152,15 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Packaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
@@ -176,7 +176,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DocumentFormat.OpenXml.Framework" publicKeyToken="8fb06cb64d019a17" culture="neutral" />
@@ -188,7 +188,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -196,7 +196,11 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
</assemblyBinding>
</runtime>

View File

@@ -41,6 +41,7 @@ Public Class ClassAllgemeineFunktionen
Catch ex As Exception
LOGGER.Info($"Unexpected error in GUI_LANGUAGE_INFO FOR [{pTITLE}]...")
LOGGER.Error(ex)
Return Nothing
End Try
End Function

View File

@@ -544,8 +544,9 @@ Public Class ClassControlCreator
Return oControl
End Function
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pcurrencySymbol As String) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol)
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean,
pcurrencySymbol As String, pParentControl As Control) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol, pParentControl)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oView As GridView
@@ -900,7 +901,15 @@ Public Class ClassControlCreator
Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
' *** NEU: Prüfe ob Spalte #TBCOL# verwendet (dynamisch pro Zeile) ***
If oSqlStatement <> String.Empty AndAlso oConnectionId > -1 Then
' *** NEU: Skip Spalten mit #TBCOL# (werden in ShowingEditor behandelt) ***
If oSqlStatement.Contains("{#TBCOL#") Then
Logger.Debug($"GridTables_HandleControlValueChange -> Skipping column [{oColumnName}] (has #TBCOL# placeholders, will be resolved per row)")
Continue For
End If
' *** BESTEHENDER CODE: Nur für statische Spalten ({#CTRL#} only) ***
oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True)
GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)

View File

@@ -0,0 +1,422 @@
Imports System.Data
Imports System.Globalization
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Logging
Public Class ClassGridDataLoader
Private ReadOnly _GDLoaderLogger As Logger
Private ReadOnly _DatabaseWithFallback As DatabaseWithFallback
Private Const PMDelimiter As String = "~"
Public Sub New(pDatabaseFallback As DatabaseWithFallback)
_GDLoaderLogger = LOGCONFIG.GetLogger()
_DatabaseWithFallback = pDatabaseFallback
End Sub
''' <summary>
''' Befüllt ein GridControl mit Daten basierend auf der Grid-Konfiguration
''' </summary>
Public Function FillGridData(gridControl As GridControl,
controlRow As DataRow,
columnDefinitions As DataTable,
validator As frmValidator
) As Boolean
Try
If gridControl Is Nothing OrElse controlRow Is Nothing Then
_GDLoaderLogger?.Warn("FillGridData: GridControl oder ControlRow ist Nothing")
Return False
End If
Dim controlGuid As Integer = If(IsDBNull(controlRow("GUID")), 0, CInt(controlRow("GUID")))
Dim controlType As String = If(IsDBNull(controlRow("TYP")), "TABLE", controlRow("TYP").ToString())
_GDLoaderLogger?.Debug($"FillGridData für Control GUID={controlGuid}, Name={gridControl.Name}, Type={controlType}")
' DataTable aus GridControl holen
Dim gridDataTable As DataTable = TryCast(gridControl.DataSource, DataTable)
If gridDataTable Is Nothing Then
_GDLoaderLogger?.Warn($"GridControl {gridControl.Name} hat keine DataTable als DataSource")
Return False
End If
' Spalten-Definitionen für dieses Grid holen
Dim filteredColumns As DataTable = GetFilteredColumnDefinitions(columnDefinitions, controlGuid)
If filteredColumns Is Nothing OrElse filteredColumns.Rows.Count = 0 Then
_GDLoaderLogger?.Warn($"Keine Spalten-Definitionen für Grid GUID={controlGuid}")
Return True
End If
_GDLoaderLogger?.Debug($"Grid {gridControl.Name}: {filteredColumns.Rows.Count} Spalten-Definitionen gefunden")
' INDEX_NAME holen
Dim sourceIndexName As String = If(IsDBNull(controlRow("INDEX_NAME")), String.Empty, controlRow("INDEX_NAME").ToString())
If String.IsNullOrEmpty(sourceIndexName) Then
_GDLoaderLogger?.Warn($"Kein INDEX_NAME für Grid {gridControl.Name} konfiguriert")
Return False
End If
' Wert aus Quelle holen
Dim valueFromSource As Object = validator?.GetVariableValuefromSource(sourceIndexName, 0, False)
If valueFromSource Is Nothing Then
_GDLoaderLogger?.Debug($"Kein Wert für INDEX_NAME [{sourceIndexName}] gefunden - Grid wird geleert")
gridDataTable.Rows.Clear()
Return True
End If
' Daten befüllen basierend auf Typ
Dim success As Boolean = False
Dim valueType As String = valueFromSource.GetType().ToString()
_GDLoaderLogger?.Debug($"ValueType: {valueType}, ControlType: {controlType}")
Select Case controlType
Case "TABLE"
success = FillTableGrid(gridDataTable, filteredColumns, valueFromSource, valueType, gridControl)
Case Else
success = FillSimpleGrid(gridDataTable, valueFromSource)
End Select
' Spaltenbreiten anwenden
If success Then
ApplyColumnWidths(gridControl, filteredColumns)
End If
Return success
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillGridData: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Befüllt ein TABLE-Grid (komplexe Logik mit Vektor/IDB)
''' </summary>
Private Function FillTableGrid(gridDataTable As DataTable,
columnDefinitions As DataTable,
valueFromSource As Object,
valueType As String,
gridControl As GridControl) As Boolean
Try
gridDataTable.Rows.Clear()
' ========== NICHT-IDB-MODUS: Vektor-Array-Verarbeitung ==========
If Not IDB_ACTIVE Then
If valueType.Contains("System.Object") OrElse IsArrayOrEnumerable(valueFromSource) Then
_GDLoaderLogger?.Debug($"Nicht-IDB-Modus: Verarbeite Array/Enumerable mit {TryGetCount(valueFromSource)} Elementen")
For Each zeile As Object In DirectCast(valueFromSource, IEnumerable)
Dim colValuesFromSource As String() = Split(zeile.ToString(), PMDelimiter)
Dim newRow As DataRow = gridDataTable.NewRow()
For index = 0 To columnDefinitions.Rows.Count - 1
Try
Dim rawValue As String = If(index < colValuesFromSource.Length, colValuesFromSource(index), String.Empty)
Dim targetColumn As DataColumn = gridDataTable.Columns(index)
Dim colType As Type = targetColumn.DataType
' NULL-Handling
If String.IsNullOrWhiteSpace(rawValue) Then
If colType.IsValueType AndAlso Nullable.GetUnderlyingType(colType) Is Nothing Then
newRow.Item(index) = Activator.CreateInstance(colType)
Else
newRow.Item(index) = DBNull.Value
End If
Continue For
End If
' Typ-Konvertierung
Select Case Type.GetTypeCode(colType)
Case TypeCode.Int32
newRow.Item(index) = Integer.Parse(rawValue.Trim(), CultureInfo.InvariantCulture)
Case TypeCode.Int64
newRow.Item(index) = Long.Parse(rawValue.Trim(), CultureInfo.InvariantCulture)
Case TypeCode.Double
newRow.Item(index) = Double.Parse(rawValue.Trim().Replace(",", "."), CultureInfo.InvariantCulture)
Case TypeCode.Decimal
newRow.Item(index) = Decimal.Parse(rawValue.Trim().Replace(",", "."), CultureInfo.InvariantCulture)
Case TypeCode.Boolean
newRow.Item(index) = Boolean.Parse(rawValue.Trim())
Case TypeCode.DateTime
newRow.Item(index) = DateTime.Parse(rawValue.Trim(), CultureInfo.CurrentCulture)
Case Else
newRow.Item(index) = rawValue
End Select
Catch convEx As FormatException
_GDLoaderLogger?.Warn($"Konvertierungsfehler: ColIdx={index}, RawValue=[{If(index < colValuesFromSource.Length, colValuesFromSource(index), "N/A")}]")
If gridDataTable.Columns(index).DataType.IsValueType Then
newRow.Item(index) = Activator.CreateInstance(gridDataTable.Columns(index).DataType)
Else
newRow.Item(index) = DBNull.Value
End If
End Try
Next
gridDataTable.Rows.Add(newRow)
Next
Return True
End If
End If
' ========== IDB-MODUS: String oder DataTable ==========
If valueType = "System.String" Then
Return FillIDBFromString(gridDataTable, columnDefinitions, valueFromSource.ToString())
ElseIf valueType = "System.Data.DataTable" Then
Return FillIDBFromDataTable(gridDataTable, columnDefinitions, DirectCast(valueFromSource, DataTable), gridControl)
End If
_GDLoaderLogger?.Warn($"Nicht unterstützter ValueType: {valueType}")
Return False
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillTableGrid: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' IDB-Modus: String-Vektor verarbeiten
''' </summary>
Private Function FillIDBFromString(gridDataTable As DataTable, columnDefinitions As DataTable, vectorString As String) As Boolean
Try
Dim colValuesFromSource As String() = Split(vectorString, PMDelimiter)
If colValuesFromSource.Length > 8 Then
_GDLoaderLogger?.Warn("⚠️ Mehr als 8 Spalten in IDB-String - Maximum ist 8!")
End If
Dim rowData As New List(Of Object)
For index = 1 To Math.Min(colValuesFromSource.Length, columnDefinitions.Rows.Count)
Try
Dim rawValue As String = colValuesFromSource(index - 1)
Dim columnType = columnDefinitions.Rows(index - 1).Item("TYPE_COLUMN")
Dim convertedValue = ClassFormat.GetConvertedValue(rawValue, columnType)
rowData.Add(convertedValue)
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler bei Spalte {index}: {ex.Message}")
rowData.Add(String.Empty)
End Try
Next
gridDataTable.Rows.Add(rowData.ToArray())
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillIDBFromString: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' IDB-Modus: DataTable verarbeiten
''' </summary>
Private Function FillIDBFromDataTable(gridDataTable As DataTable,
columnDefinitions As DataTable,
sourceDataTable As DataTable,
gridControl As GridControl) As Boolean
Try
Dim isReadOnly As Boolean = False
If gridControl.Tag IsNot Nothing AndAlso TypeOf gridControl.Tag Is DataRow Then
Dim controlRow As DataRow = DirectCast(gridControl.Tag, DataRow)
isReadOnly = If(IsDBNull(controlRow("READ_ONLY")), False, CBool(controlRow("READ_ONLY")))
End If
_GDLoaderLogger?.Debug($"IDB DataTable: {sourceDataTable.Rows.Count} Zeilen, ReadOnly={isReadOnly}")
' Spaltenanzahl-Prüfung
Dim configuredColumns As Integer = columnDefinitions.Rows.Count
Dim maxSourceColumns As Integer = 0
If sourceDataTable.Rows.Count > 0 Then
For Each row As DataRow In sourceDataTable.Rows
Dim parts As String() = Split(row.Item(0).ToString(), PMDelimiter)
If parts.Length > maxSourceColumns Then
maxSourceColumns = parts.Length
End If
Next
End If
If maxSourceColumns > configuredColumns Then
If Not isReadOnly Then
' Benutzer-Dialog
Dim title, question As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Spaltenkonfiguration prüfen"
question = $"Das Grid '{gridControl.Name}' enthält Zeilen mit bis zu {maxSourceColumns} Datenwerten," & vbCrLf &
$"aber nur {configuredColumns} Spalten sind konfiguriert." & vbCrLf &
$"Es werden nur die ersten {configuredColumns} Werte je Zeile angezeigt." & vbCrLf & vbCrLf &
"Möchten Sie trotzdem fortfahren?"
Case "fr-FR"
title = "Vérifier la configuration des colonnes"
question = $"La grille '{gridControl.Name}' contient des lignes avec jusqu'à {maxSourceColumns} valeurs," & vbCrLf &
$"mais seulement {configuredColumns} colonnes sont configurées."
Case Else
title = "Check column configuration"
question = $"The grid '{gridControl.Name}' contains rows with up to {maxSourceColumns} values," & vbCrLf &
$"but only {configuredColumns} columns are configured."
End Select
Dim result = MessageBox.Show(question, title, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If result = DialogResult.No Then
_GDLoaderLogger?.Warn("Benutzer hat Fortfahren abgebrochen")
Return False
End If
Else
_GDLoaderLogger?.Info($"ReadOnly-Grid: Ignoriere überzählige Spalten ({maxSourceColumns} → {configuredColumns})")
End If
End If
' Zeilen befüllen
For Each sourceRow As DataRow In sourceDataTable.Rows
Try
Dim colValuesFromSource As String() = Split(sourceRow.Item(0).ToString(), PMDelimiter)
Dim rowData As New List(Of Object)
For index = 1 To configuredColumns
Try
Dim rawValue As String = If(index <= colValuesFromSource.Length, colValuesFromSource(index - 1), String.Empty)
Dim columnType = columnDefinitions.Rows(index - 1).Item("TYPE_COLUMN")
Dim convertedValue = ClassFormat.GetConvertedValue(rawValue, columnType)
rowData.Add(convertedValue)
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler bei Spalte {index}: {ex.Message}")
rowData.Add(String.Empty)
End Try
Next
gridDataTable.Rows.Add(rowData.ToArray())
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler beim Hinzufügen der Zeile: {ex.Message}")
End Try
Next
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillIDBFromDataTable: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Befüllt ein einfaches Grid (nicht TABLE-Typ)
''' </summary>
Private Function FillSimpleGrid(gridDataTable As DataTable, valueFromSource As Object) As Boolean
Try
gridDataTable.Rows.Clear()
If IsArrayOrEnumerable(valueFromSource) Then
For Each obj As Object In DirectCast(valueFromSource, IEnumerable)
If obj IsNot Nothing Then
gridDataTable.Rows.Add(New String() {obj.ToString()})
End If
Next
End If
Return True
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in FillSimpleGrid: {ex.Message}", ex)
Return False
End Try
End Function
''' <summary>
''' Wendet Spaltenbreiten aus der Konfiguration an
''' </summary>
Private Sub ApplyColumnWidths(gridControl As GridControl, columnDefinitions As DataTable)
Try
Dim gridView As GridView = TryCast(gridControl.MainView, GridView)
If gridView Is Nothing Then Return
gridView.OptionsView.ColumnAutoWidth = False
If columnDefinitions Is Nothing OrElse columnDefinitions.Rows.Count = 0 Then
_GDLoaderLogger?.Warn("ApplyColumnWidths: Keine Spalten-Definitionen vorhanden")
Return
End If
Dim columnsByName = gridView.Columns.Cast(Of GridColumn)().
ToDictionary(Function(c) c.FieldName, StringComparer.OrdinalIgnoreCase)
For Each row As DataRow In columnDefinitions.Rows
Try
If Not IsDBNull(row("SPALTENNAME")) AndAlso Not IsDBNull(row("SPALTENBREITE")) Then
Dim columnName As String = row("SPALTENNAME").ToString()
Dim column As GridColumn = Nothing
If columnsByName.TryGetValue(columnName, column) Then
column.Width = CInt(row("SPALTENBREITE"))
_GDLoaderLogger?.Debug($"Spaltenbreite gesetzt: {columnName} = {row("SPALTENBREITE")}")
End If
End If
Catch ex As Exception
_GDLoaderLogger?.Warn($"Fehler beim Setzen der Spaltenbreite für Zeile: {ex.Message}")
End Try
Next
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in ApplyColumnWidths: {ex.Message}", ex)
End Try
End Sub
''' <summary>
''' Filtert Spalten-Definitionen für ein bestimmtes Grid
''' </summary>
Private Function GetFilteredColumnDefinitions(columnDefinitions As DataTable, controlGuid As Integer) As DataTable
If columnDefinitions Is Nothing Then Return Nothing
Try
Dim filteredRows = columnDefinitions.AsEnumerable().
Where(Function(row) Not IsDBNull(row("CONTROL_ID")) AndAlso CInt(row("CONTROL_ID")) = controlGuid).
ToList()
If filteredRows.Count = 0 Then Return Nothing
Dim resultTable As DataTable = columnDefinitions.Clone()
For Each row In filteredRows
resultTable.ImportRow(row)
Next
Return resultTable
Catch ex As Exception
_GDLoaderLogger?.Error($"Fehler in GetFilteredColumnDefinitions: {ex.Message}", ex)
Return Nothing
End Try
End Function
''' <summary>
''' Prüft ob ein Objekt Array oder IEnumerable ist
''' </summary>
Private Function IsArrayOrEnumerable(obj As Object) As Boolean
If obj Is Nothing Then Return False
Return TypeOf obj Is IEnumerable AndAlso Not TypeOf obj Is String
End Function
''' <summary>
''' Versucht die Anzahl der Elemente zu ermitteln
''' </summary>
Private Function TryGetCount(obj As Object) As Integer
Try
If TypeOf obj Is ICollection Then
Return DirectCast(obj, ICollection).Count
End If
Return DirectCast(obj, IEnumerable).Cast(Of Object)().Count()
Catch
Return 0
End Try
End Function
End Class

File diff suppressed because it is too large Load Diff

View File

@@ -4589,6 +4589,8 @@ Partial Public Class DD_DMSLiteDataSet
Private columnTEXT_ALIGNMENT As Global.System.Data.DataColumn
Private columnDISPLAY_IN_SEPERATE_FORM As Global.System.Data.DataColumn
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
@@ -4976,6 +4978,14 @@ Partial Public Class DD_DMSLiteDataSet
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property DISPLAY_IN_SEPERATE_FORMColumn() As Global.System.Data.DataColumn
Get
Return Me.columnDISPLAY_IN_SEPERATE_FORM
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
@@ -5056,9 +5066,10 @@ Partial Public Class DD_DMSLiteDataSet
ByVal SAVE_CHANGE_ON_ENABLED As Boolean, _
ByVal FORMAT_STRING As String, _
ByVal BACKCOLOR_IF As String, _
ByVal TEXT_ALIGNMENT As String) As TBPM_PROFILE_CONTROLSRow
ByVal TEXT_ALIGNMENT As String, _
ByVal DISPLAY_IN_SEPERATE_FORM As Boolean) As TBPM_PROFILE_CONTROLSRow
Dim rowTBPM_PROFILE_CONTROLSRow As TBPM_PROFILE_CONTROLSRow = CType(Me.NewRow,TBPM_PROFILE_CONTROLSRow)
Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, BACKCOLOR_IF, TEXT_ALIGNMENT}
Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, BACKCOLOR_IF, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM}
If (Not (parentTBPM_PROFILERowByFK_TBPM_PROFILE_CONTROLS_PROFILE) Is Nothing) Then
columnValuesArray(1) = parentTBPM_PROFILERowByFK_TBPM_PROFILE_CONTROLS_PROFILE(0)
End If
@@ -5134,6 +5145,7 @@ Partial Public Class DD_DMSLiteDataSet
Me.columnFORMAT_STRING = MyBase.Columns("FORMAT_STRING")
Me.columnBACKCOLOR_IF = MyBase.Columns("BACKCOLOR_IF")
Me.columnTEXT_ALIGNMENT = MyBase.Columns("TEXT_ALIGNMENT")
Me.columnDISPLAY_IN_SEPERATE_FORM = MyBase.Columns("DISPLAY_IN_SEPERATE_FORM")
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -5227,6 +5239,8 @@ Partial Public Class DD_DMSLiteDataSet
MyBase.Columns.Add(Me.columnBACKCOLOR_IF)
Me.columnTEXT_ALIGNMENT = New Global.System.Data.DataColumn("TEXT_ALIGNMENT", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnTEXT_ALIGNMENT)
Me.columnDISPLAY_IN_SEPERATE_FORM = New Global.System.Data.DataColumn("DISPLAY_IN_SEPERATE_FORM", GetType(Boolean), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnDISPLAY_IN_SEPERATE_FORM)
Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true))
Me.columnGUID.AutoIncrement = true
Me.columnGUID.AllowDBNull = false
@@ -5273,10 +5287,13 @@ Partial Public Class DD_DMSLiteDataSet
Me.columnTABLE_ORDER_COLUMN.DefaultValue = CType("",String)
Me.columnTABLE_ORDER_COLUMN.MaxLength = 250
Me.columnSAVE_CHANGE_ON_ENABLED.AllowDBNull = false
Me.columnFORMAT_STRING.AllowDBNull = false
Me.columnFORMAT_STRING.DefaultValue = CType("",String)
Me.columnTEXT_ALIGNMENT.AllowDBNull = false
Me.columnTEXT_ALIGNMENT.DefaultValue = CType("Near",String)
Me.columnTEXT_ALIGNMENT.MaxLength = 20
Me.columnDISPLAY_IN_SEPERATE_FORM.AllowDBNull = false
Me.columnDISPLAY_IN_SEPERATE_FORM.DefaultValue = CType(false,Boolean)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -12613,11 +12630,7 @@ Partial Public Class DD_DMSLiteDataSet
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property FORMAT_STRING() As String
Get
Try
Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.FORMAT_STRINGColumn),String)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte FORMAT_STRING in Tabelle TBPM_PROFILE_CONTROLS ist DBNull.", e)
End Try
Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.FORMAT_STRINGColumn),String)
End Get
Set
Me(Me.tableTBPM_PROFILE_CONTROLS.FORMAT_STRINGColumn) = value
@@ -12650,6 +12663,17 @@ Partial Public Class DD_DMSLiteDataSet
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property DISPLAY_IN_SEPERATE_FORM() As Boolean
Get
Return CType(Me(Me.tableTBPM_PROFILE_CONTROLS.DISPLAY_IN_SEPERATE_FORMColumn),Boolean)
End Get
Set
Me(Me.tableTBPM_PROFILE_CONTROLS.DISPLAY_IN_SEPERATE_FORMColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property TBPM_PROFILERow() As TBPM_PROFILERow
@@ -12889,18 +12913,6 @@ Partial Public Class DD_DMSLiteDataSet
Me(Me.tableTBPM_PROFILE_CONTROLS.SQL_ENABLE_ON_LOAD_CONIDColumn) = Global.System.Convert.DBNull
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsFORMAT_STRINGNull() As Boolean
Return Me.IsNull(Me.tableTBPM_PROFILE_CONTROLS.FORMAT_STRINGColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub SetFORMAT_STRINGNull()
Me(Me.tableTBPM_PROFILE_CONTROLS.FORMAT_STRINGColumn) = Global.System.Convert.DBNull
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsBACKCOLOR_IFNull() As Boolean
@@ -20412,6 +20424,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
tableMapping.ColumnMappings.Add("SAVE_CHANGE_ON_ENABLED", "SAVE_CHANGE_ON_ENABLED")
tableMapping.ColumnMappings.Add("FORMAT_STRING", "FORMAT_STRING")
tableMapping.ColumnMappings.Add("TEXT_ALIGNMENT", "TEXT_ALIGNMENT")
tableMapping.ColumnMappings.Add("DISPLAY_IN_SEPERATE_FORM", "DISPLAY_IN_SEPERATE_FORM")
Me._adapter.TableMappings.Add(tableMapping)
Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.DeleteCommand.Connection = Me.Connection
@@ -20560,8 +20573,8 @@ Namespace DD_DMSLiteDataSetTableAdapters
" REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL"& _
"2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, C"& _
"ONTROL_ACTIVE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENA"& _
"BLED, FORMAT_STRING, TEXT_ALIGNMENT"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHER"& _
"E (GUID = @guid)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC"
"BLED, FORMAT_STRING, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM T"& _
"BPM_PROFILE_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @guid)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@guid", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand()
@@ -20610,9 +20623,9 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._commandCollection(8) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(8).Connection = Me.Connection
Me._commandCollection(8).CommandText = "INSERT INTO TBPM_PROFILE_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (PROFIL_ID, NAME, CTR"& _
"L_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALU"& _
"ES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIG"& _
"HT,@Width,@TEXT_ALIGNMENT)"
"L_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT, DISPL"& _
"AY_IN_SEPERATE_FORM)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_L"& _
"OC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT,@DISPLAY_IN_SEPERATE_FORM)"
Me._commandCollection(8).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PROFIL_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
@@ -20624,6 +20637,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@HEIGHT", Global.System.Data.SqlDbType.SmallInt, 2, Global.System.Data.ParameterDirection.Input, 0, 0, "HEIGHT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Width", Global.System.Data.SqlDbType.SmallInt, 2, Global.System.Data.ParameterDirection.Input, 0, 0, "WIDTH", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@TEXT_ALIGNMENT", Global.System.Data.SqlDbType.NVarChar, 20, Global.System.Data.ParameterDirection.Input, 0, 0, "TEXT_ALIGNMENT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(8).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DISPLAY_IN_SEPERATE_FORM", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "DISPLAY_IN_SEPERATE_FORM", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(9) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(9).Connection = Me.Connection
Me._commandCollection(9).CommandText = "UPDATE TBPM_PROFILE_CONTROLS"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET INDEX_NAME = @INDEX_NAME,CH"& _
@@ -20643,8 +20657,9 @@ Namespace DD_DMSLiteDataSetTableAdapters
"P, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, I"& _
"MAGE_CONTROL, SQL2, SQL_ENABLE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SET_CONTROL_DATA, SQL"& _
"_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, S"& _
"AVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFI"& _
"LE_CONTROLS AS T"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFIL_ID = @profil_id)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC"
"AVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _
" DISPLAY_IN_SEPERATE_FORM"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_PROFILE_CONTROLS AS T"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE "& _
" (PROFIL_ID = @profil_id)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Y_LOC, X_LOC"
Me._commandCollection(10).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_LANGUAGE", Global.System.Data.SqlDbType.VarChar, 1024, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(10).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@profil_id", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFIL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
@@ -21329,7 +21344,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Public Overloads Overridable Function cmdInsertAnlage(ByVal PROFIL_ID As Integer, ByVal NAME As String, ByVal CTRL_TYPE As String, ByVal CTRL_TEXT As String, ByVal X_LOC As Double, ByVal Y_LOC As Double, ByVal ADDED_WHO As String, ByVal HEIGHT As Short, ByVal Width As Short, ByVal TEXT_ALIGNMENT As String) As Integer
Public Overloads Overridable Function cmdInsertAnlage(ByVal PROFIL_ID As Integer, ByVal NAME As String, ByVal CTRL_TYPE As String, ByVal CTRL_TEXT As String, ByVal X_LOC As Double, ByVal Y_LOC As Double, ByVal ADDED_WHO As String, ByVal HEIGHT As Short, ByVal Width As Short, ByVal TEXT_ALIGNMENT As String, ByVal DISPLAY_IN_SEPERATE_FORM As Boolean) As Integer
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(8)
command.Parameters(0).Value = CType(PROFIL_ID,Integer)
If (NAME Is Nothing) Then
@@ -21361,6 +21376,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Else
command.Parameters(9).Value = CType(TEXT_ALIGNMENT,String)
End If
command.Parameters(10).Value = CType(DISPLAY_IN_SEPERATE_FORM,Boolean)
Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State
If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then

View File

@@ -968,7 +968,7 @@ WHERE (GUID = @Original_GUID)</CommandText>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG,
HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH,
@@ -976,43 +976,43 @@ WHERE (GUID = @Original_GUID)</CommandText>
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ADDED_WHEN,@CHANGED_WHO,@CHANGED_WHEN,@INDEX_NAME,@TYP,@VALIDATION,@CHOICE_LIST,@CONNECTION_ID,@SQL_UEBERPRUEFUNG,@HEIGHT,@WIDTH,@FONT_STYLE,@FONT_SIZE,@FONT_FAMILY,@FONT_COLOR,@READ_ONLY,@LOAD_IDX_VALUE,@DEFAULT_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES,@REGEX_MATCH,@REGEX_MESSAGE_DE,@REGEX_MESSAGE_EN,@IMAGE_CONTROL,@SQL2,@SQL_ENABLE,@SAVE_CHANGE_ON_ENABLED,@FORMAT_STRING,@TEXT_ALIGNMENT);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = SCOPE_IDENTITY()) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
@@ -1021,7 +1021,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<CommandText>SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID,
SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES,
REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE,
TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM
FROM TBPM_PROFILE_CONTROLS
WHERE (GUID = @guid)
ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1031,7 +1031,7 @@ ORDER BY Y_LOC, X_LOC</CommandText>
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE TBPM_PROFILE_CONTROLS
SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE, CTRL_TEXT = @CTRL_TEXT, X_LOC = @X_LOC, Y_LOC = @Y_LOC, CHANGED_WHO = @CHANGED_WHO, INDEX_NAME = @INDEX_NAME,
TYP = @TYP, VALIDATION = @VALIDATION, CHOICE_LIST = @CHOICE_LIST, CONNECTION_ID = @CONNECTION_ID, SQL_UEBERPRUEFUNG = @SQL_UEBERPRUEFUNG, HEIGHT = @HEIGHT, WIDTH = @WIDTH,
@@ -1042,42 +1042,42 @@ SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE,
WHERE (GUID = @Original_GUID);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @GUID) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="INDEX_NAME" ColumnName="INDEX_NAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@INDEX_NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="INDEX_NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="TYP" ColumnName="TYP" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@TYP" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="TYP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_UEBERPRUEFUNG" ColumnName="SQL_UEBERPRUEFUNG" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_UEBERPRUEFUNG" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_UEBERPRUEFUNG" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="WIDTH" ColumnName="WIDTH" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@WIDTH" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_STYLE" ColumnName="FONT_STYLE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_STYLE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_STYLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_SIZE" ColumnName="FONT_SIZE" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@FONT_SIZE" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="FONT_SIZE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_FAMILY" ColumnName="FONT_FAMILY" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@FONT_FAMILY" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="FONT_FAMILY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FONT_COLOR" ColumnName="FONT_COLOR" DataSourceName="" DataTypeServer="bigint" DbType="Int64" Direction="Input" ParameterName="@FONT_COLOR" Precision="0" ProviderType="BigInt" Scale="0" Size="8" SourceColumn="FONT_COLOR" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="MULTISELECT" ColumnName="MULTISELECT" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@MULTISELECT" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="MULTISELECT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_ADD_ITEM" ColumnName="VKT_ADD_ITEM" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_ADD_ITEM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_ADD_ITEM" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VKT_PREVENT_MULTIPLE_VALUES" ColumnName="VKT_PREVENT_MULTIPLE_VALUES" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VKT_PREVENT_MULTIPLE_VALUES" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VKT_PREVENT_MULTIPLE_VALUES" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="IMAGE_CONTROL" ColumnName="IMAGE_CONTROL" DataSourceName="" DataTypeServer="varbinary(MAX)" DbType="Binary" Direction="Input" ParameterName="@IMAGE_CONTROL" Precision="0" ProviderType="VarBinary" Scale="0" Size="2147483647" SourceColumn="IMAGE_CONTROL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
@@ -1127,6 +1127,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<Mapping SourceColumn="SAVE_CHANGE_ON_ENABLED" DataSetColumn="SAVE_CHANGE_ON_ENABLED" />
<Mapping SourceColumn="FORMAT_STRING" DataSetColumn="FORMAT_STRING" />
<Mapping SourceColumn="TEXT_ALIGNMENT" DataSetColumn="TEXT_ALIGNMENT" />
<Mapping SourceColumn="DISPLAY_IN_SEPERATE_FORM" DataSetColumn="DISPLAY_IN_SEPERATE_FORM" />
</Mappings>
<Sources>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdControlExists" Modifier="Public" Name="cmdControlExists" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdControlExists">
@@ -1236,8 +1237,8 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT)</CommandText>
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT,@DISPLAY_IN_SEPERATE_FORM)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1249,6 +1250,7 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Width" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Width" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DISPLAY_IN_SEPERATE_FORM" ColumnName="DISPLAY_IN_SEPERATE_FORM" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@DISPLAY_IN_SEPERATE_FORM" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="DISPLAY_IN_SEPERATE_FORM" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
@@ -1273,7 +1275,8 @@ WHERE (GUID = @Original_GUID);</CommandText>
<CommandText>SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID,
CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE,
SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT,
DISPLAY_IN_SEPERATE_FORM
FROM TBPM_PROFILE_CONTROLS AS T
WHERE (PROFIL_ID = @profil_id)
ORDER BY Y_LOC, X_LOC</CommandText>
@@ -2703,7 +2706,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:simpleType>
</xs:element>
<xs:element name="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnPropNameInTable="SAVE_CHANGE_ON_ENABLEDColumn" msprop:Generator_ColumnPropNameInRow="SAVE_CHANGE_ON_ENABLED" msprop:Generator_UserColumnName="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnVarNameInTable="columnSAVE_CHANGE_ON_ENABLED" type="xs:boolean" />
<xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" default="" minOccurs="0" />
<xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" default="" />
<xs:element name="BACKCOLOR_IF" msprop:Generator_ColumnPropNameInTable="BACKCOLOR_IFColumn" msprop:Generator_ColumnPropNameInRow="BACKCOLOR_IF" msprop:Generator_UserColumnName="BACKCOLOR_IF" msprop:Generator_ColumnVarNameInTable="columnBACKCOLOR_IF" type="xs:string" minOccurs="0" />
<xs:element name="TEXT_ALIGNMENT" msprop:Generator_ColumnPropNameInTable="TEXT_ALIGNMENTColumn" msprop:Generator_ColumnPropNameInRow="TEXT_ALIGNMENT" msprop:Generator_UserColumnName="TEXT_ALIGNMENT" msprop:Generator_ColumnVarNameInTable="columnTEXT_ALIGNMENT" default="Near">
<xs:simpleType>
@@ -2712,6 +2715,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DISPLAY_IN_SEPERATE_FORM" msprop:Generator_ColumnPropNameInRow="DISPLAY_IN_SEPERATE_FORM" msprop:Generator_ColumnPropNameInTable="DISPLAY_IN_SEPERATE_FORMColumn" msprop:Generator_ColumnVarNameInTable="columnDISPLAY_IN_SEPERATE_FORM" msprop:Generator_UserColumnName="DISPLAY_IN_SEPERATE_FORM" type="xs:boolean" default="false" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -2822,7 +2826,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" default="">
<xs:element name="FORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" default="">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3000" />
@@ -3415,9 +3419,9 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" />
</xs:appinfo>
</xs:annotation>
</xs:schema>

View File

@@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="90" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="190" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />

View File

@@ -134,7 +134,6 @@ Public Module ModuleControlProperties
<Description("Stores data of Read Only fields when document is saved. Default behaviour is NOT to save Read Only fields.")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [SaveChangeOnReadOnly]() As Boolean
<Browsable(False)>
<Category(ClassConstants.CAT_GENERAL)>
Public Property IndexType() As IndexTypes
@@ -350,6 +349,10 @@ Public Module ModuleControlProperties
<DisplayName("Allow Adding New Values")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property AllowAddNewValues As Boolean
<DisplayName("Display in seperate form")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property [DISPLAY_SEP_FORM]() As Boolean
End Class
Public Class ButtonProperties

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.9.1.0")>
<Assembly: AssemblyVersion("2.9.3.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")>

View File

@@ -227,84 +227,71 @@
<Reference Include="FormsUtils">
<HintPath>M:\Bibliotheken\3rdParty\FormsUtils.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll</HintPath>
<Reference Include="GdPicture.NET.14, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
<Reference Include="GdPicture.NET.14.CAD, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Common, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Document, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Email, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.HTML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Markdown, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Markdown.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.PDF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.RTF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Google.Protobuf, Version=3.33.2.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
@@ -329,11 +316,14 @@
<Reference Include="Mail">
<HintPath>M:\Bibliotheken\3rdParty\Limilabs\Mail.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.5\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.9.0.0\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
<Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.5\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.HashCode, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
@@ -342,6 +332,15 @@
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Exceptions, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Exceptions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
@@ -351,8 +350,8 @@
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath>
<Reference Include="OpenMcdf, Version=3.1.4.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.3.1.4\lib\netstandard2.0\OpenMcdf.dll</HintPath>
</Reference>
<Reference Include="Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
<HintPath>..\packages\Oracle.ManagedDataAccess.21.15.0\lib\net462\Oracle.ManagedDataAccess.dll</HintPath>
@@ -367,14 +366,14 @@
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.CodeDom.9.0.0\lib\net462\System.CodeDom.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.9.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
<Reference Include="System.Collections.Immutable, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.10.0.5\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
@@ -389,53 +388,53 @@
<Reference Include="System.DirectoryServices" />
<Reference Include="System.DirectoryServices.AccountManagement" />
<Reference Include="System.Drawing" />
<Reference Include="System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.9.0.0\lib\net462\System.Formats.Asn1.dll</HintPath>
<Reference Include="System.Formats.Asn1, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.10.0.5\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference>
<Reference Include="System.IdentityModel" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Packaging, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.9.0.0\lib\net462\System.IO.Packaging.dll</HintPath>
<Reference Include="System.IO.Packaging, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.10.0.5\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.10.0.5\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.9.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
<Reference Include="System.Security.Cryptography.Pkcs, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.10.0.5\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.10.0.5\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
<Reference Include="System.Text.Json, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.10.0.5\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Threading.Channels, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.10.0.5\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
<Reference Include="System.ValueTuple, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.6.1\lib\net462\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Services" />
<Reference Include="System.Windows.Forms" />
@@ -466,6 +465,7 @@
<Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" />
@@ -557,6 +557,12 @@
<Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmControl_Table.Designer.vb">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</Compile>
<Compile Include="frmControl_Table.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmDesignerLayout.Designer.vb">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile>
@@ -820,6 +826,9 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -1366,10 +1375,10 @@
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@@ -70,7 +70,7 @@ Public Class clsPatterns
''' </summary>
Public Shared Sub ClearControlCache()
_ControlLookupCache = Nothing
LOGGER.Debug("Control cache cleared")
If LOG_HOTSPOTS Then LOGGER.Debug("Control cache cleared")
End Sub
''' <summary>
''' Aktualisiert den Wert eines Controls im Cache
@@ -122,7 +122,7 @@ Public Class clsPatterns
LOGGER.Warn($"Unsupported control type for cache update: {ctrl.GetType.Name}")
End Select
LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]")
If LOG_HOTSPOTS Then LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]")
Catch ex As Exception
LOGGER.Error(ex)
@@ -144,7 +144,7 @@ Public Class clsPatterns
UpdateControlInCache(kvp.Key, kvp.Value)
Next
LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
If LOG_HOTSPOTS Then LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
End Sub
''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value}
@@ -175,9 +175,9 @@ Public Class clsPatterns
If Not IsNothing(oResult) Then
oResult = ReplaceUserValues(oResult)
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
End If
End If
LOGGER.Debug($"input AFTER replacing: [{oResult}]")
Return oResult
Catch ex As Exception
LOGGER.Error(ex)
@@ -305,7 +305,7 @@ Public Class clsPatterns
End SyncLock
Try
LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
Dim oTryCounter = 0
While ContainsPattern(oResult, PATTERN_CTRL)
@@ -325,7 +325,7 @@ Public Class clsPatterns
oColumnName = oSplitName.Last()
End If
LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
If LOG_HOTSPOTS Then LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
' Beim Cache-Zugriff Lock verwenden
Dim oControl As Control = Nothing
SyncLock _ControlLookupCache
@@ -349,11 +349,11 @@ Public Class clsPatterns
If oControl IsNot Nothing Then
Dim oReplaceValue As String
LOGGER.Debug("oControl.GetType [{0}].", oControl.GetType.ToString)
If LOG_HOTSPOTS Then LOGGER.Debug("oControl.GetType [{0}].", oControl.GetType.ToString)
Select Case oControl.GetType
Case GetType(TextBox)
oReplaceValue = oControl.Text
LOGGER.Debug("TextBox- oReplaceValue will be [{0}].", oReplaceValue)
If LOG_HOTSPOTS Then LOGGER.Debug("TextBox- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(TextEdit)
Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, TextEdit).EditValue, String.Empty)
@@ -361,7 +361,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = ""
End Try
LOGGER.Debug("TextEdit- oReplaceValue will be [{0}].", oReplaceValue)
If LOG_HOTSPOTS Then LOGGER.Debug("TextEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(MemoEdit)
Try
oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, MemoEdit).EditValue, String.Empty)
@@ -369,7 +369,7 @@ Public Class clsPatterns
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = ""
End Try
LOGGER.Debug("MemoEdit- oReplaceValue will be [{0}].", oReplaceValue)
If LOG_HOTSPOTS Then LOGGER.Debug("MemoEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(LookupControl3)
Dim oLookupControl3 As LookupControl3 = oControl
@@ -391,7 +391,7 @@ Public Class clsPatterns
oReplaceValue = ERROR_REPLACE_VALUE
' ========== FIX END ==========
ElseIf selectedValues.Count > 1 Then
LOGGER.Debug($"LookupControl3 [{oControlName}] mit mehr als 1 Value")
If LOG_HOTSPOTS Then LOGGER.Debug($"LookupControl3 [{oControlName}] mit mehr als 1 Value")
Dim oIndex As Integer = 0
For Each oString As String In selectedValues
If oIndex = 0 Then
@@ -403,12 +403,11 @@ Public Class clsPatterns
Next
oIsSQL = False
Else ' Count = 1
LOGGER.Debug($"LookupControl3 [{oControlName}] mit genau einem Value")
If LOG_HOTSPOTS Then LOGGER.Debug($"LookupControl3 [{oControlName}] mit genau einem Value")
oReplaceValue = selectedValues(0)
End If
LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
If LOG_HOTSPOTS Then LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
Case GetType(Windows.Forms.ComboBox)
oReplaceValue = oControl.Text
@@ -440,7 +439,7 @@ Public Class clsPatterns
Case Else
oReplaceValue = ERROR_REPLACE_VALUE
End Select
LOGGER.Debug($"[SQL-ESCAPE CHECK] Control: [{oControlName}], oReplaceValue Type: [{If(oReplaceValue?.GetType()?.Name, "NULL")}], Value: [{oReplaceValue}], IsSQL: [{oIsSQL}]")
If LOG_HOTSPOTS Then LOGGER.Debug($"[SQL-ESCAPE CHECK] Control: [{oControlName}], oReplaceValue Type: [{If(oReplaceValue?.GetType()?.Name, "NULL")}], Value: [{oReplaceValue}], IsSQL: [{oIsSQL}]")
If oReplaceValue Is Nothing Then
LOGGER.Warn($"⚠️ oReplaceValue is Nothing for control [{oControlName}]! Setting to ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE
@@ -468,7 +467,7 @@ Public Class clsPatterns
End Try
End Function
Private Shared Function SafeSqlEscape(value As Object) As String
LOGGER.Debug($"[SafeSqlEscape] Input Type: [{If(value?.GetType()?.Name, "NULL")}], Value: [{value}]")
If LOG_HOTSPOTS Then LOGGER.Debug($"[SafeSqlEscape] Input Type: [{If(value?.GetType()?.Name, "NULL")}], Value: [{value}]")
If value Is Nothing Then
LOGGER.Warn("[SafeSqlEscape] Value is Nothing → returning ERROR_REPLACE_VALUE")
@@ -490,14 +489,14 @@ Public Class clsPatterns
End If
Dim escaped = strValue.Replace("'", "''")
LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
If LOG_HOTSPOTS Then LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
Return escaped
End Function
Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String
Try
Dim oResult = pInput
Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(oResult, PATTERN_WMI)
Dim oWMValue As String
Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value
@@ -517,9 +516,9 @@ Public Class clsPatterns
If oWMValue IsNot Nothing Then
If pIsSQL = True Then
LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oWMValue}")
If LOG_HOTSPOTS Then LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oWMValue}")
oWMValue = oWMValue.ToString().Replace("'", "''")
LOGGER.Debug($"oReplaceValue = {oWMValue}")
If LOG_HOTSPOTS Then LOGGER.Debug($"oReplaceValue = {oWMValue}")
End If
oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue)
Else
@@ -543,7 +542,7 @@ Public Class clsPatterns
Try
Dim result = input
Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}")
If LOG_HOTSPOTS Then LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(result, PATTERN_IDBA)
Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value
@@ -568,7 +567,7 @@ Public Class clsPatterns
If oIDBValue IsNot Nothing Or Not IsDBNull(oIDBValue) Then
Dim oReplaceValue = "{" + $"#{PATTERN_IDBA}#{indexName}" + "}"
If IS_SQL = True Then
LOGGER.Debug($"IS_SQL = True - oReplaceValue = [{oReplaceValue}]")
If LOG_HOTSPOTS Then LOGGER.Debug($"IS_SQL = True - oReplaceValue = [{oReplaceValue}]")
If indexName <> "ObjectID" And indexName <> "OBJID" And indexName <> "DocID" Then
Try
oIDBValue = oIDBValue.Replace("'", "''")
@@ -578,7 +577,7 @@ Public Class clsPatterns
End Try
End If
LOGGER.Debug($"oIDBValue = {oIDBValue}")
If LOG_HOTSPOTS Then LOGGER.Debug($"oIDBValue = {oIDBValue}")
End If
result = result.Replace(oReplaceValue, oIDBValue)
Else
@@ -590,7 +589,7 @@ Public Class clsPatterns
' Increase counter by 10 to avoid DDOSing the Database/IDB Service
oTryCounter += 10
End While
LOGGER.Debug("sql after ReplaceIDBAttributes: " & input)
If LOG_HOTSPOTS Then LOGGER.Debug("sql after ReplaceIDBAttributes: " & input)
Return result
Catch ex As Exception
LOGGER.Error(ex)

View File

@@ -136,9 +136,18 @@ Public Class frmColumn_Detail
CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN"
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 0
}
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
If IDB_ACTIVE = False Then
oForm2.ATTRIBUTE_STORE = "WM"
oForm2.PlaceholdersWindream = MVSource_AllIndicies
Else
oForm2.ATTRIBUTE_STORE = "IDB"
End If
oForm2.ShowDialog()
If oForm2.DialogResult = DialogResult.OK Then
@@ -186,7 +195,10 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = SQL_COMMANDTextBox.Text,
.SQLConnection = 0
.SQLConnection = 0,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
oForm2.ShowDialog()
@@ -232,7 +244,10 @@ Public Class frmColumn_Detail
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = FORMULA_SQLTextBox.Text,
.SQLConnection = 0
.SQLConnection = 0,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
oForm2.ShowDialog()

122
app/TaskFlow/frmControl_Table.Designer.vb generated Normal file
View File

@@ -0,0 +1,122 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmControl_Table
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmControl_Table))
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.rbnPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 5
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.rbnPageStart})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.RibbonControl1.Size = New System.Drawing.Size(800, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
'
'BarButtonItem1
'
Me.BarButtonItem1.Caption = "Daten neu laden"
Me.BarButtonItem1.Id = 1
Me.BarButtonItem1.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem1.Name = "BarButtonItem1"
'
'BarButtonItem2
'
Me.BarButtonItem2.Caption = "Abbruch"
Me.BarButtonItem2.Id = 3
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'rbnPageStart
'
Me.rbnPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
Me.rbnPageStart.Name = "rbnPageStart"
Me.rbnPageStart.Text = "Start"
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem3)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
Me.RibbonPageGroup1.Text = "Funktionen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 428)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(800, 22)
'
'RibbonPage2
'
Me.RibbonPage2.Name = "RibbonPage2"
Me.RibbonPage2.Text = "RibbonPage2"
'
'BarButtonItem3
'
Me.BarButtonItem3.Caption = "Layout zurücksetzen"
Me.BarButtonItem3.Id = 4
Me.BarButtonItem3.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem3.Name = "BarButtonItem3"
'
'frmControl_Table
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.RibbonControl1)
Me.IconOptions.SvgImage = CType(resources.GetObject("frmControl_Table.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Name = "frmControl_Table"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmControl_Table"
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents rbnPageStart As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANYDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iVXBkYXRlIj4NCiAgICA8ZyBj
bGFzcz0ic3QxIj4NCiAgICAgIDxwYXRoIGQ9Ik0xNiw2aC02VjJoNlY2eiBNMTYsOGgtNnY0aDZWOHog
TTI0LDJoLTZ2NGg2VjJ6IE0yNCwxMlY4aC02djRIMjR6IE0yLDZoNlYySDJWNnogTTIsMThoNnYtNEgy
VjE4eiBNMTYsMTQgICAgTDE2LDE0bC02LDB2NGgyLjhDMTMuNSwxNi40LDE0LjYsMTUsMTYsMTR6IE0y
LDEyaDZWOEgyVjEyeiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDwvZz4NCiAgICA8cGF0aCBkPSJNMjcu
NywyMGgySDMwdi02bC0yLjMsMi4zQzI2LjIsMTQuOSwyNC4yLDE0LDIyLDE0Yy00LjQsMC04LDMuNi04
LDhjMCw0LjQsMy42LDgsOCw4czgtMy42LDgtOGgtMiAgIGMwLDMuMy0yLjcsNi02LDZzLTYtMi43LTYt
NnMyLjctNiw2LTZjMS43LDAsMy4yLDAuNyw0LjIsMS44TDI0LDIwSDI3Ljd6IiBjbGFzcz0iR3JlZW4i
IC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPoBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iQ2xlYXJIZWFkZXJBbmRGb290ZXIiIHN0eWxlPSJlbmFibGUtYmFja2dy
b3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5SZWR7ZmlsbDoj
RDExQzFDO30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRINUM0LjUsNCw0LDQuNSw0LDV2MjJjMCww
LjUsMC41LDEsMSwxaDIyYzAuNSwwLDEtMC41LDEtMVY1QzI4LDQuNSwyNy41LDQsMjcsNHogTTIyLDIw
bC0yLDJsLTQtNGwtNCw0ICBsLTItMmw0LTRsLTQtNGwyLTJsNCw0bDQtNGwyLDJsLTQsNEwyMiwyMHoi
IGNsYXNzPSJSZWQiIC8+DQo8L3N2Zz4L
</value>
</data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPECAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iRGVsZXRlTGlzdCI+DQogICAgPHBhdGggZD0iTTYsMjZWNGgxOHYxMy4ybDItMlYz
YzAtMC42LTAuNC0xLTEtMUg1QzQuNCwyLDQsMi40LDQsM3YyNGMwLDAuNiwwLjQsMSwxLDFoOC4ybDIt
Mkg2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMjgsMjAgMjYsMTggMjIs
MjIgMTgsMTggMTYsMjAgMjAsMjQgMTYsMjggMTgsMzAgMjIsMjYgMjYsMzAgMjgsMjggMjQsMjQgICIg
Y2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="frmControl_Table.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPoBAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0VGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVle2ZpbGw6IzExNzdENzt9
Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0xMCwxMEgyVjRoOFYxMHogTTIwLDRoLTh2Nmg4VjR6IE0zMCw0
aC04djZoOFY0eiBNMTAsMTJIMnY2aDhWMTJ6IE0yMCwxMmgtOHY2aDhWMTJ6IE0zMCwxMmgtOHY2aDhW
MTJ6ICAgTTEwLDIwSDJ2Nmg4VjIweiBNMjAsMjBoLTh2Nmg4VjIweiBNMzAsMjBoLTh2Nmg4VjIweiIg
Y2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
</value>
</data>
</root>

View File

@@ -0,0 +1,607 @@
Imports System.Data
Imports System.Globalization
Imports DevExpress.Data
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraExport.Helpers
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraReports.ReportGeneration
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
Public Class frmControl_Table
Private _gridControl As GridControl
Private _gridView As GridView
Private _controlRow As DataRow
Private _dataTable As DataTable
Private _docCurrency As String
Private _profilID As Integer
Private _controlID As Integer
Private _parentValidator As frmValidator
Private _controlCreator As ClassControlCreator
Private ReadOnly MyControlTableLogger As Logger
Private _gridDataLoader As ClassGridDataLoader
Private _isDirty As Boolean = False
' Öffentliche Property für Dirty-Status
Public ReadOnly Property IsDirty As Boolean
Get
Return _isDirty
End Get
End Property
Public Sub New(controlRow As DataRow, dataTable As DataTable, docCurrency As String, parentValidator As frmValidator, controlCreator As ClassControlCreator)
InitializeComponent()
MyControlTableLogger = LOGCONFIG.GetLogger()
_gridDataLoader = New ClassGridDataLoader(DatabaseFallback)
_controlRow = controlRow
_dataTable = dataTable
_docCurrency = docCurrency
_parentValidator = parentValidator
_controlCreator = controlCreator
If controlRow IsNot Nothing Then
_profilID = If(IsDBNull(controlRow("PROFIL_ID")), 0, CInt(controlRow("PROFIL_ID")))
_controlID = If(IsDBNull(controlRow("GUID")), 0, CInt(controlRow("GUID")))
Dim oTitle = $"TABLE.{controlRow("NAME")}.FORMCAPTION"
Dim oCaption = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO(oTitle)
If IsNothing(oCaption) Then
Me.Text = controlRow("CTRL_TEXT").ToString()
Else
Me.Text = oCaption
End If
End If
End Sub
Private Function GetXML_FormSizeName(pProfilID As Integer, pControlID As Integer)
Dim Filename As String = String.Format($"Formlayout_{pProfilID}-{pControlID}.xml")
Return System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
End Function
Public Function GetGridControl() As GridControl
Return _gridControl
End Function
Private Sub frmControl_Table_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
MyControlTableLogger?.Debug("=== FORM LOAD START ===")
MyControlTableLogger?.Debug($"Form Size: {Me.Size}, Controls vor Grid: {Me.Controls.Count}")
' Grid über ControlCreator erstellen (wie im frmValidator)
CreateGridViaControlCreator()
' WICHTIG: Grid-Daten befüllen
FillGridWithData()
MyControlTableLogger?.Debug($"Nach CreateGrid - Controls im Form: {Me.Controls.Count}")
' GridControl-Status prüfen
If _gridControl IsNot Nothing Then
MyControlTableLogger?.Debug($"GridControl.Visible: {_gridControl.Visible}, Enabled: {_gridControl.Enabled}")
MyControlTableLogger?.Debug($"GridControl.Size: {_gridControl.Size}, Location: {_gridControl.Location}")
MyControlTableLogger?.Debug($"GridControl.Parent: {_gridControl.Parent?.Name}")
End If
' Formular-Größe wiederherstellen
RestoreFormSize()
MyControlTableLogger?.Debug("=== FORM LOAD END ===")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Laden des Grids: {ex.Message}", ex)
XtraMessageBox.Show($"Fehler beim Laden des Grids: {ex.Message}", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
''' <summary>
''' Befüllt das Grid mit Daten aus der Datenbank
''' </summary>
Private Sub FillGridWithData()
Try
If _gridControl Is Nothing OrElse _parentValidator Is Nothing Then
MyControlTableLogger?.Warn("FillGridWithData: GridControl oder ParentValidator ist Nothing")
Return
End If
MyControlTableLogger?.Debug("Starte FillGridWithData...")
' ✅ RICHTIG: DT_COLUMNS_GRID (ALLE Spalten mit SPALTENBREITE!)
Dim allColumnDefinitions As DataTable = _parentValidator.DT_COLUMNS_GRID
If allColumnDefinitions Is Nothing Then
MyControlTableLogger?.Warn("Keine Spalten-Definitionen verfügbar (DT_COLUMNS_GRID)")
Return
End If
Dim isIDBActive As Boolean = IDB_ACTIVE
Dim userLanguage As String = USER_LANGUAGE
' GridDataLoader mit der RICHTIGEN Tabelle aufrufen
Dim success As Boolean = _gridDataLoader.FillGridData(
_gridControl,
_controlRow,
allColumnDefinitions, ' ← ALLE Spalten, nicht nur SQL!
_parentValidator
)
If success Then
MyControlTableLogger?.Debug("Grid-Daten erfolgreich befüllt")
_gridControl.RefreshDataSource()
Else
MyControlTableLogger?.Warn("Grid-Daten konnten nicht befüllt werden")
End If
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler in FillGridWithData: {ex.Message}", ex)
End Try
End Sub
Private Sub CreateGridViaControlCreator()
If _controlCreator Is Nothing OrElse _controlRow Is Nothing OrElse _dataTable Is Nothing Then
Throw New InvalidOperationException("ControlCreator, ControlRow oder DataTable fehlen.")
End If
Try
MyControlTableLogger?.Debug($"Starte Grid-Erstellung für Control-ID: {_controlID}, Profil-ID: {_profilID}")
' WICHTIG: PanelControl (DevExpress) statt Panel verwenden!
Dim containerPanel As New DevExpress.XtraEditors.PanelControl()
containerPanel.Dock = DockStyle.Fill
containerPanel.Name = "GridContainerPanel"
containerPanel.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
Me.Controls.Add(containerPanel)
MyControlTableLogger?.Debug("Container PanelControl erstellt und zum Form hinzugefügt")
' Grid über ControlCreator erstellen - MIT PanelControl als Parent
_gridControl = _controlCreator.CreateExistingGridControl(_controlRow, _dataTable, False, _docCurrency, containerPanel)
If _gridControl Is Nothing Then
MyControlTableLogger?.Warn("CreateExistingGridControl hat Nothing zurückgegeben")
Throw New InvalidOperationException("Grid konnte nicht erstellt werden.")
End If
MyControlTableLogger?.Debug($"GridControl erstellt: {_gridControl.Name}")
MyControlTableLogger?.Debug($"GridControl.Parent nach Erstellung: {_gridControl.Parent?.Name}")
' GridControl sollte bereits vom ControlCreator hinzugefügt worden sein
' Falls nicht, explizit hinzufügen
If _gridControl.Parent Is Nothing Then
containerPanel.Controls.Add(_gridControl)
MyControlTableLogger?.Debug("GridControl manuell zu Container hinzugefügt")
End If
' GridControl konfigurieren
_gridControl.Dock = DockStyle.Fill
_gridControl.Visible = True
_gridControl.BringToFront()
MyControlTableLogger?.Debug($"GridControl Dock-Style gesetzt, Container.Controls.Count: {containerPanel.Controls.Count}")
' GridView-Referenz holen
If _gridControl.MainView IsNot Nothing AndAlso TypeOf _gridControl.MainView Is GridView Then
_gridView = DirectCast(_gridControl.MainView, GridView)
MyControlTableLogger?.Debug($"GridView gefunden: {_gridView.Name}, Columns: {_gridView.Columns.Count}")
' Events registrieren (wie im frmValidator)
AddHandler _gridView.CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler _gridView.KeyDown, AddressOf GridView_KeyDown
AddHandler _gridView.RowDeleting, AddressOf GridView_RowDeleting
MyControlTableLogger?.Debug("GridView Events registriert")
Else
MyControlTableLogger?.Warn($"Kein GridView gefunden. MainView ist: {_gridControl.MainView?.GetType().Name}")
End If
If _dataTable IsNot Nothing Then
AddHandler _dataTable.RowDeleted, AddressOf GridDataSource_RowDeleted
MyControlTableLogger?.Debug($"DataTable Events registriert. Rows: {_dataTable.Rows.Count}")
End If
' Refresh erzwingen
_gridControl.Refresh()
containerPanel.Refresh()
Me.Refresh()
MyControlTableLogger?.Debug("CreateGridViaControlCreator abgeschlossen")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler in CreateGridViaControlCreator: {ex.Message}", ex)
MyControlTableLogger?.Error($"StackTrace: {ex.StackTrace}")
Throw
End Try
End Sub
Private Sub GridView_CellValueChanged(sender As Object, e As CellValueChangedEventArgs)
' Markiere als geändert
_isDirty = True
MyControlTableLogger?.Debug("Grid-Daten geändert - IsDirty = True")
' Änderungen an Parent-Validator weitergeben, falls notwendig
If _parentValidator IsNot Nothing Then
' Hier können Sie die gleiche Logik wie im frmValidator implementieren
End If
End Sub
Private Sub GridView_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Delete Then
If _gridView IsNot Nothing AndAlso _gridView.SelectedRowsCount > 0 Then
Dim result = XtraMessageBox.Show("Möchten Sie die ausgewählte(n) Zeile(n) wirklich löschen?",
"Löschen bestätigen",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
If result = DialogResult.Yes Then
_gridView.DeleteSelectedRows()
End If
End If
End If
End Sub
Private Sub GridView_RowDeleting(sender As Object, e As RowDeletingEventArgs)
' Markiere als geändert beim Löschen
_isDirty = True
MyControlTableLogger?.Debug("Grid-Zeile gelöscht - IsDirty = True")
End Sub
Private Sub GridDataSource_RowDeleted(sender As Object, e As DataRowChangeEventArgs)
' Cleanup nach dem Löschen
CleanupDeletedRows()
End Sub
Private Sub CleanupDeletedRows()
If _dataTable Is Nothing Then Return
Try
Dim rowsToRemove As New List(Of DataRow)
For Each row As DataRow In _dataTable.Rows
If row.RowState = DataRowState.Deleted OrElse row.RowState = DataRowState.Detached Then
rowsToRemove.Add(row)
End If
Next
For Each row In rowsToRemove
Try
If row.RowState <> DataRowState.Detached Then
_dataTable.Rows.Remove(row)
End If
Catch
' Row bereits entfernt
End Try
Next
Catch ex As Exception
' Fehlerbehandlung
End Try
End Sub
Public Function GetGridData() As DataTable
Return _dataTable
End Function
Public Function ValidateGrid() As Boolean
If _gridView Is Nothing Then Return True
Try
_gridView.CloseEditor()
_gridView.UpdateCurrentRow()
Return _gridView.PostEditor()
Catch ex As Exception
Return False
End Try
End Function
Private Sub frmControl_Table_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
' Validierung vor dem Schließen
If Not ValidateGrid() Then
Dim result = XtraMessageBox.Show("Es gibt ungespeicherte Änderungen. Trotzdem schließen?",
"Warnung",
MessageBoxButtons.YesNo,
MessageBoxIcon.Warning)
If result = DialogResult.No Then
e.Cancel = True
Return
End If
End If
' Formular-Größe speichern
SaveFormSize()
' Events entfernen
If _gridView IsNot Nothing Then
RemoveHandler _gridView.CellValueChanged, AddressOf GridView_CellValueChanged
RemoveHandler _gridView.KeyDown, AddressOf GridView_KeyDown
RemoveHandler _gridView.RowDeleting, AddressOf GridView_RowDeleting
End If
If _dataTable IsNot Nothing Then
RemoveHandler _dataTable.RowDeleted, AddressOf GridDataSource_RowDeleted
End If
Catch ex As Exception
' Fehlerbehandlung beim Schließen
End Try
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Try
MyControlTableLogger?.Debug("Daten neu laden angefordert ...")
' Sprachabhängige Texte
Dim title, question, successMessage As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Daten neu laden"
question = "Möchten Sie die Daten wirklich neu laden?" & vbCrLf & vbCrLf &
"Alle nicht gespeicherten Änderungen gehen verloren!"
successMessage = "Daten wurden erfolgreich neu geladen."
Case "fr-FR"
title = "Recharger les données"
question = "Voulez-vous vraiment recharger les données?" & vbCrLf & vbCrLf &
"Toutes les modifications non enregistrées seront perdues!"
successMessage = "Les données ont été rechargées avec succès."
Case Else ' en-US, en-GB, etc.
title = "Reload Data"
question = "Do you really want to reload the data?" & vbCrLf & vbCrLf &
"All unsaved changes will be lost!"
successMessage = "Data has been successfully reloaded."
End Select
' Benutzer-Bestätigung
Dim result = XtraMessageBox.Show(
question,
title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
)
If result = DialogResult.No Then
MyControlTableLogger?.Debug("Reload vom Benutzer abgebrochen")
Return
End If
' GridView zurücksetzen
If _gridView IsNot Nothing Then
_gridView.ClearColumnsFilter()
_gridView.ClearSorting()
_gridView.ClearGrouping()
MyControlTableLogger?.Debug("GridView Filter/Sortierung/Gruppierung gelöscht!")
End If
' Daten neu laden (Spaltenbreiten kommen aus DB!)
FillGridWithData()
' Erfolgs-Meldung
XtraMessageBox.Show(
successMessage,
title,
MessageBoxButtons.OK,
MessageBoxIcon.Information
)
MyControlTableLogger?.Debug("Daten erfolgreich neu geladen")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Neuladen: {ex.Message}", ex)
' Fehler-Meldung (auch mehrsprachig)
Dim errorTitle As String = If(USER_LANGUAGE = "de-DE", "Fehler", "Error")
Dim errorPrefix As String = If(USER_LANGUAGE = "de-DE", "Fehler beim Neuladen der Daten:", "Error while reloading data:")
XtraMessageBox.Show(
$"{errorPrefix}{vbCrLf}{ex.Message}",
errorTitle,
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Me.Close()
End Sub
''' <summary>
''' Speichert die aktuelle Formular-Größe und Position in einer XML-Datei
''' </summary>
Private Sub SaveFormSize()
Try
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
' XML-Dokument erstellen
Dim xmlDoc As New Xml.XmlDocument()
Dim rootNode As Xml.XmlElement = xmlDoc.CreateElement("FormSize")
xmlDoc.AppendChild(rootNode)
' Größe speichern
Dim widthNode As Xml.XmlElement = xmlDoc.CreateElement("Width")
widthNode.InnerText = Me.Width.ToString()
rootNode.AppendChild(widthNode)
Dim heightNode As Xml.XmlElement = xmlDoc.CreateElement("Height")
heightNode.InnerText = Me.Height.ToString()
rootNode.AppendChild(heightNode)
' Position speichern
Dim leftNode As Xml.XmlElement = xmlDoc.CreateElement("Left")
leftNode.InnerText = Me.Left.ToString()
rootNode.AppendChild(leftNode)
Dim topNode As Xml.XmlElement = xmlDoc.CreateElement("Top")
topNode.InnerText = Me.Top.ToString()
rootNode.AppendChild(topNode)
' WindowState speichern
Dim stateNode As Xml.XmlElement = xmlDoc.CreateElement("WindowState")
stateNode.InnerText = Me.WindowState.ToString()
rootNode.AppendChild(stateNode)
' Verzeichnis erstellen, falls nicht vorhanden
Dim directory As String = System.IO.Path.GetDirectoryName(xmlFile)
If Not String.IsNullOrEmpty(directory) AndAlso Not System.IO.Directory.Exists(directory) Then
System.IO.Directory.CreateDirectory(directory)
End If
' XML speichern
xmlDoc.Save(xmlFile)
MyControlTableLogger?.Debug($"Formular-Größe gespeichert: {xmlFile}")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Speichern der Formular-Größe: {ex.Message}", ex)
End Try
End Sub
''' <summary>
''' Lädt die gespeicherte Formular-Größe und Position aus der XML-Datei
''' </summary>
Private Sub RestoreFormSize()
Try
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
If Not System.IO.File.Exists(xmlFile) Then
MyControlTableLogger?.Debug($"Keine gespeicherte Formular-Größe gefunden: {xmlFile}")
Return
End If
' XML laden
Dim xmlDoc As New Xml.XmlDocument()
xmlDoc.Load(xmlFile)
Dim rootNode As Xml.XmlNode = xmlDoc.SelectSingleNode("FormSize")
If rootNode Is Nothing Then Return
' Größe wiederherstellen
Dim widthNode As Xml.XmlNode = rootNode.SelectSingleNode("Width")
Dim heightNode As Xml.XmlNode = rootNode.SelectSingleNode("Height")
If widthNode IsNot Nothing AndAlso heightNode IsNot Nothing Then
Dim width As Integer = 0
Dim height As Integer = 0
If Integer.TryParse(widthNode.InnerText, width) AndAlso Integer.TryParse(heightNode.InnerText, height) Then
Me.Size = New Size(width, height)
End If
End If
' Position wiederherstellen
Dim leftNode As Xml.XmlNode = rootNode.SelectSingleNode("Left")
Dim topNode As Xml.XmlNode = rootNode.SelectSingleNode("Top")
If leftNode IsNot Nothing AndAlso topNode IsNot Nothing Then
Dim left As Integer = 0
Dim top As Integer = 0
If Integer.TryParse(leftNode.InnerText, left) AndAlso Integer.TryParse(topNode.InnerText, top) Then
Me.Location = New Point(left, top)
End If
End If
' WindowState wiederherstellen
Dim stateNode As Xml.XmlNode = rootNode.SelectSingleNode("WindowState")
If stateNode IsNot Nothing Then
Dim state As FormWindowState
If [Enum].TryParse(Of FormWindowState)(stateNode.InnerText, state) Then
Me.WindowState = state
End If
End If
MyControlTableLogger?.Debug($"Formular-Größe wiederhergestellt: {xmlFile}")
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Wiederherstellen der Formular-Größe: {ex.Message}", ex)
End Try
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
Try
' Sprachabhängige Texte
Dim title, question, successMessage As String
Select Case USER_LANGUAGE
Case "de-DE"
title = "Layout löschen"
question = "Möchten Sie das gespeicherte Layout wirklich löschen?" & vbCrLf & vbCrLf &
"Das Formular wird auf die Standardgröße zurückgesetzt und neu geladen."
successMessage = "Layout wurde erfolgreich gelöscht." & vbCrLf & "Das Formular wird neu geladen..."
Case "fr-FR"
title = "Supprimer la disposition"
question = "Voulez-vous vraiment supprimer la disposition enregistrée?" & vbCrLf & vbCrLf &
"Le formulaire sera réinitialisé à la taille par défaut et rechargé."
successMessage = "La disposition a été supprimée avec succès." & vbCrLf & "Le formulaire va être rechargé..."
Case Else ' en-US, en-GB, etc.
title = "Delete Layout"
question = "Do you really want to delete the saved layout?" & vbCrLf & vbCrLf &
"The form will be reset to the default size and reloaded."
successMessage = "Layout has been successfully deleted." & vbCrLf & "The form will be reloaded..."
End Select
' Benutzer-Bestätigung
Dim result = XtraMessageBox.Show(
question,
title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
)
If result = DialogResult.No Then
MyControlTableLogger?.Debug("Layout-Löschung vom Benutzer abgebrochen")
Return
End If
' Layout-Datei löschen
Dim xmlFile As String = GetXML_FormSizeName(_profilID, _controlID)
Dim layoutDeleted As Boolean = False
If System.IO.File.Exists(xmlFile) Then
System.IO.File.Delete(xmlFile)
layoutDeleted = True
MyControlTableLogger?.Debug($"Layout-Datei gelöscht: {xmlFile}")
Else
MyControlTableLogger?.Debug($"Keine Layout-Datei zum Löschen gefunden: {xmlFile}")
End If
' Erfolgs-Meldung
XtraMessageBox.Show(
successMessage,
title,
MessageBoxButtons.OK,
MessageBoxIcon.Information
)
' Formular neu laden
If layoutDeleted Then
MyControlTableLogger?.Debug("Lade Formular nach Layout-Löschung neu...")
' GridView zurücksetzen
If _gridView IsNot Nothing Then
_gridView.ClearColumnsFilter()
_gridView.ClearSorting()
_gridView.ClearGrouping()
MyControlTableLogger?.Debug("GridView Filter/Sortierung/Gruppierung zurückgesetzt")
End If
' Daten neu laden
FillGridWithData()
' Formular auf Standardgröße zurücksetzen
Me.WindowState = FormWindowState.Normal
Me.StartPosition = FormStartPosition.CenterParent
MyControlTableLogger?.Debug("Formular erfolgreich neu geladen")
End If
Catch ex As Exception
MyControlTableLogger?.Error($"Fehler beim Löschen des Layouts: {ex.Message}", ex)
' Fehler-Meldung (mehrsprachig)
Dim errorTitle As String = If(USER_LANGUAGE = "de-DE", "Fehler", If(USER_LANGUAGE = "fr-FR", "Erreur", "Error"))
Dim errorPrefix As String = If(USER_LANGUAGE = "de-DE",
"Fehler beim Löschen des Layouts:",
If(USER_LANGUAGE = "fr-FR",
"Erreur lors de la suppression de la disposition:",
"Error while deleting layout:"))
XtraMessageBox.Show(
$"{errorPrefix}{vbCrLf}{ex.Message}",
errorTitle,
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
End Class

View File

@@ -298,7 +298,7 @@ Public Class frmFormDesigner
Dim oDTColumnsPerDevExGrid As DataTable = DatabaseFallback.GetDatatableECM(oSQL) ', "FDesignLaodControls")
Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, "EUR")
Dim table = ControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, "EUR", Panel1)
AddHandler table.MouseClick, AddressOf gridControl_MouseClick
' AddHandler table.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick
@@ -624,7 +624,6 @@ Public Class frmFormDesigner
obj.Index = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
obj.DefaultValue = ClassAllgemeineFunktionen.NotNullString(row.Item("DEFAULT_VALUE"), Nothing)
obj.TextAlignment = ClassAllgemeineFunktionen.NotNullString(row.Item("TEXT_ALIGNMENT"), "Near")
' Default value for ConnectionID
Dim oConnectionId = ClassAllgemeineFunktionen.NotNullString(row.Item("CONNECTION_ID"), 0)
obj.SQLCommand = New SQLValue(row.Item("SQL_UEBERPRUEFUNG"))
Return obj
@@ -746,6 +745,7 @@ Public Class frmFormDesigner
oGridProps.AllowAddNewValues = StrToBool(oRow.Item("VKT_ADD_ITEM"))
oGridProps.Enable_SQL = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE"), ""))
oGridProps.Enable_SQL_OnLoad = New SQLValue(ClassAllgemeineFunktionen.NotNullString(oRow.Item("SQL_ENABLE_ON_LOAD"), ""))
oGridProps.DISPLAY_SEP_FORM = StrToBool(oRow.Item("DISPLAY_IN_SEPERATE_FORM")) ' Hier hinzufügen
props = oGridProps
ElseIf TypeOf sender Is Button Then
Dim oButton As Button = sender
@@ -908,6 +908,8 @@ Public Class frmFormDesigner
Case "Active"
UpdateSingleValue("CONTROL_ACTIVE", IIf(newValue = True, 1, 0))
Case "DISPLAY_SEP_FORM"
UpdateSingleValue("DISPLAY_IN_SEPERATE_FORM", IIf(newValue = True, 1, 0))
Case "CtrlImage"
Dim myPath As ImageValue = newValue
UpdateImage(myPath.Value)
@@ -1021,12 +1023,19 @@ Public Class frmFormDesigner
Dim oSQL = $"SELECT SQL_BTN_FINISH FROM TBPM_PROFILE WHERE GUID = {ProfileId}"
Dim oldSQL = DatabaseFallback.GetScalarValueECM(oSQL)
Dim oForm As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = oldSQL,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
.SQLCommand = oldSQL,
.SQLConnection = 1,
.PlaceholdersManualPrefix = "CTRL",
.PlaceholdersManualTitle = "Controls",
.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.ToDictionary(Function(name) name, Function(name) name)
}
If IDB_ACTIVE = False Then
oForm.ATTRIBUTE_STORE = "WM"
oForm.PlaceholdersWindream = MVSource_AllIndicies
Else
oForm.ATTRIBUTE_STORE = "IDB"
End If
oForm.ShowDialog()
If oForm.DialogResult = DialogResult.OK Then
@@ -1146,7 +1155,7 @@ Public Class frmFormDesigner
Dim label = ControlCreator.CreateNewLabel(cursorPosition)
SetMovementHandlers(label)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign, "")
CHANGES_FORM_DESIGN = True
CurrentControl = label
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1160,7 +1169,7 @@ Public Class frmFormDesigner
Dim txt = ControlCreator.CreateNewTextBox(cursorPosition)
SetMovementHandlers(txt)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, txt.Name, "TXT", txt.Name, txt.Location.X, txt.Location.Y, USER_USERNAME, txt.Size.Height, txt.Size.Width, txt.Properties.Appearance.TextOptions.HAlignment)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, txt.Name, "TXT", txt.Name, txt.Location.X, txt.Location.Y, USER_USERNAME, txt.Size.Height, txt.Size.Width, txt.Properties.Appearance.TextOptions.HAlignment, "0")
CHANGES_FORM_DESIGN = True
CurrentControl = txt
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1174,7 +1183,7 @@ Public Class frmFormDesigner
Dim cmb = ControlCreator.CreateNewCombobox(cursorPosition)
SetMovementHandlers(cmb)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, cmb.Name, "CMB", cmb.Name, cmb.Location.X, cmb.Location.Y, USER_USERNAME, cmb.Size.Height, cmb.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, cmb.Name, "CMB", cmb.Name, cmb.Location.X, cmb.Location.Y, USER_USERNAME, cmb.Size.Height, cmb.Size.Width, "NONE", "0")
CHANGES_FORM_DESIGN = True
CurrentControl = cmb
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1188,7 +1197,7 @@ Public Class frmFormDesigner
Dim dtp = ControlCreator.CreateNewDatetimepicker(cursorPosition)
SetMovementHandlers(dtp)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, dtp.Name, "DTP", dtp.Name, dtp.Location.X, dtp.Location.Y, USER_USERNAME, dtp.Size.Height, dtp.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, dtp.Name, "DTP", dtp.Name, dtp.Location.X, dtp.Location.Y, USER_USERNAME, dtp.Size.Height, dtp.Size.Width, "NONE", "0")
CHANGES_FORM_DESIGN = True
CurrentControl = dtp
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1202,7 +1211,7 @@ Public Class frmFormDesigner
Dim chk = ControlCreator.CreateNewCheckbox(cursorPosition)
SetMovementHandlers(chk)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, chk.Name, "CHK", chk.Text, chk.Location.X, chk.Location.Y, USER_USERNAME, chk.Size.Height, chk.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, chk.Name, "CHK", chk.Text, chk.Location.X, chk.Location.Y, USER_USERNAME, chk.Size.Height, chk.Size.Width, "NONE", "0")
CHANGES_FORM_DESIGN = True
CurrentControl = chk
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1217,7 +1226,7 @@ Public Class frmFormDesigner
SetMovementHandlers(lc)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, lc.Name, "LOOKUP", lc.Name, lc.Location.X, lc.Location.Y, USER_USERNAME, lc.Size.Height, lc.Size.Width, lc.Properties.Appearance.TextOptions.HAlignment)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, lc.Name, "LOOKUP", lc.Name, lc.Location.X, lc.Location.Y, USER_USERNAME, lc.Size.Height, lc.Size.Width, lc.Properties.Appearance.TextOptions.HAlignment, "0")
CHANGES_FORM_DESIGN = True
CurrentControl = lc
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1233,7 +1242,7 @@ Public Class frmFormDesigner
SetMovementHandlers(tb)
AddHandler tb.MouseClick, AddressOf gridControl_MouseClick
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, tb.Name, "TABLE", tb.Name, tb.Location.X, tb.Location.Y, USER_USERNAME, tb.Size.Height, tb.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, tb.Name, "TABLE", tb.Name, tb.Location.X, tb.Location.Y, USER_USERNAME, tb.Size.Height, tb.Size.Width, "NONE", "")
CHANGES_FORM_DESIGN = True
Dim oControlId = GetLastID()
@@ -1252,7 +1261,7 @@ Public Class frmFormDesigner
SetMovementHandlers(line)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, line.Name, "LINE", line.Name, line.Location.X, line.Location.Y, USER_USERNAME, line.Size.Height, line.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, line.Name, "LINE", line.Name, line.Location.X, line.Location.Y, USER_USERNAME, line.Size.Height, line.Size.Width, "NONE", "")
CHANGES_FORM_DESIGN = True
CurrentControl = line
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {
@@ -1267,7 +1276,7 @@ Public Class frmFormDesigner
SetMovementHandlers(oButton)
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, oButton.Name, "BUTTON", oButton.Name, oButton.Location.X, oButton.Location.Y, USER_USERNAME, oButton.Size.Height, oButton.Size.Width, "NONE")
TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, oButton.Name, "BUTTON", oButton.Name, oButton.Location.X, oButton.Location.Y, USER_USERNAME, oButton.Size.Height, oButton.Size.Width, "NONE", "")
CHANGES_FORM_DESIGN = True
CurrentControl = oButton
CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With {

View File

@@ -354,7 +354,7 @@ Public Class frmMassValidator
LOGGER.Debug("Versuch Tabelle zu laden")
Dim oDTMyColumns As DataTable = DatabaseFallback.GetDatatableECM($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1")
oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, CURRENT_DOC_CURRENCY)
oControl = ControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, CURRENT_DOC_CURRENCY, pnldesigner)
End Select
If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then

View File

@@ -616,7 +616,7 @@
<value>DocumentViewer1</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Type" xml:space="preserve">
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;DocumentViewer1.Parent" xml:space="preserve">
<value>SplitContainer1.Panel2</value>

View File

@@ -4,6 +4,7 @@ Imports System.Data.Entity.Core.Common.CommandTrees
'Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports System.Linq
Imports System.Reflection
Imports System.Runtime.InteropServices
Imports System.Text.RegularExpressions
@@ -27,6 +28,7 @@ Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.Common.DocumentResultList
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Interfaces
@@ -36,7 +38,6 @@ Imports DigitalData.Modules.ZooFlow.Constants
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement
'Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox
Imports WINDREAMLib
Imports System.Linq
Public Class frmValidator
Public Event CustomColumnDisplayText As CustomColumnDisplayTextEventHandler
@@ -49,12 +50,12 @@ Public Class frmValidator
''' <summary>
''' Contains all grid columns for the current profile
''' </summary>
Private Property DT_COLUMNS_GRID As DataTable
Public Property DT_COLUMNS_GRID As DataTable
Private Property GIT_TEST As Boolean = False
''' <summary>
''' Contains all grid columns for the current profile which have an sql but don't have a reference to a control
''' </summary>
Private Property DT_COLUMNS_GRID_WITH_SQL As DataTable
Public Property DT_COLUMNS_GRID_WITH_SQL As DataTable
''' <summary>
''' Contains all grid columns for the current profile which have an sql and have a reference to a control
@@ -136,14 +137,16 @@ Public Class frmValidator
Private _CachedControlsByGuid As Dictionary(Of Integer, Control)
Private _isUpdatingLookup As Boolean = False
Private _suppressLookupEvents As Boolean = False
Private _isShowingErrorDialog As Boolean = False ' ← NEU: Klassenvariable oben hinzufügen
Private _overlayHandle As Object = Nothing ' ← NEU: Klassenvariable
Private _overlayRefCount As Integer = 0 ' ← NEU: Zähler für verschachtelte Calls
Private _overlayLock As New Object() ' ← NEU: Thread-Safe Lock
Private _isShowingErrorDialog As Boolean = False
Private _overlayHandle As Object = Nothing
Private _overlayRefCount As Integer = 0 'Zähler für verschachtelte Calls
Private _overlayLock As New Object() 'Thread-Safe Lock
Private _documentPathHandler As DocumentPathHandler
Private _isLoadingAdditionalSearches As Boolean = False
Private _gridDataLoader As ClassGridDataLoader
Private _separateGridDataCache As New Dictionary(Of String, DataTable)
' Bei den anderen Private-Deklarationen:
Private _separateGridControlCache As New Dictionary(Of String, GridControl)
Private Class Translation_Strings
Inherits My.Resources.frmValidator_Strings
End Class
@@ -407,7 +410,7 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Error LOADING profile-data(" & _step.ToString & "):" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MsgBox("Error LOADING profile-data(" & _step.ToString & "):" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info(">> Error in LOADING profile-data: " & ex.Message, True)
Me.Close()
End Try
@@ -543,7 +546,7 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Error loading final profile text:" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MsgBox("Error loading final profile text:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info(">> Error loading final profile text: " & ex.Message, True)
End Try
@@ -678,7 +681,7 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Error LOADING Profile-Data1:" & vbcrlf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MsgBox("Error LOADING Profile-Data1:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, "Attention:")
MyValidationLogger.Info("Unexpected error in LOADING Profile-Data1: " & ex.Message)
End Try
End Sub
@@ -818,7 +821,7 @@ Public Class frmValidator
DatabaseFallback.ExecuteNonQueryECM(oSQL)
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Error in delete jumped files:" & vbcrlf & ex.Message, MsgBoxStyle.Critical)
MsgBox("Error in delete jumped files:" & vbCrLf & ex.Message, MsgBoxStyle.Critical)
End Try
If LOG_HOTSPOTS Then
@@ -865,7 +868,7 @@ Public Class frmValidator
Try
If COPY_WMFILE_2TEMP = True Then
MyValidationLogger.Debug("🗑️ Bereinige Temp-Ordner beim Schließen...")
CleanupTempFolder()
_documentPathHandler.CleanupTempFolder()
End If
Catch cleanupEx As Exception
MyValidationLogger.Warn($"⚠️ Fehler beim Bereinigen des Temp-Ordners: {cleanupEx.Message}")
@@ -901,52 +904,7 @@ Public Class frmValidator
End If
End Sub
Private Sub CleanupTempFolder()
Try
If String.IsNullOrEmpty(TEMP_DOCUMENT_FOLDER) Then
MyValidationLogger.Debug("TEMP_DOCUMENT_FOLDER ist nicht gesetzt → Kein Cleanup erforderlich")
Return
End If
If Not System.IO.Directory.Exists(TEMP_DOCUMENT_FOLDER) Then
MyValidationLogger.Debug($"Temp-Ordner [{TEMP_DOCUMENT_FOLDER}] existiert nicht → Kein Cleanup erforderlich")
Return
End If
' Alle Dateien im Ordner ermitteln
Dim files As String() = System.IO.Directory.GetFiles(TEMP_DOCUMENT_FOLDER)
If files.Length = 0 Then
MyValidationLogger.Debug($"Temp-Ordner [{TEMP_DOCUMENT_FOLDER}] ist bereits leer")
Return
End If
' Alle Dateien löschen
Dim deletedCount As Integer = 0
Dim errorCount As Integer = 0
For Each filePath As String In files
Try
System.IO.File.Delete(filePath)
deletedCount += 1
MyValidationLogger.Debug($"Datei gelöscht: [{System.IO.Path.GetFileName(filePath)}]")
Catch fileEx As Exception
errorCount += 1
MyValidationLogger.Warn($"⚠️ Datei konnte nicht gelöscht werden: [{System.IO.Path.GetFileName(filePath)}] - {fileEx.Message}")
End Try
Next
If errorCount = 0 Then
MyValidationLogger.Debug($"✓ Temp-Ordner bereinigt: {deletedCount} Datei(en) gelöscht")
Else
MyValidationLogger.Warn($"⚠️ Temp-Ordner teilweise bereinigt: {deletedCount} gelöscht, {errorCount} Fehler")
End If
Catch ex As Exception
MyValidationLogger.Error($"❌ Fehler beim Bereinigen des Temp-Ordners: {ex.Message}")
MyValidationLogger.Error(ex)
End Try
End Sub
Public Function Test_Additional_Data_Searches_Exist() As Boolean
If DT_FILTERED_PROFILE_SEARCHES_DATA.Rows.Count > 0 Then
@@ -1018,6 +976,8 @@ Public Class frmValidator
MyValidationLogger.Debug($"Current_Document: Id={Current_Document?.Id}, Path={Current_Document?.FullPath}")
MyValidationLogger.Debug("========================================")
DT_AdditionalSearches_Resultset_Docs = Nothing
Dim allSQLSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DATA
Dim allDocSearches As DataTable = DT_FILTERED_PROFILE_SEARCHES_DOC
@@ -1048,6 +1008,7 @@ Public Class frmValidator
MyValidationLogger.Debug("--- Ergebnisse werden geprüft (DATA/DOC) ---")
Dim validSQLSearches As DataTable = allSQLSearches.Clone()
Dim validDocSearches As DataTable = allDocSearches.Clone()
Dim aggregatedDocResults As DataTable = Nothing
If hasDATASearches Then
For i As Integer = 0 To allSQLSearches.Rows.Count - 1
@@ -1091,6 +1052,12 @@ Public Class frmValidator
If IsValidDocSearchResult(testDT) Then
validDocSearches.ImportRow(searchRow)
MyValidationLogger.Info($"✓ Doc-Search '{tabTitle}': {testDT.Rows.Count} Dokumente gefunden")
If aggregatedDocResults Is Nothing Then
aggregatedDocResults = testDT.Clone()
End If
For Each resultRow As DataRow In testDT.Rows
aggregatedDocResults.ImportRow(resultRow)
Next
Else
MyValidationLogger.Warn($"⚠️ Doc-Search '{tabTitle}' liefert kein Dokument-Schema (DocID/FULL_FILENAME) und wird übersprungen.")
End If
@@ -1102,6 +1069,10 @@ Public Class frmValidator
End Try
Next
End If
DT_AdditionalSearches_Resultset_Docs = aggregatedDocResults
If DT_AdditionalSearches_Resultset_Docs IsNot Nothing Then
MyValidationLogger.Debug($"Zusätzliche Doc-Results gecached: {DT_AdditionalSearches_Resultset_Docs.Rows.Count} Rows")
End If
AdditionalDataResultsExist = validSQLSearches.Rows.Count > 0
AdditionalDocResultsExist = validDocSearches.Rows.Count > 0
@@ -1694,9 +1665,7 @@ Public Class frmValidator
Case "TABLE"
If LOG_PERF Then PerformanceLogger.Info("Create_Controls/Table")
oControlInfo = "TABLE#" & oControlInfo
Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone()
Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}"
DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
@@ -1707,13 +1676,58 @@ Public Class frmValidator
Continue For
End If
Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, DocCurrency)
oMyControl = oGrid
' NEU: GridView Event registrieren
AddHandler DirectCast(oGrid.MainView, GridView).CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler DirectCast(oGrid.DataSource, DataTable).RowDeleted, AddressOf GridDataSource_RowDeleted
AddHandler DirectCast(oGrid.MainView, GridView).KeyDown, AddressOf GridView_KeyDown
AddHandler DirectCast(oGrid.MainView, GridView).RowDeleting, AddressOf GridView_RowDeleting
Dim displayInSeparateForm As Boolean = False
If Not IsDBNull(oControlRow("DISPLAY_IN_SEPERATE_FORM")) Then
displayInSeparateForm = CBool(oControlRow("DISPLAY_IN_SEPERATE_FORM"))
End If
If displayInSeparateForm Then
MyValidationLogger.Debug($"[{oControlInfo}] - DisplayInSeparateForm is True. Creating a separate form for the grid.")
' Button erstellen statt Grid
Dim btnShowGrid As New DevExpress.XtraEditors.SimpleButton()
btnShowGrid.Name = "BTNDYN_GRID_" + oControlRow("NAME").ToString()
Dim oTitle = "TABLE." + oControlRow("NAME").ToString()
Dim oCaption = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO(oTitle)
If IsNothing(oCaption) Then
btnShowGrid.Text = oControlRow("CTRL_TEXT").ToString()
Else
btnShowGrid.Text = oCaption
End If
btnShowGrid.Font = New Font("Segoe UI", 10.0F, FontStyle.Bold)
' Button-Position aus oControlRow setzen
If Not IsDBNull(oControlRow("X_LOC")) Then
btnShowGrid.Left = CInt(oControlRow("X_LOC"))
End If
If Not IsDBNull(oControlRow("Y_LOC")) Then
btnShowGrid.Top = CInt(oControlRow("Y_LOC"))
End If
' Dynamische Breite basierend auf Textlänge berechnen
Using g As Graphics = btnShowGrid.CreateGraphics()
Dim textSize As SizeF = g.MeasureString(btnShowGrid.Text, btnShowGrid.Font)
btnShowGrid.Width = CInt(textSize.Width) + 20 ' +20 für Padding (links/rechts)
End Using
btnShowGrid.Height = 30
' Click-Event für Button
AddHandler btnShowGrid.Click, Sub(sender, e)
OpenGridInSeparateForm(oControlRow, oFilteredDatatable)
End Sub
PanelValidatorControl.Controls.Add(btnShowGrid)
Else
MyValidationLogger.Debug($"[{oControlInfo}] - DisplayInSeparateForm is False. Creating an embedded grid.")
Dim oGrid = ControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, DocCurrency, PanelValidatorControl)
oMyControl = oGrid
' NEU: GridView Event registrieren
AddHandler DirectCast(oGrid.MainView, GridView).CellValueChanged, AddressOf GridView_CellValueChanged
AddHandler DirectCast(oGrid.DataSource, DataTable).RowDeleted, AddressOf GridDataSource_RowDeleted
AddHandler DirectCast(oGrid.MainView, GridView).KeyDown, AddressOf GridView_KeyDown
AddHandler DirectCast(oGrid.MainView, GridView).RowDeleting, AddressOf GridView_RowDeleting
End If
Case "LINE"
oMyControl = ControlCreator.CreateExistingLine(oControlRow, False)
@@ -1771,6 +1785,9 @@ Public Class frmValidator
Sub Clear_all_Input()
For Each inctrl As Control In Me.PanelValidatorControl.Controls
If inctrl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim Type As Type = inctrl.GetType
Select Case True
Case Type = GetType(DevExpress.XtraEditors.TextEdit) Or Type = GetType(MemoEdit)
@@ -2106,6 +2123,77 @@ Public Class frmValidator
End Sub
Private Sub OpenGridInSeparateForm(controlRow As DataRow, dataTable As DataTable)
Try
MyValidationLogger?.Debug($"Öffne Grid in separatem Fenster für Control: {controlRow("NAME")}")
Dim controlName As String = controlRow("NAME").ToString()
' Erstelle das separate Formular
Dim frmTable As New frmControl_Table(
controlRow,
dataTable,
DocCurrency,
Me,
ControlCreator
)
' Modal anzeigen
Dim dialogResult = frmTable.ShowDialog(Me)
' Nach dem Schließen: IsDirty-Status und GridControl übertragen
If frmTable.IsDirty Then
MyValidationLogger?.Debug("Separate Grid-Form wurde als 'Dirty' markiert - übertrage Status und GridControl")
' 1. GridControl aus separatem Formular holen
Dim separateGrid As GridControl = frmTable.GetGridControl()
If separateGrid IsNot Nothing Then
' 2. GridControl in Cache speichern für Check_UpdateIndexe
If _separateGridDataCache.ContainsKey(controlName) Then
' Ersetze DataTable durch GridControl-Referenz
_separateGridDataCache(controlName) = TryCast(separateGrid.DataSource, DataTable)
Else
_separateGridDataCache.Add(controlName, TryCast(separateGrid.DataSource, DataTable))
End If
' ODER BESSER: Speichere das GridControl selbst
' Dafür neues Dictionary verwenden
If _separateGridControlCache.ContainsKey(controlName) Then
_separateGridControlCache(controlName) = separateGrid
Else
_separateGridControlCache.Add(controlName, separateGrid)
End If
MyValidationLogger?.Debug($"GridControl für '{controlName}' gecacht")
End If
' 3. IsDirty für dieses Control setzen
If Not listofControls.Contains(controlName) Then
listofControls.Add(controlName)
MyValidationLogger?.Debug($"Control '{controlName}' zu listofControls hinzugefügt (IsDirty)")
End If
' Status-Label aktualisieren
SetStatusLabel("Tabellendaten wurden geändert", "Orange")
Else
MyValidationLogger?.Debug("Separate Grid-Form wurde NICHT geändert (IsDirty = False)")
End If
' WICHTIG: Formular NICHT disposen, da wir das GridControl noch brauchen!
' frmTable.Dispose() ← NICHT aufrufen!
Catch ex As Exception
MyValidationLogger?.Error($"Fehler beim Öffnen des separaten Grid-Fensters: {ex.Message}", ex)
XtraMessageBox.Show(
$"Fehler beim Öffnen des separaten Fensters:{vbCrLf}{ex.Message}",
"Fehler",
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Sub
Public Sub onDGVRowValidating(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs)
Dim dgv As DataGridView = sender
Try
@@ -3961,14 +4049,14 @@ Public Class frmValidator
If COPY_WMFILE_2TEMP = True Then
' Optionen konfigurieren
Dim options As New DocumentPathHandler.DocumentPathOptions With {
.EnableMapping = True,
.WMSuffix = WMSUFFIX,
.SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""),
.DriveBlacklist = MAP_BLACKLIST,
.CopyToTemp = True,
.TempFolder = TEMP_DOCUMENT_FOLDER,
.UnmapAfterCopy = True
}
.EnableMapping = True,
.WMSuffix = WMSUFFIX,
.SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""),
.DriveBlacklist = MAP_BLACKLIST,
.CopyToTemp = True,
.TempFolder = TEMP_DOCUMENT_FOLDER,
.UnmapAfterCopy = True
}
' Verarbeiten
Dim result = _documentPathHandler.ProcessDocumentPath(oFilePath_from_DB, options)
@@ -3981,6 +4069,7 @@ Public Class frmValidator
DocPathWindows = result.FinalPath
WMDocPathWindows = oFilePath_from_DB
MyValidationLogger.Info($"✓ Dokument verarbeitet: [{Path.GetFileName(result.FinalPath)}]")
Else
MyValidationLogger.Warn($"⚠️ Dokumentpfad-Verarbeitung fehlgeschlagen: {result.ErrorMessage}")
MyValidationLogger.Warn($"⚠️ Fallback auf Originalpfad: [{oFilePath_from_DB}]")
@@ -3994,6 +4083,7 @@ Public Class frmValidator
Return False
End If
End If
CURRENT_DOC_PATH = WMDocPathWindows
Else
DocPathWindows = oFilePath_from_DB
MyValidationLogger.Info($"📄 Verwende Originalpfad: [{oFilePath_from_DB}]")
@@ -4065,6 +4155,8 @@ Public Class frmValidator
_CachedSqlDataCache.Clear()
_CachedSqlScalarCache.Clear()
_separateGridDataCache.Clear()
_separateGridControlCache.Clear()
_CachedSqlControlsByGuid = Nothing
CURRENT_WMFILE = Nothing
activate_controls(False)
@@ -4227,6 +4319,9 @@ Public Class frmValidator
DocCurrency = oCurrency
MyValidationLogger.Info($"[FINAL] DocCurrency = [{DocCurrency}]")
taskFLOW.ControlCreator.GridControl.ClearDynamicEditorCache()
taskFLOW.ControlCreator.GridControl.ResetCurrencySymbolCache()
Catch ex As Exception
MyValidationLogger.Error($"Währungsladung fehlgeschlagen: {ex.Message}")
DocCurrency = "EUR"
@@ -4264,6 +4359,9 @@ Public Class frmValidator
Next
For Each oControl As Control In PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim controlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
If sqlControlIds.Contains(controlId) Then
LoadSQLData(oControl, controlId)
@@ -4311,6 +4409,9 @@ Public Class frmValidator
End If
For Each oControl As Control In PanelValidatorControl.Controls
Try
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
If TypeOf oControl Is GridControl Then
Dim oGrid As GridControl = DirectCast(oControl, GridControl)
Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
@@ -4479,7 +4580,7 @@ Public Class frmValidator
End If
' GridControl-Helper erstellen und Währungsformat aktualisieren
Dim oGridControlHelper As New ControlCreator.GridControl(LOGCONFIG, ControlCreator.GridTables, currencySymbol)
Dim oGridControlHelper As New ControlCreator.GridControl(LOGCONFIG, ControlCreator.GridTables, currencySymbol, PanelValidatorControl)
oGridControlHelper.UpdateCurrencyFormat(oColumnTable, oView, oGrid, currencySymbol)
MyValidationLogger.Info("[UpdateGridCurrencyFormats] ✓ Updated GridControl [{0}] to currency [{1}]", oGrid.Name, DocCurrency)
@@ -4941,7 +5042,7 @@ Public Class frmValidator
End Function
Private Function GetVariableValuefromSource(oSourceIndexName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object
Public Function GetVariableValuefromSource(oSourceIndexName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object
Try
Dim oValuefromSource
If IDB_ACTIVE = False Then
@@ -5012,6 +5113,9 @@ Public Class frmValidator
_CachedControlsByGuid = New Dictionary(Of Integer, Control)()
For Each ctrl As Control In PanelValidatorControl.Controls
Try
If ctrl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim meta = DirectCast(ctrl.Tag, ClassControlCreator.ControlMetadata)
_CachedControlsByGuid(meta.Guid) = ctrl
Catch
@@ -5038,6 +5142,9 @@ Public Class frmValidator
If DTVWCONTROL_INDEX.Rows.Count > 0 Then
Dim oCount As Integer = 0
For Each oControl As Control In Me.PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim oValueFromSource
Dim oFormattedValue As String = ""
@@ -5255,9 +5362,6 @@ Public Class frmValidator
oControlType = "DevExpress.XtraGrid.GridControl"
Dim oMyGridControl As GridControl = oControl
' ========== OPTIMIERUNG 6: Dictionary-Lookup statt Select() ==========
' VORHER: DT_COLUMNS_GRID.Select($"CONTROL_ID = {oControlId}") → O(n) pro Grid
' NACHHER: Dictionary.TryGetValue() → O(1)
Dim oDTColumnsPerDevExGrid As DataTable = Nothing
If columnsByControl IsNot Nothing AndAlso columnsByControl.TryGetValue(oControlId, oDTColumnsPerDevExGrid) Then
MyValidationLogger.Debug($"Grid [{oControl.Name}]: {oDTColumnsPerDevExGrid.Rows.Count} Spalten aus Cache geladen")
@@ -5265,7 +5369,6 @@ Public Class frmValidator
oDTColumnsPerDevExGrid = DT_COLUMNS_GRID.Clone()
MyValidationLogger.Warn($"⚠️ Grid [{oControl.Name}]: Keine Spalten-Definition gefunden!")
End If
' ========== ENDE OPTIMIERUNG 6 ==========
Try
If oSourceIndexName = "" Then
@@ -5810,26 +5913,30 @@ Public Class frmValidator
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
' Prüfen ob Platzhalter enthalten sind
If Not ContainsTableColumnPlaceholder(oSqlCommand?.ToString()) Then
Try
Dim oDTRESULT_FOR_COLUMN As DataTable = GetCachedDatatable(oSqlCommand, oCONNID)
Try
Dim oDTRESULT_FOR_COLUMN As DataTable = GetCachedDatatable(oSqlCommand, oCONNID)
If Not IsNothing(oDTRESULT_FOR_COLUMN) Then
MyValidationLogger.Debug($"Trying to create a DropDown(FIV) for CONTROL-ID [{oDEPENDING_CTRL_ID}] - RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ")
If Not IsNothing(oDTRESULT_FOR_COLUMN) Then
MyValidationLogger.Debug($"Trying to create a DropDown(FIV) for CONTROL-ID [{oDEPENDING_CTRL_ID}] - RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ")
' Dictionary-Lookup statt Loop
Dim oControl As Control = Nothing
If _CachedControlsByGuid.TryGetValue(oDEPENDING_CTRL_ID, oControl) Then
ControlCreator.GridTables_CacheDatatableForColumn(oDEPENDING_CTRL_ID, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
' Dictionary-Lookup statt Loop
Dim oControl As Control = Nothing
If _CachedControlsByGuid.TryGetValue(oDEPENDING_CTRL_ID, oControl) Then
ControlCreator.GridTables_CacheDatatableForColumn(oDEPENDING_CTRL_ID, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
Else
MyValidationLogger.Warn($"⚠️ Control mit ID {oDEPENDING_CTRL_ID} nicht gefunden!")
End If
Else
MyValidationLogger.Warn($"⚠️ Control mit ID {oDEPENDING_CTRL_ID} nicht gefunden!")
MyValidationLogger.Warn($"⚠️ FillIndexValues - oDTRESULT_FOR_COLUMN is nothing!")
End If
Else
MyValidationLogger.Warn($"⚠️ FillIndexValues - oDTRESULT_FOR_COLUMN is nothing!")
End If
Catch ex As Exception
MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating Grid-Dropdown-Column [{oDEPENDING_COLUMN}] for CONTROL-ID [{oDEPENDING_CTRL_ID}]: " & ex.Message)
End Try
Catch ex As Exception
MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating Grid-Dropdown-Column [{oDEPENDING_COLUMN}] for CONTROL-ID [{oDEPENDING_CTRL_ID}]: " & ex.Message)
End Try
Else
MyValidationLogger.Debug($"⚠️ FillIndexValues - SQL-Command for Grid-Dropdown-Column contains #CTRL# placeholder, skipping dropdown creation for CONTROL-ID [{oDEPENDING_CTRL_ID}] - Column [{oDEPENDING_COLUMN}]")
End If
Next
Catch ex As Exception
MyValidationLogger.Warn($"⚠️ FillIndexValues - Unexpected error in creating dropdown for Grid: " & ex.Message)
@@ -5967,7 +6074,19 @@ Public Class frmValidator
End If
End Try
End Sub
''' <summary>
''' Prüft, ob ein SQL-Command Grid-Spalten-Platzhalter enthält
''' </summary>
''' <param name="sqlCommand">Der zu prüfende SQL-Command</param>
''' <returns>True wenn Platzhalter enthalten sind, sonst False</returns>
Private Function ContainsTableColumnPlaceholder(sqlCommand As String) As Boolean
If String.IsNullOrWhiteSpace(sqlCommand) Then
Return False
End If
' Prüft auf #TBCOL# Platzhalter (case-insensitive)
Return sqlCommand.IndexOf("#TBCOL#", StringComparison.OrdinalIgnoreCase) >= 0
End Function
Private Sub ApplyCurrencyMask(pTextEdit As TextEdit)
If pTextEdit Is Nothing Then Return
Try
@@ -6004,7 +6123,7 @@ Public Class frmValidator
MyValidationLogger.Info("[PERF] frmValidation_Shown START")
End If
Try
_gridDataLoader = New ClassGridDataLoader(DatabaseFallback)
' Refresh_FileList()
Load_Next_Document(True)
If LOG_HOTSPOTS Then
@@ -6522,6 +6641,9 @@ Public Class frmValidator
If IsNumeric(CTRL_ID) Then
For Each oControl As Control In Me.PanelValidatorControl.Controls
Try
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
If IsNothing(DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid) Then
Continue For
End If
@@ -6867,6 +6989,9 @@ Public Class frmValidator
' ========== ENDE BATCH START ==========
' ========== OPTIMIERUNG: Nur geänderte Controls durchlaufen ==========
For Each oControl As Control In Me.PanelValidatorControl.Controls
If oControl.Name.StartsWith("BTNDYN_GRID") Then
Continue For
End If
Dim oMeta As ClassControlCreator.ControlMetadata = Nothing
Try
oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
@@ -7720,6 +7845,65 @@ Public Class frmValidator
Next ' End For Each oControl
' ========== TEIL 2: Separate Grids aus Cache verarbeiten ==========
' Nach dem Ende der "For Each oControl As Control In Me.PanelValidatorControl.Controls" Schleife
If _separateGridControlCache.Count > 0 Then
MyValidationLogger?.Debug($"Verarbeite {_separateGridControlCache.Count} separate Grid(s) aus Cache")
For Each kvp As KeyValuePair(Of String, GridControl) In _separateGridControlCache
Dim controlName As String = kvp.Key
Dim oGrid As GridControl = kvp.Value
' Nur verarbeiten, wenn Control als "dirty" markiert ist
If Not listofControls.Contains(controlName) Then
MyValidationLogger?.Debug($"Separate Grid '{controlName}' wurde nicht geändert - überspringe")
Continue For
End If
MyValidationLogger?.Debug($"[4] Separates GridControl verarbeiten: [{controlName}]")
' Control-Metadaten holen (EXAKT wie bei normalem Grid)
Dim oControlRow As DataRow = GetControlMetaBySql($"NAME='{controlName}'").Rows(0)
Dim oGUID = oControlRow("GUID")
Dim oControlRow1 = (From form In DTVWCONTROL_INDEX.AsEnumerable()
Where form.Item("GUID") = oGUID).SingleOrDefault()
Dim oIndexName As String = If(IsDBNull(oControlRow1("INDEX_NAME")), "", oControlRow1("INDEX_NAME").ToString())
Dim oIsRequired As Boolean = True
Dim oIDBTyp As Integer = If(IsDBNull(oControlRow1("IDB_TYP")), 0, CInt(oControlRow1("IDB_TYP")))
' Cleanup (wie bei normalem Grid)
CleanupDeletedRows(oGrid)
' Settings erstellen (EXAKT wie bei normalem Grid)
Dim oSettings = New ControlSettings() With {
.IndexName = oIndexName,
.ControlType = GetType(GridControl).ToString,
.Name = controlName,
.IsRequired = oIsRequired,
.IDBAttributeType = oIDBTyp
}
' Spalten-Definition holen (EXAKT wie bei normalem Grid)
Dim oGridColumnDefinition As DataTable = DT_COLUMNS_GRID.Clone()
Dim oExpression = $"CONTROL_ID = {oGUID}"
Dim selectedRows() As DataRow = DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE")
If selectedRows.Length > 0 Then
selectedRows.CopyToDataTable(oGridColumnDefinition, LoadOption.PreserveChanges)
End If
' WICHTIG: DEINE BESTEHENDE ValidateGridControl Funktion verwenden!
Dim oResult = ValidateGridControl(oGrid, oSettings, oGridColumnDefinition, oMissing, oErrMsgMissingInput)
If oResult = False Then
MyValidationLogger?.Warn($"⚠️ Validierung fehlgeschlagen für separates Grid [{controlName}] → Exit For")
Exit For
End If
Next
End If
' ========== BATCH: Gesammelte Statements abfeuern ==========
If IDB_ACTIVE Then
If oMissing = False Then
@@ -8578,9 +8762,9 @@ Public Class frmValidator
oFilenameOnly = Path.GetFileName(DocPathWindows)
oExtension = Path.GetExtension(DocPathWindows)
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbcrlf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {CURRENT_DOC_ID}, 1, @Outputfilename = @Filename OUTPUT;" & vbcrlf &
"SELECT @Filename"
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbCrLf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {CURRENT_DOC_ID}, 1, @Outputfilename = @Filename OUTPUT;" & vbCrLf &
"SELECT @Filename"
Dim oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename)
If Not IsNothing(oExportFilename) Then
@@ -8621,23 +8805,49 @@ Public Class frmValidator
MyValidationLogger.Info($"File {oFile2Export} exported successfully!")
oCount += 1
Else
MsgBox("Error encountered while extracting Export-Filename!" & vbcrlf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
MsgBox("Error encountered while extracting Export-Filename!" & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End If
Else
MyValidationLogger.Info($"#### ATTENTION: oExportFilename is Nothing - SQL: {oSQLGetFilename}")
MsgBox("Error encountered while extracting Export-Filename - Result is Nothing!" & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End If
Dim oFileCount As Integer = 1
If Not IsNothing(DT_AdditionalSearches_Resultset_Docs) Then
For Each oFileRecord As DataRow In DT_AdditionalSearches_Resultset_Docs.Rows
Dim oFromFilename = oFileRecord.Item("FULL_FILENAME")
Dim oFromFilename = oFileRecord.Item("FULL_FILENAME")?.ToString()
Dim oDocID = oFileRecord.Item("DocID")
If File.Exists(oFromFilename) Then
' COPY_WMFILE_2TEMP: Pfad analog zu GetDocPathWindows() auflösen
Dim oResolvedFilename As String = oFromFilename
If COPY_WMFILE_2TEMP = True AndAlso Not String.IsNullOrWhiteSpace(oFromFilename) Then
Dim options As New DocumentPathHandler.DocumentPathOptions With {
.EnableMapping = True,
.WMSuffix = WMSUFFIX,
.SpecificDrive = If(Len(MAP_SHARE_DRIVE) = 1, MAP_SHARE_DRIVE, ""),
.DriveBlacklist = MAP_BLACKLIST,
.CopyToTemp = True,
.TempFolder = TEMP_DOCUMENT_FOLDER,
.UnmapAfterCopy = True
}
Dim result = _documentPathHandler.ProcessDocumentPath(oFromFilename, options)
If result.Success AndAlso Not String.IsNullOrWhiteSpace(result.FinalPath) AndAlso File.Exists(result.FinalPath) Then
MyValidationLogger.Info($"✓ Zusatzdokument via Temp aufgelöst: [{result.FinalPath}]")
oResolvedFilename = result.FinalPath
Else
MyValidationLogger.Warn($"⚠️ Temp-Auflösung fehlgeschlagen für [{oFromFilename}]: {result.ErrorMessage} - Fallback auf Originalpfad")
oResolvedFilename = oFromFilename
End If
End If
If File.Exists(oResolvedFilename) Then
MyValidationLogger.Debug($"Found additional document for export: [{oResolvedFilename}] (WM: [{oFromFilename}]) with DocID [{oDocID}]")
oFileCount += 1
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbcrlf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {oDocID}, {oFileCount}, @Outputfilename = @Filename OUTPUT;" & vbcrlf &
"SELECT @Filename"
oSQLGetFilename = $"DECLARE @Filename Varchar(512) " & vbCrLf &
$"EXEC dbo.PRPM_GETFILENAME_EXPORT {oDocID}, {oFileCount}, @Outputfilename = @Filename OUTPUT;" & vbCrLf &
"SELECT @Filename"
oExportFilename = DatabaseFallback.GetScalarValueECM(oSQLGetFilename)
oExtension = Path.GetExtension(oFromFilename)
oExtension = Path.GetExtension(oResolvedFilename)
If Not IsNothing(oExportFilename) Then
If IsDBNull(oExportFilename) Then
MyValidationLogger.Info($"#### ATTENTION: oExportFilename is DBNULL - SQL: {oSQLGetFilename}")
@@ -8645,18 +8855,25 @@ Public Class frmValidator
End If
If oExportFilename <> String.Empty Then
oTargetPath = FolderBrowserDialog1.SelectedPath & "\" & oExportFilename & oExtension
File.Copy(oFromFilename, oTargetPath)
File.Copy(oResolvedFilename, oTargetPath)
MyValidationLogger.Info($"Additional file [{oResolvedFilename}] exported successfully to [{oTargetPath}]")
oCount += 1
Else
Dim omsg = $"Error encountered while extracting ATTACHMENT-Export-Filename DocID [{oDocID}]!"
MyValidationLogger.Info($"#### ATTENTION: {omsg} SQL: {oSQLGetFilename}")
MsgBox(omsg & vbcrlf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
MsgBox(omsg & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End If
Else
Dim omsg = $"Error encountered while extracting ATTACHMENT-Export-Filename DocID [{oDocID}] - Result is Nothing!"
MyValidationLogger.Info($"#### ATTENTION: {omsg} SQL: {oSQLGetFilename}")
MsgBox(omsg & vbCrLf & "Please inform Admin-Team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End If
'oFilenameOnly = Path.GetFileName(oFromFilename)
Else
MyValidationLogger.Warn($"⚠️ Additional file for export not found: [{oResolvedFilename}] (WM: [{oFromFilename}]) with DocID [{oDocID}]")
End If
Next
Else
MyValidationLogger.Info("No additional documents to export (DT_AdditionalSearches_Resultset_Docs is Nothing)")
End If
CONFIG.Config.LastExportPath = FolderBrowserDialog1.SelectedPath
@@ -8665,7 +8882,7 @@ Public Class frmValidator
Catch ex As Exception
MyValidationLogger.Error(ex)
MsgBox("Could not move file to target: " & vbcrlf & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE)
MsgBox("Could not move file to target: " & vbCrLf & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE)
End Try
End Sub
@@ -8799,4 +9016,8 @@ Public Class frmValidator
CONFIG.Config.NOTES_ONCLICK = bchkitmNotes.Checked
CONFIG.Save()
End Sub
Private Sub frmValidator_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
End Sub
End Class

View File

@@ -1,150 +1,712 @@
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 ===
17:22:13.5249|taskFLOW|INFO >> MoveNext(frmMain.vb:2146) -> Starting Profile Loading
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2160) -> User clicked normal row.
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2176) -> Clicked ProfileId: [6], Started From: [CMROW]
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2345) -> Item_Scope: InDataRow
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2348) -> Item_Scope: GRID_LOAD_TYPE = OVERVIEW
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2351) -> Item_Scope: OVERVIEWgroupRowText Profile (Fixed): IDB - WISAG-like - VA
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2377) -> Item_Scope: Valid PROFIL_ID
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2389) -> Item_Scope: hitInfo.InDataRow...
17:22:13.5302|taskFLOW|DEBUG >> MoveNext(frmMain.vb:2412) -> Item_Scope: GotDocID 12002 and DocGUID 21231
17:22:13.5302|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:13.5302|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:13.5302|MSSQLServer|DEBUG >> GetScalarValueWithConnectionObject(MSSQLServer.vb:580) -> GetScalarValueWithConnectionObject: Running Query [SELECT [dbo].[FNPM_CHECK_DocGUID_Valid] (21231)] with Parameters []
17:22:13.5580|frmValidator|DEBUG >> .ctor(frmValidator.vb:158) -> Initialize Components...
17:22:17.0972|frmValidator|DEBUG >> .ctor(frmValidator.vb:163) -> Initialize _frmValidatorSearch...
17:22:17.3396|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:305) -> ###frmValidation_Load###
17:22:17.3396|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:306) -> Current User Language: [de-DE]
17:22:17.3396|Cache|DEBUG >> .ctor(Cache.vb:34) -> Initializing DocumentResultCache with capacity of [104900000] bytes.
17:22:18.0300|FilesystemEx|DEBUG >> CreateDirectory(FilesystemEx.vb:332) -> Directory C:\Users\SchreiberM\AppData\Roaming\Digital Data\taskFLOW\1.0.0.0\DocumentViewer already exists. Skipping.
17:22:18.0300|FilesystemEx|DEBUG >> CreateDirectory(FilesystemEx.vb:352) -> Using path C:\Users\SchreiberM\AppData\Roaming\Digital Data\taskFLOW\1.0.0.0\DocumentViewer
17:22:18.0300|ConfigManager`1|DEBUG >> LoadAppConfig(ConfigManager.vb:247) -> ApplicationConfig does not exist.
17:22:18.0300|ConfigManager`1|DEBUG >> LoadComputerConfig(ConfigManager.vb:269) -> Computer config does not exist.
17:22:18.0300|ConfigManager`1|DEBUG >> ReadFromFile(ConfigManager.vb:367) -> Loading config from: C:\Users\SchreiberM\AppData\Roaming\Digital Data\taskFLOW\1.0.0.0\DocumentViewer\UserConfig.xml
17:22:18.0431|ConfigManager`1|DEBUG >> LoadUserConfig(ConfigManager.vb:280) -> UserConfig exists and will be used. [C:\Users\SchreiberM\AppData\Roaming\Digital Data\taskFLOW\1.0.0.0\DocumentViewer\UserConfig.xml]
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:407) -> Profile Data loaded
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:416) -> frmValidation_Load finished till Step 3!
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:426) -> Step 4
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:432) -> Step 5
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:436) -> Step 6
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:538) -> Buttontext validation loaded
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:561) -> oProfileRejectionText: Einfach mal ablehnen
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:562) -> oProfile_REJECT_SQL_REASONS: Select 'Ablehnungsgrund 1' union select 'Ablehnungsgrund 2' union select 'Ablehnungsgrund 3'
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:563) -> oProfileNotResponsibleText: Nicht zuständig
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:564) -> oProfile_NOT_RESP_SQL: SELECT '0' OverrideAll,0 IncludeFI
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:587) -> Nicht zuständig und Ablehnungs-Buttons werden eingeblendet!
17:22:18.0431|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:641) -> >> profiledata saved:
17:22:18.0582|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:642) -> >> finalProfile: True
17:22:18.0582|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:643) -> >> Move2Folder:
17:22:18.0582|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:644) -> >> Right_Delete: False
17:22:18.0582|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:647) -> PROFIL_sortbynewest: True
17:22:18.0582|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:661) -> Right_Delete: False
17:22:18.1633|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:18.1633|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:18.1633|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:18.1633|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.1668|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [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 = 'de-DE') LANG ON T.GUID = LANG.COL_ID WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = 6 ORDER BY T.SEQUENCE] and Parameters []
17:22:18.1962|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:18.1962|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:18.1982|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:18.1982|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.1982|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME,T.FORMATTYPE,T.FORMATSTRING, T.ADVANCED_LOOKUP from TBPM_CONTROL_TABLE T WITH (NOLOCK), TBPM_PROFILE_CONTROLS T1 WITH (NOLOCK) WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = 6 AND LEN(T.SQL_COMMAND) > 0 ORDER BY T.SEQUENCE] and Parameters []
17:22:18.1982|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:18.1982|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:18.1982|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:18.1982|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.1982|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT
T1.GUID As CONTROL_ID,
T1.PROFIL_ID,
T.CONNECTION_ID,
T.SQL_COMMAND,
T.SPALTENNAME,
T.FORMATTYPE,
T.FORMATSTRING,
T.ADVANCED_LOOKUP
FROM
TBPM_CONTROL_TABLE T,
TBPM_PROFILE_CONTROLS T1
WHERE
T1.CONTROL_ACTIVE = 1 AND
T.CONTROL_ID = T1.GUID AND
T1.PROFIL_ID = 6 AND
LEN(T.SQL_COMMAND) > 0 AND
T.SQL_COMMAND LIKE '%{#CTRL%'
ORDER BY T.SEQUENCE] and Parameters []
17:22:18.1982|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 116 - CtrlName: LBL_9407c06c - CtrlIndex: ]: End of Select...
17:22:18.1982|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 120 - CtrlName: LBL_40dee67 - CtrlIndex: ]: End of Select...
17:22:18.1982|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 135 - CtrlName: LBL_17cbc463 - CtrlIndex: ]: End of Select...
17:22:18.2577|taskFLOW|DEBUG >> ReplaceControlValues(clsPatterns.vb:303) -> Control cache initialized with 3 controls
17:22:18.2577|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:18.2577|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:18.2577|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:18.2608|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:18.2608|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:18.2608|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.2608|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:18.2608|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:18.2608|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.2608|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [select 'Kreditor 1' union
select 'Kreditor 2' union
select 'Kreditor 3' union
select 'Kreditor 4' union
select 'Kreditor 5'
] and Parameters []
17:22:18.2608|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1625) -> createControlsLU - Found 2 Controls which are depending on LUAttrStr2
17:22:18.2608|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LOOKUP#CtrlID: 50 - CtrlName: LUAttrStr2 - CtrlIndex: Attribut String 2]: End of Select...
17:22:18.2608|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1441) -> [TXT#CtrlID: 119 - CtrlName: TXTDisplayOnly - CtrlIndex: @@DISPLAY_ONLY] - TXT Try to create control...
17:22:18.2786|ClassControlCreator|INFO >> TransformDataRow(ClassControlCreator.vb:129) -> Override oReadOnly = True for Control [TXTDisplayOnly] as Attribute is @@DISPLAY_ONLY and ReadOnly = False
17:22:18.2786|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1454) -> [TXT#CtrlID: 119 - CtrlName: TXTDisplayOnly - CtrlIndex: @@DISPLAY_ONLY] - TXT Created!!
17:22:18.2786|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TXT#CtrlID: 119 - CtrlName: TXTDisplayOnly - CtrlIndex: @@DISPLAY_ONLY]: End of Select...
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1632) -> createControlsLU - Found 1 Controls which' enable state is depending on LU_Attr1_Dep_Attr2
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LOOKUP#CtrlID: 134 - CtrlName: LU_Attr1_Dep_Attr2 - CtrlIndex: Attribut String1]: End of Select...
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 117 - CtrlName: LBL_3de45179 - CtrlIndex: ]: End of Select...
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [CtrlID: 54 - CtrlName: BTN_1b70920b - CtrlIndex: ]: End of Select...
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1441) -> [TXT#CtrlID: 118 - CtrlName: txtAttributString1 - CtrlIndex: Attribut String1] - TXT Try to create control...
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1454) -> [TXT#CtrlID: 118 - CtrlName: txtAttributString1 - CtrlIndex: Attribut String1] - TXT Created!!
17:22:18.2925|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TXT#CtrlID: 118 - CtrlName: txtAttributString1 - CtrlIndex: Attribut String1]: End of Select...
17:22:18.3202|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [DTP#CtrlID: 52 - CtrlName: DTP_e3b36d2e - CtrlIndex: Attribut Date1]: End of Select...
17:22:18.3368|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 144 - CtrlName: LBL_81e62ba3 - CtrlIndex: ]: End of Select...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 55 - CtrlName: LBL_da93a37 - CtrlIndex: ]: End of Select...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [CHK#CtrlID: 53 - CtrlName: CHK_Bit1 - CtrlIndex: Attribut Bit1]: End of Select...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1441) -> [TXT#CtrlID: 143 - CtrlName: txtCurrencyFloat - CtrlIndex: Currency] - TXT Try to create control...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1454) -> [TXT#CtrlID: 143 - CtrlName: txtCurrencyFloat - CtrlIndex: Currency] - TXT Created!!
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TXT#CtrlID: 143 - CtrlName: txtCurrencyFloat - CtrlIndex: Currency]: End of Select...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [DTP#CtrlID: 49 - CtrlName: DTP_750906e8 - CtrlIndex: Attribut Date1]: End of Select...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1441) -> [TXT#CtrlID: 200 - CtrlName: txtCurrencyReadOnly - CtrlIndex: Currency] - TXT Try to create control...
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1454) -> [TXT#CtrlID: 200 - CtrlName: txtCurrencyReadOnly - CtrlIndex: Currency] - TXT Created!!
17:22:18.3388|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TXT#CtrlID: 200 - CtrlName: txtCurrencyReadOnly - CtrlIndex: Currency]: End of Select...
17:22:18.3559|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 202 - CtrlName: LBL_EpKU6h3z-kOELa3QtGty7w - CtrlIndex: ]: End of Select...
17:22:18.3559|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1441) -> [TXT#CtrlID: 201 - CtrlName: TXT_CurrencyRO - CtrlIndex: Currency] - TXT Try to create control...
17:22:18.3559|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1454) -> [TXT#CtrlID: 201 - CtrlName: TXT_CurrencyRO - CtrlIndex: Currency] - TXT Created!!
17:22:18.3559|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TXT#CtrlID: 201 - CtrlName: TXT_CurrencyRO - CtrlIndex: Currency]: End of Select...
17:22:18.3559|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1671) -> We got a DTGRID_COLUMNS definition for [TABLE#CtrlID: 51 - CtrlName: TBCurrency - CtrlIndex: PM-LOGGING]
17:22:18.3951|GridControl|DEBUG >> FillGridTables(GridControl.vb:330) -> No SQL_COMMAND for Column[SpalteCurrency] skipping.
17:22:18.3951|GridControl|DEBUG >> FillGridTables(GridControl.vb:300) -> Working on SQL for Column[column1]...
17:22:18.3951|GridControl|DEBUG >> FillGridTables(GridControl.vb:315) -> ...has complex patterns!!
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumns(GridControl.vb:565) -> CURRENCY column [SpalteCurrency]: DisplayFormat wird von ConfigureViewColumnsCurrency gesetzt
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumns(GridControl.vb:583) -> Applying currency summary format for column [SpalteCurrency]
17:22:18.4021|GridControl|DEBUG >> ApplyCurrencySummaryFormat(GridControl.vb:395) -> Applying currency summary format for column [SpalteCurrency] with symbol [EUR]
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:634) -> [ConfigureViewColumnsCurrency] riTextEdit erstellt: DisplayFormat=[#,##0.00 EUR], HashCode=[23182124]
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:636) -> [ConfigureViewColumnsCurrency] pGrid.RepositoryItems.Count VOR Schleife=[0]
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:667) -> [ConfigureViewColumnsCurrency] [SpalteCurrency] VOR ColumnEdit: RepositoryItems.Count=[0]
17:22:18.4021|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:672) -> [ConfigureViewColumnsCurrency] [SpalteCurrency] NACH ColumnEdit: RepositoryItems.Count=[0]
17:22:18.4021|GridControl|DEBUG >> ConfigureViewEvents(GridControl.vb:721) -> [ConfigureViewEvents] Column [column1] registered as DYNAMIC_EDITOR column (has placeholders)
17:22:18.4172|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TABLE#CtrlID: 51 - CtrlName: TBCurrency - CtrlIndex: PM-LOGGING]: End of Select...
17:22:18.4746|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut1 Varchar(100) = '{#CTRL#LU_Attr1_dep_Attr2}'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:18.4746|taskFLOW|WARN >> ReplaceControlValues(clsPatterns.vb:333) -> Control [LU_Attr1_dep_Attr2] not found in cache!
17:22:18.4802|taskFLOW|INFO >> ReplaceControlValues(clsPatterns.vb:342) -> Control [LU_Attr1_dep_Attr2] found via fallback. Adding to cache.
17:22:18.4802|taskFLOW|WARN >> ReplaceControlValues(clsPatterns.vb:390) -> ⚠️ LookupControl [LU_Attr1_dep_Attr2] SelectedValues is empty! Using ERROR_REPLACE_VALUE
17:22:18.4802|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut1 Varchar(100) = '0'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:18.4802|GridControl|DEBUG >> ResolveSqlTemplate(GridControl.vb:111) -> [ResolveSqlTemplate] ✓ Cached SQL: Key=[-1847042817]
17:22:18.4802|GridControl|INFO >> _Lambda$__2(GridControl.vb:853) -> [CustomRowCellEdit] 🆕 MISS: Creating editor for [column1]
17:22:18.4802|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:18.4802|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:18.4802|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:18.4802|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:18.4802|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:18.4802|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.4802|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:18.4802|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:18.4802|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:18.4802|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Declare @Attribut1 Varchar(100) = '0'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
] and Parameters []
17:22:18.4802|taskFLOW|DEBUG >> CreateRowSpecificEditor(GridControl.vb:1459) -> [CreateRowSpecificEditor] Retrieved 18 rows for column [column1]
17:22:18.4950|GridControl|DEBUG >> CreateRowSpecificEditor(GridControl.vb:1498) -> [CreateRowSpecificEditor] Created ComboBox with 18 items
17:22:18.4950|GridControl|INFO >> _Lambda$__2(GridControl.vb:868) -> [CustomRowCellEdit] ✓ Cached [column1] editor (Type=[RepositoryItemComboBox])
17:22:18.4950|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1671) -> We got a DTGRID_COLUMNS definition for [TABLE#CtrlID: 56 - CtrlName: TBKontierung - CtrlIndex: KONTIERUNG]
17:22:25.6600|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TABLE#CtrlID: 56 - CtrlName: TBKontierung - CtrlIndex: KONTIERUNG]: End of Select...
17:22:25.6770|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [LBL#CtrlID: 122 - CtrlName: LBL_cc1524f - CtrlIndex: ]: End of Select...
17:22:25.6770|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1671) -> We got a DTGRID_COLUMNS definition for [TABLE#CtrlID: 121 - CtrlName: TBKontierung read only - CtrlIndex: KONTIERUNG]
17:22:25.6883|GridControl|DEBUG >> FillGridTables(GridControl.vb:330) -> No SQL_COMMAND for Column[column1] skipping.
17:22:25.6883|GridControl|DEBUG >> FillGridTables(GridControl.vb:330) -> No SQL_COMMAND for Column[column2] skipping.
17:22:25.6883|GridControl|DEBUG >> FillGridTables(GridControl.vb:330) -> No SQL_COMMAND for Column[col3KontierungReadOnly] skipping.
17:22:25.6883|GridControl|DEBUG >> ConfigureViewColumns(GridControl.vb:565) -> CURRENCY column [col3KontierungReadOnly]: DisplayFormat wird von ConfigureViewColumnsCurrency gesetzt
17:22:25.6883|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:634) -> [ConfigureViewColumnsCurrency] riTextEdit erstellt: DisplayFormat=[#,##0.00 EUR], HashCode=[21405046]
17:22:25.6883|GridControl|DEBUG >> ConfigureViewColumnsCurrency(GridControl.vb:636) -> [ConfigureViewColumnsCurrency] pGrid.RepositoryItems.Count VOR Schleife=[0]
17:22:25.6883|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1730) -> [TABLE#CtrlID: 121 - CtrlName: TBKontierung read only - CtrlIndex: KONTIERUNG]: End of Select...
17:22:25.7293|frmValidator|DEBUG >> Create_Controls(frmValidator.vb:1758) -> Create_Controls finished!
17:22:25.7293|frmValidator|DEBUG >> frmValidation_Load(frmValidator.vb:673) -> frmValidation_Load finished!
17:22:25.8314|taskFLOW|DEBUG >> Load_Profil_from_Grid(frmMain.vb:2107) -> Overlay closed in Load_Profil_from_Grid
17:22:25.8859|frmValidator|DEBUG >> ShowOverlaySafe(frmValidator.vb:180) -> [Overlay] Geöffnet (RefCount: 0 → 1)
17:22:25.9285|frmValidator|DEBUG >> activate_controls(frmValidator.vb:4688) -> Sub activate_controls - status = False
17:22:26.1456|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut1 Varchar(100) = '{#CTRL#LU_Attr1_dep_Attr2}'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:26.1456|taskFLOW|DEBUG >> ReplaceControlValues(clsPatterns.vb:303) -> Control cache initialized with 22 controls
17:22:26.1456|taskFLOW|WARN >> ReplaceControlValues(clsPatterns.vb:333) -> Control [LU_Attr1_dep_Attr2] not found in cache!
17:22:26.1456|taskFLOW|INFO >> ReplaceControlValues(clsPatterns.vb:342) -> Control [LU_Attr1_dep_Attr2] found via fallback. Adding to cache.
17:22:26.1456|taskFLOW|WARN >> ReplaceControlValues(clsPatterns.vb:390) -> ⚠️ LookupControl [LU_Attr1_dep_Attr2] SelectedValues is empty! Using ERROR_REPLACE_VALUE
17:22:26.1456|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut1 Varchar(100) = '0'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:26.1456|GridControl|INFO >> _Lambda$__2(GridControl.vb:846) -> [CustomRowCellEdit] ✓ CACHE HIT: [column1|-1847042817]
17:22:26.2944|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4103) -> In Load_Next_Document
17:22:26.2944|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4114) -> First Document
17:22:26.2944|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4126) -> CURRENT_JUMP_DOC_GUID: 21231'
17:22:26.2944|frmValidator|INFO >> Load_Next_Document(frmValidator.vb:4139) -> LoadNextDocument - Dokument-GUID: '21231'
17:22:26.2944|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:26.2944|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:26.2944|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:26.2944|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:26.2944|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT dbo.FNPM_GET_FILEPATH(21231,0) AS PATH0, dbo.FNPM_GET_FILEPATH(21231,1) AS PATH1] and Parameters []
17:22:26.2944|frmValidator|DEBUG >> GetDocPathWindows(frmValidator.vb:3962) -> First Checking file [\\172.24.12.15\windream\WISAG\3031_5701002069.pdf] exists?...
17:22:26.5737|DocumentPathHandler|DEBUG >> TryMapNetworkDrive(DocumentPathHandler.vb:221) -> 📂 WMSUFFIX erkannt - starte Laufwerks-Mapping
17:22:26.5737|Map_Drive|DEBUG >> MapDriveAutomatic(Map_Drive.vb:537) -> 🔍 Suche automatisch freien Laufwerksbuchstaben...
17:22:26.5737|Map_Drive|DEBUG >> MapDriveAutomatic(Map_Drive.vb:538) -> Blacklist: []
17:22:26.5737|Map_Drive|DEBUG >> MapDriveAutomatic(Map_Drive.vb:539) -> Netzwerkpfad: [\\172.24.12.15\windream]
17:22:26.5737|Map_Drive|INFO >> MapNetworkDrive(Map_Drive.vb:166) -> Kein Laufwerksbuchstabe angegeben - suche nächsten freien Buchstaben...
17:22:26.5737|Map_Drive|DEBUG >> GetNextFreeDriveLetter(Map_Drive.vb:85) -> Nächster freier Laufwerksbuchstabe gefunden: Z:
17:22:26.5737|Map_Drive|INFO >> MapNetworkDrive(Map_Drive.vb:174) -> Automatisch gewählter Laufwerksbuchstabe: Z:
17:22:26.5737|Map_Drive|DEBUG >> MapNetworkDrive(Map_Drive.vb:205) -> ✓ Laufwerk Z: existiert noch nicht - kein Disconnect nötig
17:22:26.5737|Map_Drive|DEBUG >> DisconnectNetworkDrive(Map_Drive.vb:342) -> Laufwerk Z: existiert nicht - Disconnect übersprungen
17:22:26.7306|Map_Drive|DEBUG >> MapNetworkDriveInternal(Map_Drive.vb:251) -> ✓ Laufwerk Z: erfolgreich gemappt
17:22:26.7306|Map_Drive|INFO >> MapNetworkDrive(Map_Drive.vb:211) -> ✓ Netzlaufwerk Z: erfolgreich gemappt zu \\172.24.12.15\windream
17:22:26.7306|Map_Drive|DEBUG >> MapDriveAutomatic(Map_Drive.vb:545) -> ✓ Automatisch gewähltes Laufwerk: Z:
17:22:26.7306|DocumentPathHandler|DEBUG >> TryMapNetworkDrive(DocumentPathHandler.vb:249) -> 📄 Original: [\\172.24.12.15\windream\WISAG\3031_5701002069.pdf]
17:22:26.7306|DocumentPathHandler|DEBUG >> TryMapNetworkDrive(DocumentPathHandler.vb:250) -> 📄 Gemappt: [Z:\WISAG\3031_5701002069.pdf]
17:22:26.7306|DocumentPathHandler|INFO >> ProcessDocumentPath(DocumentPathHandler.vb:137) -> ✓ Laufwerk gemappt: Z:
17:22:26.7306|DocumentPathHandler|DEBUG >> ProcessDocumentPath(DocumentPathHandler.vb:159) -> 📂 Starte Temp-Kopie für: [Z:\WISAG\3031_5701002069.pdf]
17:22:26.7306|DocumentPathHandler|DEBUG >> EnsureTempFolder(DocumentPathHandler.vb:21) -> 📂 Überprüfe Temp-Ordner: []
17:22:26.7306|DocumentPathHandler|DEBUG >> EnsureTempFolder(DocumentPathHandler.vb:23) -> ⚠️ Temp-Ordner nicht konfiguriert, verwende TEMP_DOCUMENT_FOLDER aus AppSettings
17:22:26.7306|DocumentPathHandler|INFO >> CopyToTempFolder(DocumentPathHandler.vb:279) -> [TempCopy] Effektiver Temp-Ordner: [C:\Users\SchreiberM\AppData\Local\Temp\Documents]
17:22:26.7306|DocumentPathHandler|DEBUG >> CopyToTempFolder(DocumentPathHandler.vb:280) -> [TempCopy] InputTemp=[<leer>], GlobalTemp=[C:\Users\SchreiberM\AppData\Local\Temp\Documents]
17:22:26.7306|DocumentPathHandler|DEBUG >> CopyToTempFolder(DocumentPathHandler.vb:290) -> 📄 Kopiere nach Temp:
17:22:26.7306|DocumentPathHandler|DEBUG >> CopyToTempFolder(DocumentPathHandler.vb:291) -> Von: [Z:\WISAG\3031_5701002069.pdf]
17:22:26.7306|DocumentPathHandler|DEBUG >> CopyToTempFolder(DocumentPathHandler.vb:292) -> Nach: [C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf]
17:22:26.7862|DocumentPathHandler|INFO >> ProcessDocumentPath(DocumentPathHandler.vb:165) -> ✓ Datei in Temp kopiert: [3031_5701002069_20260623_172226_735.pdf]
17:22:26.7979|Map_Drive|DEBUG >> DisconnectNetworkDrive(Map_Drive.vb:350) -> ✓ Netzlaufwerk Z: erfolgreich getrennt
17:22:26.7979|DocumentPathHandler|INFO >> UnmapDrive(DocumentPathHandler.vb:316) -> 🔌 Laufwerk Z: getrennt
17:22:26.7979|frmValidator|INFO >> GetDocPathWindows(frmValidator.vb:4007) -> ✓ Dokument verarbeitet: [3031_5701002069_20260623_172226_735.pdf]
17:22:26.7979|frmValidator|INFO >> GetDocPathWindows(frmValidator.vb:4027) -> GetWMDocPathWindows CURRENT_DOC_PATH: \\172.24.12.15\windream\WISAG\3031_5701002069.pdf
17:22:26.7979|frmValidator|DEBUG >> Load_IDB_DOC_DATA(frmValidator.vb:4063) -> Load_IDB_DOC_DATA SQL: select T.* from IDB.dbo.VWIDB_DOC_DATA_DE T, TBPM_PROFILE_FILES T1 WHERE T.IDB_OBJ_ID = T1.DOC_ID AND T1.GUID = 21231
17:22:26.7979|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:26.7979|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:26.7979|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:26.7979|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:26.7979|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [select T.* from IDB.dbo.VWIDB_DOC_DATA_DE T, TBPM_PROFILE_FILES T1 WHERE T.IDB_OBJ_ID = T1.DOC_ID AND T1.GUID = 21231] and Parameters []
17:22:26.8076|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4166) -> Got one IDB DocData Result
17:22:26.8076|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:26.8076|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:26.8076|MSSQLServer|DEBUG >> ExecuteNonQueryWithConnectionObject(MSSQLServer.vb:491) -> ExecuteNonQueryWithConnectionObject: Running Command [EXEC PRTF_PROFILE_FILES_WORK 12002,6,1,'InWork'] and Parameters []
17:22:26.8076|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4199) -> AllDocInfo created...
17:22:26.8076|Loader|DEBUG >> Load(Loader.vb:55) -> DRL Loader - Loading Document Load_FromWindream
17:22:26.8076|Loader|DEBUG >> Load_FromDisk(Loader.vb:140) -> Loading file [C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf]
17:22:26.8305|Loader|DEBUG >> Load_FromDisk(Loader.vb:144) -> Loaded file [C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf] successfully.
17:22:26.8305|Cache|DEBUG >> Add(Cache.vb:50) -> Adding document [12002].
17:22:26.8305|frmValidator|INFO >> LoadDocument_DDViewer(frmValidator.vb:4665) -> LoadDocument_DDViewer - Current_Document.FullPath: C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf
17:22:26.8305|DocumentViewer|INFO >> LoadFile_FromPath(DocumentViewer.vb:187) -> Loading file [C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf] from Filesystem
17:22:26.8305|DocumentViewer|DEBUG >> SetViewerMode(DocumentViewer.vb:532) -> Viewermode set to [GDPicture] based on extension [.pdf]
17:22:26.8305|DocumentViewer|DEBUG >> DoLoadFile(DocumentViewer.vb:665) -> Starting DoLoadFile with path [C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf] and view override []
17:22:26.8305|DocumentViewer|DEBUG >> LoadGdPictureFile(DocumentViewer.vb:737) -> Loading GdPicture: C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf
17:22:27.5188|DocumentViewer|INFO >> UpdateMainUi(DocumentViewer.vb:944) -> Updating main UI for viewer mode [GDPicture]
17:22:27.6182|frmValidator|DEBUG >> Load_Next_Document(frmValidator.vb:4250) -> Kein PROFIL_CURRENCY_ATTRIBUTE konfiguriert → EUR
17:22:27.6182|frmValidator|INFO >> Load_Next_Document(frmValidator.vb:4254) -> [FINAL] DocCurrency = [EUR]
17:22:27.6315|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_9407c06c - LOAD IDXVALUES: True
17:22:27.6315|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_40dee67 - LOAD IDXVALUES: True
17:22:27.6315|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_17cbc463 - LOAD IDXVALUES: True
17:22:27.6315|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut String 2 - CONTROLNAME: LUAttrStr2 - LOAD IDXVALUES: True
17:22:27.6315|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut String 2, IDBTyp: 1, FromIDB: False
17:22:27.6315|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut String 2] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6315|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut String 2] MappedName=[Attribut String 2] Value=[Row 3]
17:22:27.6315|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5819) -> [FillIndexValues BUGFIX] Lookup [LUAttrStr2]: DataSource-Backup erstellt
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2189) -> onLookUpselectedValue
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2192) -> onLookUpselectedValue suppressed (global guard active)
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5831) -> [FillIndexValues BUGFIX] Lookup [LUAttrStr2]: SelectedValues auf leere Liste zurückgesetzt
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2189) -> onLookUpselectedValue
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2192) -> onLookUpselectedValue suppressed (global guard active)
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5839) -> [FillIndexValues BUGFIX] Lookup [LUAttrStr2]: SelectedValues FINAL gesetzt = [Row 3]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: @@DISPLAY_ONLY - CONTROLNAME: TXTDisplayOnly - LOAD IDXVALUES: False
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5126) -> oControl TXTDisplayOnly: Indexwert soll nicht geladen werden.
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut String1 - CONTROLNAME: LU_Attr1_Dep_Attr2 - LOAD IDXVALUES: True
17:22:27.6371|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut String1, IDBTyp: 1, FromIDB: False
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut String1] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut String1] MappedName=[Attribut String1] Value=[1000002]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5819) -> [FillIndexValues BUGFIX] Lookup [LU_Attr1_Dep_Attr2]: DataSource-Backup erstellt
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2189) -> onLookUpselectedValue
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2192) -> onLookUpselectedValue suppressed (global guard active)
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5831) -> [FillIndexValues BUGFIX] Lookup [LU_Attr1_Dep_Attr2]: SelectedValues auf leere Liste zurückgesetzt
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2189) -> onLookUpselectedValue
17:22:27.6371|frmValidator|DEBUG >> onLookUpselectedValue(frmValidator.vb:2192) -> onLookUpselectedValue suppressed (global guard active)
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5839) -> [FillIndexValues BUGFIX] Lookup [LU_Attr1_Dep_Attr2]: SelectedValues FINAL gesetzt = [1000002]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_3de45179 - LOAD IDXVALUES: True
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: BTN_1b70920b - LOAD IDXVALUES: True
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut String1 - CONTROLNAME: txtAttributString1 - LOAD IDXVALUES: True
17:22:27.6371|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut String1, IDBTyp: 1, FromIDB: False
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut String1] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut String1] MappedName=[Attribut String1] Value=[1000002]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5159) -> Value from Source: [1000002]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut Date1 - CONTROLNAME: DTP_e3b36d2e - LOAD IDXVALUES: True
17:22:27.6371|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut Date1, IDBTyp: 0, FromIDB: False
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut Date1] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6371|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut Date1] MappedName=[Attribut Date1] Value=[10.06.2031 00:00:00]
17:22:27.6371|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5872) -> DATE konnte umgewandelt werden
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_81e62ba3 - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_da93a37 - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut Bit1 - CONTROLNAME: CHK_Bit1 - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5664) -> Loading checkbox...
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5678) -> Loading Bool-Value from Source...
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5684) -> ..Now GetVariableValue(Attribut Bit1)...
17:22:27.6522|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut Bit1, IDBTyp: 7, FromIDB: False
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut Bit1] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut Bit1] MappedName=[Attribut Bit1] Value=[]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5704) -> oValueFromSource:
17:22:27.6522|frmValidator|INFO >> FillIndexValues(frmValidator.vb:5706) -> >> Versuch, default Value zu laden
17:22:27.6522|frmValidator|INFO >> FillIndexValues(frmValidator.vb:5718) -> >> defaultValue war leer
17:22:27.6522|frmValidator|DEBUG >> onCheckBox_CheckedChange(frmValidator.vb:2513) -> onCheckBox_CheckedChange
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Currency - CONTROLNAME: txtCurrencyFloat - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Currency, IDBTyp: 1, FromIDB: False
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Currency] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Currency] MappedName=[Currency] Value=[120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5159) -> Value from Source: [120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Attribut Date1 - CONTROLNAME: DTP_750906e8 - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Attribut Date1, IDBTyp: 0, FromIDB: False
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Attribut Date1] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Attribut Date1] MappedName=[Attribut Date1] Value=[10.06.2031 00:00:00]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5872) -> DATE konnte umgewandelt werden
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Currency - CONTROLNAME: txtCurrencyReadOnly - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Currency, IDBTyp: 1, FromIDB: False
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Currency] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Currency] MappedName=[Currency] Value=[120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5159) -> Value from Source: [120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_EpKU6h3z-kOELa3QtGty7w - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: Currency - CONTROLNAME: TXT_CurrencyRO - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> GetVariableValuefromSource(frmValidator.vb:4991) -> GetVariableValuefromSource - IDBCase - IndexName: Currency, IDBTyp: 1, FromIDB: False
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:161) -> IDBData - GetVariableValue - Attribute: [Currency] - IsSingleAttribute: [True] - FromIDB: [False]
17:22:27.6522|taskFLOW|DEBUG >> GetVariableValue(ClassIDBData.vb:168) -> IDBData - GetVariableValue - Retrieved from cache: Attribute=[Currency] MappedName=[Currency] Value=[120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5159) -> Value from Source: [120,58]
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: PM-LOGGING - CONTROLNAME: TBCurrency - LOAD IDXVALUES: True
17:22:27.6522|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5302) -> Grid [TBCurrency]: 2 Spalten aus Cache geladen
17:22:35.2511|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5338) -> [FillIndexValues] GridControl [TBCurrency] wird über ClassGridDataLoader befüllt...
17:22:35.2511|ClassGridDataLoader|DEBUG >> FillGridData(ClassGridDataLoader.vb:37) -> FillGridData für Control GUID=51, Name=TBCurrency, Type=TABLE
17:22:35.2844|ClassGridDataLoader|ERROR >> GetFilteredColumnDefinitions(ClassGridDataLoader.vb:390) -> Fehler in GetFilteredColumnDefinitions: Spalte 'SORT_ORDER' gehört nicht zu Tabelle .
17:22:35.2844|ClassGridDataLoader|WARN >> FillGridData(ClassGridDataLoader.vb:49) -> Keine Spalten-Definitionen für Grid GUID=51
17:22:40.0659|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5356) -> ✓ GridControl [TBCurrency] erfolgreich über ClassGridDataLoader befüllt
17:22:40.0659|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: - CONTROLNAME: LBL_cc1524f - LOAD IDXVALUES: True
17:22:40.0659|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5109) -> INDEX: KONTIERUNG - CONTROLNAME: TBKontierung read only - LOAD IDXVALUES: True
17:22:40.0659|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5302) -> Grid [TBKontierung read only]: 3 Spalten aus Cache geladen
17:22:40.9451|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5338) -> [FillIndexValues] GridControl [TBKontierung read only] wird über ClassGridDataLoader befüllt...
17:22:40.9486|ClassGridDataLoader|DEBUG >> FillGridData(ClassGridDataLoader.vb:37) -> FillGridData für Control GUID=121, Name=TBKontierung read only, Type=TABLE
17:22:40.9486|ClassGridDataLoader|ERROR >> GetFilteredColumnDefinitions(ClassGridDataLoader.vb:390) -> Fehler in GetFilteredColumnDefinitions: Spalte 'SORT_ORDER' gehört nicht zu Tabelle .
17:22:40.9486|ClassGridDataLoader|WARN >> FillGridData(ClassGridDataLoader.vb:49) -> Keine Spalten-Definitionen für Grid GUID=121
17:22:41.9303|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5356) -> ✓ GridControl [TBKontierung read only] erfolgreich über ClassGridDataLoader befüllt
17:22:41.9624|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:5950) -> ⚠️ FillIndexValues - SQL-Command for Grid-Dropdown-Column contains #CTRL# placeholder, skipping dropdown creation for CONTROL-ID [56] - Column [Summe]
17:22:41.9624|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [IDB] with Connection Id [IDB]
17:22:41.9646|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=IDB;User ID=sa;Password=XXXXX
17:22:41.9646|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:41.9646|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [select Attribut, TERM_VALUE from VWIDB_VALUE_TEXT WHERE LANG_CODE IN ('de-DE','UNQID') AND IDB_OBJ_ID = 12002 AND Attribut in ('PM_Info1','PM_Info2') ORDER BY Attribut] and Parameters []
17:22:41.9646|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:6015) -> No PM_Info-Configuration!!
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:971) -> ========================================
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:972) -> === Load_Additional_Searches START ===
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:973) -> Parameter: Preload=False
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:974) -> Current_Document: Id=12002, Path=C:\Users\SchreiberM\AppData\Local\Temp\Documents\3031_5701002069_20260623_172226_735.pdf
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:975) -> ========================================
17:22:41.9646|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1006) -> --- Ergebnisse werden geprüft (DATA/DOC) ---
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:41.9646|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:41.9646|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:41.9646|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:41.9646|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:41.9646|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:41.9646|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:41.9646|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Select 'Test' ] and Parameters []
17:22:41.9646|frmValidator|INFO >> Load_Additional_Searches(frmValidator.vb:1026) -> ✓ SQL-Search 'Mein TabTitle': 1 Ergebnisse gefunden
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:41.9646|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:41.9803|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:41.9803|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:41.9803|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:41.9803|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:41.9803|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:41.9803|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:41.9803|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Select TOP 125 T.DocID,T.FULL_FILENAME,T.Doctype from [VWCW_DOC_SEARCH] T ] and Parameters []
17:22:42.0096|frmValidator|INFO >> Load_Additional_Searches(frmValidator.vb:1052) -> ✓ Doc-Search 'Eine DocSuche': 125 Dokumente gefunden
17:22:42.0116|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1072) -> Zusätzliche Doc-Results gecached: 125 Rows
17:22:42.0116|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1077) -> Ergebnisprüfung abgeschlossen: AdditionalDataResultsExist=True, AdditionalDocResultsExist=True
17:22:42.0116|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1079) -> rbnPgGroupAttmt.Visible gesetzt auf: True | Stack:
bei taskFLOW.frmValidator.FillIndexValues(Boolean first, String SingleAttribute) in E:\SchreiberM\Visual Studio\GIT\1_smartUP\TaskFlow\app\TaskFlow\frmValidator.vb:Zeile 6037.
17:22:42.0116|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1114) -> --- NORMAL-MODUS aktiviert (nur vorbereiten, NICHT Show) ---
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:86) -> === TabPreload START ===
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:87) -> Parameters: TabCountSQL=1, TabCountDoc=1, DTSQL.Rows=1, DTDOC.Rows=1
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:106) -> Ausführung auf UI-Thread
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:120) -> 🚫 Tab-Events deaktiviert
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:126) -> ✓ _DTDATASearches und _DTDocSearches zugewiesen: SQL=1, Doc=1
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:146) -> Panel1Collapsed (SQL)=False, Panel2Collapsed (Doc)=False
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:154) -> ✓ DocumentViewer1 sichtbar gemacht (Doc-Searches vorhanden)
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:165) -> Konfiguriere SQL-Tabs: 1 Definitionen
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=1)
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=2)
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=3)
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=4)
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=-1)
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:171) -> Alle 5 SQL-Tabs auf PageVisible=False gesetzt
17:22:42.0116|taskFLOW|DEBUG >> XtraTabControlSQL_SelectedPageChanged(frmValidatorSearch.vb:330) -> 🚫 XtraTabControlSQL_SelectedPageChanged unterdrückt (SelectedTabPageIndex=0)
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:182) -> SQL-Tab 0: Text='Mein TabTitle', PageVisible=True
17:22:42.0116|taskFLOW|INFO >> TabPreload(frmValidatorSearch.vb:189) -> ✓ 1 SQL-Tabs konfiguriert
17:22:42.0116|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:199) -> Konfiguriere Doc-Tabs: 1 Definitionen
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=1)
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=2)
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=3)
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=4)
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=-1)
17:22:42.0278|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:205) -> Alle 5 Doc-Tabs auf PageVisible=False gesetzt
17:22:42.0278|taskFLOW|DEBUG >> XtraTabControlDocs_SelectedPageChanged_1(frmValidatorSearch.vb:385) -> 🚫 XtraTabControlDocs_SelectedPageChanged unterdrückt (SelectedTabPageIndex=0)
17:22:42.0278|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:216) -> Doc-Tab 0: Text='Eine DocSuche', PageVisible=True
17:22:42.0278|taskFLOW|INFO >> TabPreload(frmValidatorSearch.vb:223) -> ✓ 1 Doc-Tabs konfiguriert
17:22:42.0278|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:236) -> ✓ Tab-Events reaktiviert
17:22:42.0278|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:251) -> Setze SQL SelectedTabPageIndex manuell auf 0
17:22:42.0278|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:266) -> SQL-Tab 0: erzwungener Initial-Refresh
17:22:42.0278|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.0278|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.0278|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.0278|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.0278|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.0278|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0278|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.0278|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.0278|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0278|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Select 'Test' ] and Parameters []
17:22:42.0506|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:286) -> Setze Doc SelectedTabPageIndex manuell auf 0
17:22:42.0506|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:301) -> Doc-Tab 0: erzwungener Initial-Refresh
17:22:42.0506|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.0506|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.0506|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.0506|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.0506|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.0506|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0506|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.0506|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.0506|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0506|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Select TOP 125 T.DocID,T.FULL_FILENAME,T.Doctype from [VWCW_DOC_SEARCH] T ] and Parameters []
17:22:42.0905|taskFLOW|DEBUG >> TabPreload(frmValidatorSearch.vb:310) -> === TabPreload END ===
17:22:42.0905|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1123) -> Load_Additional_Searches: Vorbereitung abgeschlossen (Preload=False), Formular bleibt geschlossen.
17:22:42.0905|frmValidator|DEBUG >> Load_Additional_Searches(frmValidator.vb:1129) -> === Load_Additional_Searches END ===
17:22:42.0905|frmValidator|DEBUG >> FillIndexValues(frmValidator.vb:6038) -> [FillIndexValues] Nach Load_Additional_Searches: rbnPgGroupAttmt.Visible=True
17:22:42.0905|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut1 Varchar(100) = '{#CTRL#LU_Attr1_dep_Attr2}'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.0905|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut1 Varchar(100) = '1000002'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.0905|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.0905|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.0905|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0905|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.0905|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.0905|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0905|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Declare @Attribut1 Varchar(100) = '1000002'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
] and Parameters []
17:22:42.0905|ClassControlCreator|DEBUG >> GridTables_HandleControlValueChange(ClassControlCreator.vb:917) -> Force-setting Editor for all Gridcells..
17:22:42.0905|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [SELECT EMAIL, GUID, USERNAME,PRENAME,NAME,LANGUAGE,USERID_FK_INT_ECM,DATE_FORMAT,ADDED_WHO,ADDED_WHEN FROm TBDD_USER
WHERE USERID_FK_INT_ECM > {#CTRL#txtAttributString1}
]
17:22:42.0905|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [SELECT EMAIL, GUID, USERNAME,PRENAME,NAME,LANGUAGE,USERID_FK_INT_ECM,DATE_FORMAT,ADDED_WHO,ADDED_WHEN FROm TBDD_USER
WHERE USERID_FK_INT_ECM > 1000002
]
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.0905|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.0905|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.0905|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.0905|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.0905|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.0905|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.0905|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.1055|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT EMAIL, GUID, USERNAME,PRENAME,NAME,LANGUAGE,USERID_FK_INT_ECM,DATE_FORMAT,ADDED_WHO,ADDED_WHEN FROm TBDD_USER
WHERE USERID_FK_INT_ECM > 1000002
] and Parameters []
17:22:42.1055|ClassControlCreator|DEBUG >> GridTables_HandleControlValueChange(ClassControlCreator.vb:917) -> Force-setting Editor for all Gridcells..
17:22:42.1055|ClassControlCreator|DEBUG >> GridTables_HandleControlValueChange(ClassControlCreator.vb:908) -> GridTables_HandleControlValueChange -> Skipping column [Col7] (has #TBCOL# placeholders, will be resolved per row)
17:22:42.1261|frmValidator|DEBUG >> UpdateGridCurrencyFormats(frmValidator.vb:4466) -> [UpdateGridCurrencyFormats] DocCurrency is EUR or empty, cache updated but skipping format rebuild.
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1167) -> in LoadSQLData for ControlID [50]...
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1180) -> LoadSQLData for Control [LUAttrStr2] with GUID [50] ...
17:22:42.1261|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.1261|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.1261|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.1261|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.1261|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [select 'Kreditor 1' union
select 'Kreditor 2' union
select 'Kreditor 3' union
select 'Kreditor 4' union
select 'Kreditor 5'
] and Parameters []
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1223) -> [LoadSQLData DEBUG] Lookup [LUAttrStr2] konfiguriert:
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1224) -> DataSource-Typ: System.Data.DataTable
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1225) -> ValueMember: [Column1]
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1226) -> DisplayMember: [Column1]
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1233) -> [LoadSQLData BUGFIX] Alte SelectedValues gesichert: [Row 3]
17:22:42.1261|frmValidator|WARN >> LoadSQLData(frmValidator.vb:1264) -> ⚠️ [LoadSQLData BUGFIX] Wert [Row 3] existiert NICHT im neuen DataSource ✗
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1167) -> in LoadSQLData for ControlID [119]...
17:22:42.1261|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1180) -> LoadSQLData for Control [TXTDisplayOnly] with GUID [119] ...
17:22:42.1261|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [SELECT CASE '{#CTRL#LUAttrStr2}'
WHEN 'Kreditor 1' THEN 'Ort 1'
WHEN 'Kreditor 2' THEN 'Ort 2'
WHEN 'Kreditor 3' THEN 'Ort 3'
WHEN 'Kreditor 4' THEN 'Ort 4'
WHEN 'Kreditor 5' THEN 'Ort 5' END
]
17:22:42.1261|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [SELECT CASE 'Row 3'
WHEN 'Kreditor 1' THEN 'Ort 1'
WHEN 'Kreditor 2' THEN 'Ort 2'
WHEN 'Kreditor 3' THEN 'Ort 3'
WHEN 'Kreditor 4' THEN 'Ort 4'
WHEN 'Kreditor 5' THEN 'Ort 5' END
]
17:22:42.1261|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.1261|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.1362|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.1362|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.1362|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.1362|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.1362|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.1362|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.1362|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.1362|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT CASE 'Row 3'
WHEN 'Kreditor 1' THEN 'Ort 1'
WHEN 'Kreditor 2' THEN 'Ort 2'
WHEN 'Kreditor 3' THEN 'Ort 3'
WHEN 'Kreditor 4' THEN 'Ort 4'
WHEN 'Kreditor 5' THEN 'Ort 5' END
] and Parameters []
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1167) -> in LoadSQLData for ControlID [134]...
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1180) -> LoadSQLData for Control [LU_Attr1_Dep_Attr2] with GUID [134] ...
17:22:42.1362|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut2 Varchar(100) = '{#CTRL#LUAttrStr2}'
If @Attribut2 = 'Kreditor 1'
select 'Bankverbindung1 Kred 1' union
select 'Bankverbindung2 Kred 1'
Else
select 'Bankverbindung1 Kred Else'
union
select 'Bankverbindung2 Kred Else'
]
17:22:42.1362|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut2 Varchar(100) = 'Row 3'
If @Attribut2 = 'Kreditor 1'
select 'Bankverbindung1 Kred 1' union
select 'Bankverbindung2 Kred 1'
Else
select 'Bankverbindung1 Kred Else'
union
select 'Bankverbindung2 Kred Else'
]
17:22:42.1362|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.1362|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.1362|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.1362|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.1362|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Declare @Attribut2 Varchar(100) = 'Row 3'
If @Attribut2 = 'Kreditor 1'
select 'Bankverbindung1 Kred 1' union
select 'Bankverbindung2 Kred 1'
Else
select 'Bankverbindung1 Kred Else'
union
select 'Bankverbindung2 Kred Else'
] and Parameters []
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1223) -> [LoadSQLData DEBUG] Lookup [LU_Attr1_Dep_Attr2] konfiguriert:
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1224) -> DataSource-Typ: System.Data.DataTable
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1225) -> ValueMember: []
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1226) -> DisplayMember: []
17:22:42.1362|frmValidator|DEBUG >> LoadSQLData(frmValidator.vb:1233) -> [LoadSQLData BUGFIX] Alte SelectedValues gesichert: [1000002]
17:22:42.1362|frmValidator|WARN >> LoadSQLData(frmValidator.vb:1264) -> ⚠️ [LoadSQLData BUGFIX] Wert [1000002] existiert NICHT im neuen DataSource ✗
17:22:42.1627|frmValidator|ERROR >> Load_Next_Document(frmValidator.vb:4423) -> System.InvalidCastException: Das Objekt des Typs "System.Data.DataRow" kann nicht in Typ "ControlMetadata" umgewandelt werden.
17:22:42.1735|frmValidator|INFO >> Load_Next_Document(frmValidator.vb:4427) -> unexpected error in Load_Next_Document: Das Objekt des Typs "System.Data.DataRow" kann nicht in Typ "ControlMetadata" umgewandelt werden.
17:22:42.1957|taskFLOW|DEBUG >> frmError_Activated(frmError.vb:70) -> [frmError] Dialog aktiviert
17:22:42.2726|taskFLOW|DEBUG >> frmError_Shown(frmError.vb:66) -> [frmError] Dialog angezeigt - Enabled: True
17:22:42.3658|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut1 Varchar(100) = '{#CTRL#LU_Attr1_dep_Attr2}'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.3658|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut1 Varchar(100) = '1000002'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.3658|GridControl|DEBUG >> ResolveSqlTemplate(GridControl.vb:111) -> [ResolveSqlTemplate] ✓ Cached SQL: Key=[-445029346]
17:22:42.3658|GridControl|INFO >> _Lambda$__2(GridControl.vb:853) -> [CustomRowCellEdit] 🆕 MISS: Creating editor for [column1]
17:22:42.3658|DatabaseWithFallback|DEBUG >> GetDatatable(DatabaseWithFallback.vb:193) -> Client is empty, falling back to direct database access.
17:22:42.3658|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:341) -> Fetching data from database [ECM] with Connection Id [ECM]
17:22:42.3658|DatabaseWithFallback|DEBUG >> GetDatatableFromDatabase(DatabaseWithFallback.vb:349) -> Retrieving Connection String from Connection Id [1]
17:22:42.3658|MSSQLServer|DEBUG >> Get_ConnectionStringforID(MSSQLServer.vb:173) -> Getting ConnectionString for ConnectionId [1]
17:22:42.3658|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Server=SDD-VMP04-SQL17\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=XXXXX;
17:22:42.3705|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.3705|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [SELECT * FROM TBDD_CONNECTION WHERE GUID = 1] and Parameters []
17:22:42.3705|MSSQLServer|DEBUG >> GetConnection(MSSQLServer.vb:276) -> The Following Connection is open: Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;User ID=sa;Password=XXXXX
17:22:42.3705|MSSQLServer|DEBUG >> MaybeGetTransaction(MSSQLServer.vb:118) -> Transaction Mode: [WithTransaction]
17:22:42.3705|MSSQLServer|DEBUG >> GetDatatableWithConnectionObject(MSSQLServer.vb:408) -> GetDatatableWithConnectionObject: Running Query [Declare @Attribut1 Varchar(100) = '1000002'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
] and Parameters []
17:22:42.3705|taskFLOW|DEBUG >> CreateRowSpecificEditor(GridControl.vb:1459) -> [CreateRowSpecificEditor] Retrieved 18 rows for column [column1]
17:22:42.3705|GridControl|DEBUG >> CreateRowSpecificEditor(GridControl.vb:1498) -> [CreateRowSpecificEditor] Created ComboBox with 18 items
17:22:42.3705|GridControl|INFO >> _Lambda$__2(GridControl.vb:868) -> [CustomRowCellEdit] ✓ Cached [column1] editor (Type=[RepositoryItemComboBox])
17:22:42.3868|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:164) -> input BEFORE replacing: [Declare @Attribut1 Varchar(100) = '{#CTRL#LU_Attr1_dep_Attr2}'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.3868|taskFLOW|DEBUG >> ReplaceAllValues(clsPatterns.vb:180) -> input AFTER replacing: [Declare @Attribut1 Varchar(100) = '1000002'
If @Attribut1 = 'TBDD_USER'
select USERNAME FROM TBDD_USER ORDER BY USERNAME
Else
select NAME FROM TBDD_USER ORDER BY NAME
]
17:22:42.3868|GridControl|INFO >> _Lambda$__2(GridControl.vb:846) -> [CustomRowCellEdit] ✓ CACHE HIT: [column1|-445029346]
17:22:45.4034|taskFLOW|DEBUG >> frmError_Activated(frmError.vb:70) -> [frmError] Dialog aktiviert
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:13) -> [frmError] OK_Button_Click aufgerufen von:
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> frmError.OK_Button_Click (Zeile 12)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.OnClick (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Button.OnClick (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Button.OnMouseUp (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.WmMouseUp (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ButtonBase.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Button.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ControlNativeWindow.OnMessage (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ControlNativeWindow.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> NativeWindow.DebuggableCallback (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> UnsafeNativeMethods.DispatchMessageW (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ThreadContext.RunMessageLoopInner (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ThreadContext.RunMessageLoop (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Application.RunDialog (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Form.ShowDialog (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Form.ShowDialog (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> frmValidator.Load_Next_Document (Zeile 4429)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> frmValidator.frmValidation_Shown (Zeile 6140)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Form.OnShown (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> XtraForm.OnShown (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Form.CallShownEvent (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.InvokeMarshaledCallbackDo (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.InvokeMarshaledCallbackHelper (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ExecutionContext.RunInternal (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ExecutionContext.Run (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ExecutionContext.Run (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.InvokeMarshaledCallback (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.InvokeMarshaledCallbacks (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Control.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ScrollableControl.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Form.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> DForm.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> XtraForm.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> RibbonForm.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ControlNativeWindow.OnMessage (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ControlNativeWindow.WndProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> NativeWindow.DebuggableCallback (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> UnsafeNativeMethods.DefSubclassProc (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> Win32Subclasser.SubClassProcInner (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> UnsafeNativeMethods.DispatchMessageW (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ThreadContext.RunMessageLoopInner (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> ThreadContext.RunMessageLoop (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> WindowsFormsApplicationBase.OnRun (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> WindowsFormsApplicationBase.DoApplicationModel (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> WindowsFormsApplicationBase.Run (Zeile 0)
17:22:45.5478|taskFLOW|DEBUG >> OK_Button_Click(frmError.vb:15) -> MyApplication.Main (Zeile 83)
17:22:45.5478|taskFLOW|DEBUG >> CloseDialog(frmError.vb:51) -> [frmError] CloseDialog: Flag gesetzt, starte verzögerten Close
17:22:45.5590|taskFLOW|DEBUG >> frmError_FormClosing(frmError.vb:75) -> [frmError] FormClosing: Close bereits aktiv, erlauben
17:22:45.5590|taskFLOW|DEBUG >> _Lambda$__25-0(frmError.vb:59) -> [frmError] Dialog geschlossen via BeginInvoke
17:22:45.5849|frmValidator|DEBUG >> CloseOverlaySafe(frmValidator.vb:200) -> [Overlay] RefCount: 1 → 0
17:22:45.5849|frmValidator|DEBUG >> CloseOverlaySafe(frmValidator.vb:206) -> [Overlay] ✓ Geschlossen
17:22:45.5925|frmValidator|DEBUG >> frmValidation_Shown(frmValidator.vb:6221) -> frmValidation_Shown finished!
17:22:45.5925|frmValidator|DEBUG >> frmValidation_Shown(frmValidator.vb:6228) -> Overlay war bereits geschlossen

View File

@@ -5,12 +5,13 @@
<package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" />
<package id="EntityFramework" version="6.4.4" targetFramework="net462" />
<package id="EntityFramework.Firebird" version="6.4.0" targetFramework="net462" />
<package id="GdPicture" version="14.3.3" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.3" targetFramework="net462" />
<package id="GdPicture" version="14.4.4" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.4.4" targetFramework="net462" />
<package id="Google.Protobuf" version="3.33.2" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.Cryptography" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.5" targetFramework="net462" />
<package id="Microsoft.Bcl.Cryptography" version="10.0.5" targetFramework="net462" />
<package id="Microsoft.Bcl.HashCode" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" />
<package id="Microsoft.Identity.Client" version="4.55.0" targetFramework="net462" />
<package id="Microsoft.IdentityModel.Abstractions" version="6.22.0" targetFramework="net462" />
@@ -18,27 +19,27 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json.Bson" version="1.0.2" targetFramework="net462" />
<package id="NLog" version="5.0.5" targetFramework="net461" />
<package id="OpenMcdf" version="2.4.1" targetFramework="net462" />
<package id="OpenMcdf" version="3.1.4" targetFramework="net462" />
<package id="Oracle.ManagedDataAccess" version="21.15.0" targetFramework="net462" />
<package id="protobuf-net" version="3.2.46" targetFramework="net462" />
<package id="protobuf-net.Core" version="3.2.46" targetFramework="net462" />
<package id="RtfPipe" version="2.0.7677.4303" targetFramework="net462" />
<package id="S22.Imap" version="3.6.0.0" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Buffers" version="4.6.1" targetFramework="net462" />
<package id="System.CodeDom" version="9.0.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="9.0.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="10.0.5" targetFramework="net462" />
<package id="System.Data.Odbc" version="6.0.1" targetFramework="net462" />
<package id="System.Formats.Asn1" version="9.0.0" targetFramework="net462" />
<package id="System.IO.Packaging" version="9.0.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="9.0.0" targetFramework="net462" />
<package id="System.Formats.Asn1" version="10.0.5" targetFramework="net462" />
<package id="System.IO.Packaging" version="10.0.5" targetFramework="net462" />
<package id="System.IO.Pipelines" version="10.0.5" targetFramework="net462" />
<package id="System.Management" version="9.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="9.0.0" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="9.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="9.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="8.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.3" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="10.0.5" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="10.0.5" targetFramework="net462" />
<package id="System.Text.Json" version="10.0.5" targetFramework="net462" />
<package id="System.Threading.Channels" version="10.0.5" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net462" />
<package id="System.ValueTuple" version="4.6.1" targetFramework="net462" />
</packages>

View File

@@ -227,84 +227,71 @@
<Reference Include="FormsUtils">
<HintPath>M:\Bibliotheken\3rdParty\FormsUtils.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll</HintPath>
<Reference Include="GdPicture.NET.14, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
<Reference Include="GdPicture.NET.14.CAD, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Common, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Document, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Email, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.HTML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.Markdown, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Markdown.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.PDF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
<Private>True</Private>
<Reference Include="GdPicture.NET.14.RTF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Google.Protobuf, Version=3.33.2.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
@@ -329,11 +316,14 @@
<Reference Include="Mail">
<HintPath>M:\Bibliotheken\3rdParty\Limilabs\Mail.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.5\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.9.0.0\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
<Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.5\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.HashCode, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
@@ -342,6 +332,15 @@
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Exceptions, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Exceptions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
@@ -351,8 +350,8 @@
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath>
<Reference Include="OpenMcdf, Version=3.1.4.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.3.1.4\lib\netstandard2.0\OpenMcdf.dll</HintPath>
</Reference>
<Reference Include="Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
<HintPath>..\packages\Oracle.ManagedDataAccess.21.15.0\lib\net462\Oracle.ManagedDataAccess.dll</HintPath>
@@ -367,14 +366,14 @@
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.CodeDom.9.0.0\lib\net462\System.CodeDom.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.9.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
<Reference Include="System.Collections.Immutable, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.10.0.5\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
@@ -389,53 +388,53 @@
<Reference Include="System.DirectoryServices" />
<Reference Include="System.DirectoryServices.AccountManagement" />
<Reference Include="System.Drawing" />
<Reference Include="System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.9.0.0\lib\net462\System.Formats.Asn1.dll</HintPath>
<Reference Include="System.Formats.Asn1, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.10.0.5\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference>
<Reference Include="System.IdentityModel" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Packaging, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.9.0.0\lib\net462\System.IO.Packaging.dll</HintPath>
<Reference Include="System.IO.Packaging, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.10.0.5\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.10.0.5\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.9.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
<Reference Include="System.Security.Cryptography.Pkcs, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.10.0.5\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
<Reference Include="System.Text.Encodings.Web, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.10.0.5\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
<Reference Include="System.Text.Json, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.10.0.5\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Threading.Channels, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.10.0.5\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
<Reference Include="System.ValueTuple, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.6.1\lib\net462\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Services" />
<Reference Include="System.Windows.Forms" />
@@ -466,6 +465,7 @@
<Compile Include="ClassFinalIndex.vb" />
<Compile Include="ClassFinalizeDoc.vb" />
<Compile Include="ClassFormat.vb" />
<Compile Include="ClassGridDataLoader.vb" />
<Compile Include="ClassIDBData.vb" />
<Compile Include="ClassImageSelector.vb" />
<Compile Include="ClassImageValue.vb" />
@@ -557,6 +557,12 @@
<Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmControl_Table.Designer.vb">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</Compile>
<Compile Include="frmControl_Table.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmDesignerLayout.Designer.vb">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile>
@@ -820,6 +826,9 @@
<DependentUpon>frmColumn_Detail.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmControl_Table.resx">
<DependentUpon>frmControl_Table.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType>
@@ -1366,10 +1375,10 @@
</PropertyGroup>
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">