From 9312c1244bfadc98fca24d3c7a46c726563e9f2d Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 22 Dec 2025 14:13:50 +0100 Subject: [PATCH] 2.7.6.0 Indexierung Vektorfelder bei finalen INDexen --- app/TaskFlow/ControlCreator/GridControl.vb | 12 +- app/TaskFlow/My Project/AssemblyInfo.vb | 2 +- app/TaskFlow/frmMain.Designer.vb | 2 + app/TaskFlow/frmMain.resx | 167 +++++++------- app/TaskFlow/frmValidator.Designer.vb | 8 +- app/TaskFlow/frmValidator.resx | 141 ++++-------- app/TaskFlow/frmValidator.vb | 248 +++++++++++++-------- 7 files changed, 307 insertions(+), 273 deletions(-) diff --git a/app/TaskFlow/ControlCreator/GridControl.vb b/app/TaskFlow/ControlCreator/GridControl.vb index 86c1221..b347739 100644 --- a/app/TaskFlow/ControlCreator/GridControl.vb +++ b/app/TaskFlow/ControlCreator/GridControl.vb @@ -155,9 +155,6 @@ Namespace ControlCreator End Sub Public Sub ConfigureViewColumns(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl, pcurrencySymbol As String) Dim oShouldDisplayFooter As Boolean = False - - - For Each oCol As GridColumn In pGridView.Columns Dim oColumnData As DataRow = pColumnTable. Select($"SPALTENNAME = '{oCol.FieldName}'"). @@ -227,6 +224,13 @@ Namespace ControlCreator Next pGridView.OptionsView.ShowFooter = oShouldDisplayFooter + + If oShouldDisplayFooter Then + With pGridView.Appearance.FooterPanel + .Options.UseFont = True + .Font = New Font(.Font.FontFamily, 8.0F, FontStyle.Bold) + End With + End If End Sub Public Sub ConfigureViewColumnsCurrency(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl, pCurrency As String) @@ -240,7 +244,6 @@ Namespace ControlCreator riTextEdit.UseMaskAsDisplayFormat = True 'Optional pGrid.RepositoryItems.Add(riTextEdit) - For Each oCol As GridColumn In pGridView.Columns Dim oColumnData As DataRow = pColumnTable. Select($"SPALTENNAME = '{oCol.FieldName}'"). @@ -257,7 +260,6 @@ Namespace ControlCreator oCol.DisplayFormat.FormatType = FormatType.Custom oCol.ColumnEdit = riTextEdit End Select - Next End Sub Public Sub ConfigureViewEvents(pColumnTable As DataTable, pGridView As GridView, pControl As Windows.Forms.Control, pControlId As Integer) diff --git a/app/TaskFlow/My Project/AssemblyInfo.vb b/app/TaskFlow/My Project/AssemblyInfo.vb index 92aaabc..eaca602 100644 --- a/app/TaskFlow/My Project/AssemblyInfo.vb +++ b/app/TaskFlow/My Project/AssemblyInfo.vb @@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/app/TaskFlow/frmMain.Designer.vb b/app/TaskFlow/frmMain.Designer.vb index b253692..a29306b 100644 --- a/app/TaskFlow/frmMain.Designer.vb +++ b/app/TaskFlow/frmMain.Designer.vb @@ -264,6 +264,8 @@ Partial Class frmMain ' Me.GridViewWorkflows.Appearance.EvenRow.BackColor = System.Drawing.Color.Azure Me.GridViewWorkflows.Appearance.EvenRow.Options.UseBackColor = True + Me.GridViewWorkflows.Appearance.FooterPanel.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.FooterPanel.Font"), System.Drawing.Font) + Me.GridViewWorkflows.Appearance.FooterPanel.Options.UseFont = True Me.GridViewWorkflows.Appearance.ViewCaption.Font = CType(resources.GetObject("GridViewWorkflows.Appearance.ViewCaption.Font"), System.Drawing.Font) Me.GridViewWorkflows.Appearance.ViewCaption.ForeColor = System.Drawing.Color.Black Me.GridViewWorkflows.Appearance.ViewCaption.Options.UseFont = True diff --git a/app/TaskFlow/frmMain.resx b/app/TaskFlow/frmMain.resx index a9a6a92..95fed6a 100644 --- a/app/TaskFlow/frmMain.resx +++ b/app/TaskFlow/frmMain.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAAXABCwFwAQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAXgBCwF4AQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -180,6 +180,9 @@ 233, 24 + + Microsoft Sans Serif, 8.25pt + Segoe UI, 12pt @@ -1493,36 +1496,9 @@ 0, 0 - - Allgemein - - - Auswertungen - - - Verwaltung - - - Grundeinstellungen - - - Workflow - - - Funktionen/App Start - - - Ad Hoc Workflows - Start - - Funktionen - - - Workflow Tabelle - Tabelle @@ -1580,24 +1556,6 @@ 0 - - True - - - Tahoma, 9.75pt, style=Bold - - - 3, 3 - - - 127, 16 - - - 0 - - - Choose a profile ... - lblCaptionMainGrid @@ -1689,12 +1647,6 @@ 863, 17 - - 219, 26 - - - Starte Validierung für Profil - 220, 30 @@ -1877,6 +1829,69 @@ 2 + + Allgemein + + + Auswertungen + + + Verwaltung + + + Grundeinstellungen + + + Workflow + + + Funktionen/App Start + + + Ad Hoc Workflows + + + Funktionen + + + Workflow Tabelle + + + True + + + Tahoma, 9.75pt, style=Bold + + + 3, 3 + + + 127, 16 + + + 0 + + + Choose a profile ... + + + lblCaptionMainGrid + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Panel2 + + + 0 + + + 219, 26 + + + Starte Validierung für Profil + 17, 56 @@ -1886,27 +1901,6 @@ 250, 56 - - 290, 30 - - - Popup Erinnerung deaktivieren - - - 287, 6 - - - 290, 30 - - - In den Vordergrund - - - 290, 30 - - - Out of Range - Fenster wiederherstellen - 291, 100 @@ -2002,6 +1996,27 @@ True + + 290, 30 + + + Popup Erinnerung deaktivieren + + + 287, 6 + + + 290, 30 + + + In den Vordergrund + + + 290, 30 + + + Out of Range - Fenster wiederherstellen + 605, 17 @@ -3429,6 +3444,9 @@ &Ansicht + + &Hintergrund + &Seiten Layout @@ -3441,9 +3459,6 @@ Bars - - &Hintergrund - PDF Dokument diff --git a/app/TaskFlow/frmValidator.Designer.vb b/app/TaskFlow/frmValidator.Designer.vb index 72f9431..5115cea 100644 --- a/app/TaskFlow/frmValidator.Designer.vb +++ b/app/TaskFlow/frmValidator.Designer.vb @@ -152,7 +152,7 @@ Partial Class frmValidator ' Me.SplitContainerButtons.Panel2.Controls.Add(Me.btnSave) resources.ApplyResources(Me.SplitContainerButtons.Panel2, "SplitContainerButtons.Panel2") - Me.SplitContainerButtons.SplitterPosition = 389 + Me.SplitContainerButtons.SplitterPosition = 303 ' 'SplitContainerReject_NotResp ' @@ -167,7 +167,7 @@ Partial Class frmValidator 'SplitContainerReject_NotResp.Panel2 ' Me.SplitContainerReject_NotResp.Panel2.Controls.Add(Me.btnNotResponsible) - Me.SplitContainerReject_NotResp.SplitterPosition = 197 + Me.SplitContainerReject_NotResp.SplitterPosition = 153 ' 'btnReject ' @@ -258,9 +258,11 @@ Partial Class frmValidator ' 'DocumentViewer1 ' + Me.DocumentViewer1.BackColor = System.Drawing.SystemColors.ControlLightLight resources.ApplyResources(Me.DocumentViewer1, "DocumentViewer1") Me.DocumentViewer1.FileLoaded = False Me.DocumentViewer1.Name = "DocumentViewer1" + Me.DocumentViewer1.Viewer_ForceTemporaryMode = False ' 'BarManager1 ' @@ -513,11 +515,13 @@ Partial Class frmValidator ' 'RibbonControl1 ' + Me.RibbonControl1.EmptyAreaImageOptions.ImagePadding = New System.Windows.Forms.Padding(23, 24, 23, 24) Me.RibbonControl1.ExpandCollapseItem.Id = 0 Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem5, Me.Attmt_bbtnitmShow, Me.barbtnitmExport, Me.ToggleSwitchItemLoadonClick, Me.Attmnt_bbtnitm_LoadonClick, Me.bbtnitmInfoWorkflow, Me.bchkitmNotes, Me.BarButtonGroup1}) resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") Me.RibbonControl1.MaxItemId = 38 Me.RibbonControl1.Name = "RibbonControl1" + Me.RibbonControl1.OptionsMenuMinWidth = 257 Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemComboBox1, Me.RepositoryItemComboBox2, Me.RepositoryItemComboBox3}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] diff --git a/app/TaskFlow/frmValidator.resx b/app/TaskFlow/frmValidator.resx index b5951fa..627f63b 100644 --- a/app/TaskFlow/frmValidator.resx +++ b/app/TaskFlow/frmValidator.resx @@ -126,10 +126,7 @@ - 2, 358 - - - 4, 4, 4, 4 + 2, 289 Fill @@ -137,9 +134,6 @@ 0, 0 - - 4, 4, 4, 4 - Segoe UI, 9.75pt @@ -194,11 +188,8 @@ 0, 0 - - 4, 4, 4, 4 - - 253, 62 + 153, 50 @@ -292,11 +283,8 @@ 0, 0 - - 4, 4, 4, 4 - - 235, 62 + 140, 50 0 @@ -329,7 +317,7 @@ 1 - 500, 62 + 303, 50 46 @@ -422,11 +410,8 @@ 0, 0 - - 4, 4, 4, 4 - - 323, 62 + 335, 50 2 @@ -462,7 +447,7 @@ 1 - 835, 62 + 648, 50 45 @@ -483,10 +468,7 @@ Fill - 0, 194 - - - 4, 4, 4, 4 + 0, 158 Top, Bottom, Left, Right @@ -495,13 +477,10 @@ Segoe UI, 8.25pt - 8, 72 - - - 4, 4, 4, 4 + 6, 58 - 824, 279 + 640, 225 3 @@ -529,13 +508,10 @@ None - 8, 41 - - - 4, 4, 4, 4 + 6, 33 - 826, 32 + 641, 26 1 @@ -565,13 +541,10 @@ None - 6, 6 - - - 4, 4, 4, 4 + 5, 5 - 826, 35 + 641, 28 1 @@ -597,11 +570,8 @@ 0, 0 - - 4, 4, 4, 4 - - 839, 422 + 652, 341 25 @@ -637,10 +607,10 @@ 0, 0 - 5, 6, 5, 6 + 4, 5, 4, 5 - 668, 422 + 520, 341 0 @@ -649,7 +619,7 @@ DocumentViewer1 - DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null + DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=2.6.0.0, Culture=neutral, PublicKeyToken=null SplitContainer1.Panel2 @@ -670,13 +640,10 @@ 1 - 1512, 422 + 1176, 341 - 839 - - - 5 + 652 37 @@ -705,11 +672,8 @@ 0, 0 - - 4, 4, 4, 4 - - 1512, 0 + 1176, 0 barDockControlTop @@ -727,13 +691,10 @@ Bottom - 0, 644 - - - 4, 4, 4, 4 + 0, 521 - 1512, 0 + 1176, 0 barDockControlBottom @@ -753,11 +714,8 @@ 0, 0 - - 4, 4, 4, 4 - - 0, 644 + 0, 521 barDockControlLeft @@ -775,13 +733,10 @@ Right - 1512, 0 - - - 4, 4, 4, 4 + 1176, 0 - 0, 644 + 0, 521 barDockControlRight @@ -802,10 +757,10 @@ 82 - 9, 21 + 7, 17 - 1512, 644 + 1176, 521 Tahoma, 8.25pt, style=Bold @@ -1279,9 +1234,6 @@ 0, 0 - - 4, 4, 4, 4 - Datei @@ -1338,16 +1290,13 @@ Combo - 1512, 194 + 1176, 158 - 0, 616 - - - 4, 4, 4, 4 + 0, 499 - 1512, 28 + 1176, 22 RibbonStatusBar1 @@ -1575,7 +1524,7 @@ - 4, 5, 4, 5 + 3, 4, 3, 4 frmValidator @@ -2004,11 +1953,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s + AAAAAAAAPAEAAAAGDAAAABDDlmZmbmVuIChTdHJnK08pBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ - dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAAb + dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAb w5ZmZm5lbiBTaWUgZWluZSBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRl bUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4 E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNz @@ -2040,11 +1989,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls + AAAAAAAAPAEAAAAGDAAAABZTcGVpY2hlcm4gYWxzIChTdHJnK1MpBQgAAAAcRGV2RXhwcmVzcy5VdGls cy5Ub29sVGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50 CE1heFdpZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRl ZmF1bHRCb29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRv - b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAA + b2xUaXBJdGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAA Bg8AAAAYU3BlaWNoZXJuIGRlciBQREYtRGF0ZWkuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw SXRlbUltYWdlT3B0aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUlu ZGV4E0ltYWdlVG9UZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHBy @@ -2076,11 +2025,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s + AAAAAAAAPAEAAAAGDAAAABBEcnVja2VuIChTdHJnK1ApBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29s VGlwSXRlbQcAAAANQWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdp ZHRoEk93bmVyQWxsb3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRC b29sZWFuAwAAABNTeXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ - dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAAN + dGVtSW1hZ2VPcHRpb25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAAN RGF0ZWkgZHJ1Y2tlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMF AAAACEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERp c3RhbmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlw @@ -2112,11 +2061,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt + AAAAAAAAPAEAAAAGDAAAAAlWb3JoZXJpZ2UFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVt BwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lkdGgST3du ZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4D AAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFn - ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAiwEAAAAGDwAAABlWb3JoZXJp + ZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAABlWb3JoZXJp Z2UgU2VpdGUgYW56ZWlnZW4uBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0 aW9ucwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9U ZXh0RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRv @@ -2148,11 +2097,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H + AAAAAAAAPAEAAAAGDAAAAAhOw6RjaHN0ZQUIAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0H AAAADUFsbG93SHRtbFRleHQESWNvbgxJbWFnZU9wdGlvbnMKTGVmdEluZGVudAhNYXhXaWR0aBJPd25l ckFsbG93SHRtbFRleHQEVGV4dAQEBAAAAAEfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVhbgMA AAATU3lzdGVtLkRyYXdpbmcuSWNvbgkAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdl - T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAACLAQAAAAYPAAAAF07DpGNoc3Rl + T3B0aW9ucwIAAAAICAECAAAAAfP////8////AgAAAAoJDgAAAAAAAAA8AQAAAAYPAAAAF07DpGNoc3Rl IFNlaXRlIGFuemVpZ2VuBQsAAAAoRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbUltYWdlT3B0aW9u cwUAAAAISW1hZ2VVcmkMU3ZnSW1hZ2VTaXplCUFsaWdubWVudApJbWFnZUluZGV4E0ltYWdlVG9UZXh0 RGlzdGFuY2UBBAQAABNTeXN0ZW0uRHJhd2luZy5TaXplCQAAACZEZXZFeHByZXNzLlV0aWxzLlRvb2xU @@ -2184,11 +2133,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU + AAAAAAAAPAEAAAAGDAAAAA9GaW5kZW4gKFN0cmcrRikFCAAAABxEZXZFeHByZXNzLlV0aWxzLlRvb2xU aXBJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25zCkxlZnRJbmRlbnQITWF4V2lk dGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJlc3MuVXRpbHMuRGVmYXVsdEJv b2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0 - ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAiwEAAAAGDwAAAAtU + ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAHz/////P///wIAAAAKCQ4AAAAAAAAAPAEAAAAGDwAAAAtU ZXh0IHN1Y2hlbgULAAAAKERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMFAAAA CEltYWdlVXJpDFN2Z0ltYWdlU2l6ZQlBbGlnbm1lbnQKSW1hZ2VJbmRleBNJbWFnZVRvVGV4dERpc3Rh bmNlAQQEAAATU3lzdGVtLkRyYXdpbmcuU2l6ZQkAAAAmRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSW1h @@ -2268,11 +2217,11 @@ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA - AAAAAAAAiwEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN + AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp - b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAAIsBAAAABg8AAAApw4RuZGVybiBkZXIg + b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb index e903c34..2d0cb15 100644 --- a/app/TaskFlow/frmValidator.vb +++ b/app/TaskFlow/frmValidator.vb @@ -7,6 +7,7 @@ Imports System.Runtime.InteropServices Imports System.Text.RegularExpressions Imports System.Threading Imports DevExpress.DataAccess.Native.Sql +Imports DevExpress.DataProcessing.InMemoryDataProcessor Imports DevExpress.Utils Imports DevExpress.Utils.Automation Imports DevExpress.XtraBars @@ -28,6 +29,8 @@ Imports DigitalData.Modules.Interfaces Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.ZooFlow.Constants +Imports GdPicture.Internal.HTML.Protocol + 'Imports System.Windows.Forms.VisualStyles.VisualStyleElement 'Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox Imports WINDREAMLib @@ -2820,58 +2823,58 @@ Public Class frmValidator If DocCurrency <> String.Empty Then - If DocCurrency.ToString.Length <> 3 Then - MyValidationLogger.Info("DocCurrency-Length = 3 - Setting to EUR") - DocCurrency = "EUR" - End If - MyValidationLogger.Debug($"DocCurrency = {DocCurrency}") - For Each oControl As Control In PanelValidatorControl.Controls - Try - Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) - If TypeOf oControl Is GridControl Then - Dim oGrid As GridControl = DirectCast(oControl, GridControl) - Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) - Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone() - Dim oExpression = $"CONTROL_ID = {oControlMeta.Guid}" - DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges) - - Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE") - oCultureInfo.NumberFormat.CurrencySymbol = DocCurrency - Dim riTextEdit As RepositoryItemTextEdit = New RepositoryItemTextEdit() - riTextEdit.MaskSettings.Configure(Of MaskSettings.Numeric)(Sub(settings) - settings.MaskExpression = "c" - settings.Culture = oCultureInfo - End Sub) - riTextEdit.UseMaskAsDisplayFormat = True 'Optional - oGrid.RepositoryItems.Add(riTextEdit) - - Dim oGridView As GridView = DirectCast(oGrid.FocusedView, GridView) - For Each oCol As GridColumn In oGridView.Columns - Dim oColumnData As DataRow = oFilteredDatatable. + If DocCurrency.ToString.Length <> 3 Then + MyValidationLogger.Info("DocCurrency-Length = 3 - Setting to EUR") + DocCurrency = "EUR" + End If + MyValidationLogger.Debug($"DocCurrency = {DocCurrency}") + For Each oControl As Control In PanelValidatorControl.Controls + Try + Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) + If TypeOf oControl Is GridControl Then + Dim oGrid As GridControl = DirectCast(oControl, GridControl) + Dim oControlMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata) + Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone() + Dim oExpression = $"CONTROL_ID = {oControlMeta.Guid}" + DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges) + + Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE") + oCultureInfo.NumberFormat.CurrencySymbol = DocCurrency + Dim riTextEdit As RepositoryItemTextEdit = New RepositoryItemTextEdit() + riTextEdit.MaskSettings.Configure(Of MaskSettings.Numeric)(Sub(settings) + settings.MaskExpression = "c" + settings.Culture = oCultureInfo + End Sub) + riTextEdit.UseMaskAsDisplayFormat = True 'Optional + oGrid.RepositoryItems.Add(riTextEdit) + + Dim oGridView As GridView = DirectCast(oGrid.FocusedView, GridView) + For Each oCol As GridColumn In oGridView.Columns + Dim oColumnData As DataRow = oFilteredDatatable. Select($"SPALTENNAME = '{oCol.FieldName}'"). FirstOrDefault() - If oColumnData Is Nothing Then - Continue For - End If + If oColumnData Is Nothing Then + Continue For + End If - Dim oColumnType As String = oColumnData.Item("TYPE_COLUMN") + Dim oColumnType As String = oColumnData.Item("TYPE_COLUMN") - Select Case oColumnType - Case "CURRENCY" - Console.WriteLine("CurrencyFormatNecessary") - oCol.DisplayFormat.FormatType = FormatType.Custom - oCol.ColumnEdit = riTextEdit - End Select - Next - End If - Catch ex As Exception - MyValidationLogger.Error(ex) - End Try - Next - Else - MyValidationLogger.Warn($"DocCurrency is String.empty! ") - End If + Select Case oColumnType + Case "CURRENCY" + Console.WriteLine("CurrencyFormatNecessary") + oCol.DisplayFormat.FormatType = FormatType.Custom + oCol.ColumnEdit = riTextEdit + End Select + Next + End If + Catch ex As Exception + MyValidationLogger.Error(ex) + End Try + Next + Else + MyValidationLogger.Warn($"DocCurrency is String.empty! ") + End If Catch ex As Exception MyValidationLogger.Warn($"Unexpected error in display format Currency: " & ex.Message) @@ -3800,19 +3803,19 @@ Public Class frmValidator If oValueFromSource Is Nothing Then MyValidationLogger.Info(">> Zurückgegebener Wert des Wertes für Checkbox mit Indexname '" & oIndexName & "' ist nothing. Checking defaultvalue") MyValidationLogger.Debug(">> Zurückgegebener Wert des Wertes für Checkbox mit Indexname '" & oIndexName & "' ist nothing. Checking defaultvalue") - If oDefaultValue <> String.Empty Then - MyValidationLogger.Info($"Using Default value [{oDefaultValue}]") - MyValidationLogger.Debug($"Using Default value [{oDefaultValue}]") - myCheckBox.Checked = CBool(oDefaultValue) - Exit Select - Else - MyValidationLogger.Debug("No Default Value for Checkbox - so using false!") - myCheckBox.CheckState = CheckState.Indeterminate - End If + If oDefaultValue <> String.Empty Then + MyValidationLogger.Info($"Using Default value [{oDefaultValue}]") + MyValidationLogger.Debug($"Using Default value [{oDefaultValue}]") + myCheckBox.Checked = CBool(oDefaultValue) + Exit Select + Else + MyValidationLogger.Debug("No Default Value for Checkbox - so using false!") + myCheckBox.CheckState = CheckState.Indeterminate + End If - Else - MyValidationLogger.Debug("oValueFromSource: " & oValueFromSource.ToString) + Else + MyValidationLogger.Debug("oValueFromSource: " & oValueFromSource.ToString) If oValueFromSource.ToString = "" Then MyValidationLogger.Info(">> Versuch, default Value zu laden") If oDefaultValue <> String.Empty Then @@ -4381,6 +4384,7 @@ Public Class frmValidator MyValidationLogger.Debug("FINAL INDEXING STARTING...") For Each oFinalIndexRow As DataRow In oDTFinalIndexing.Rows Dim oValue As String = oFinalIndexRow.Item("VALUE").ToString + Dim oDTResult As DataTable Dim oFinalIndex = oFinalIndexRow.Item("INDEXNAME") MyValidationLogger.Debug($"Working on final index [{oFinalIndex}]...") Dim oContinueOnIndifferentState As Boolean = CBool(oFinalIndexRow.Item("CONTINUE_INDETERMINED")) @@ -4401,34 +4405,49 @@ Public Class frmValidator oErrorOcurred = True End If If Not IsNothing(oSQLCommand) Then - Dim oResultfromSQL As Object = DatabaseFallback.GetScalarValueWithConnection(oSQLCommand, oConnectionID) + Dim oResultfromSQL As Object = DatabaseFallback.GetDatatable(oSQLCommand, oConnectionID) If Not IsNothing(oResultfromSQL) Then - MyValidationLogger.Debug($"oResultfromSQL is [{oResultfromSQL.ToString}]") - If IsDBNull(oResultfromSQL) Then - If oContinueOnIndifferentState = False Then - errormessage = "Result from SQL is DBNull - Check the SQL and the log" - My.Settings.Save() - frmError.ShowDialog() - oErrorOcurred = True + If TypeOf oResultfromSQL Is DataTable Then + oDTResult = oResultfromSQL + If oDTResult.Rows.Count > 1 Then + oResultfromSQL = oDTResult + MyValidationLogger.Debug($"oResultfromSQL from SQL is a datatable with [{oDTResult.Rows.Count.ToString}] rows!") + ElseIf oDTResult.Rows.Count = 1 Then + oResultfromSQL = oDTResult.Rows(0).Item(0) + oValue = oResultfromSQL + MyValidationLogger.Debug($"oResultfromSQL from SQL is exactly 1 value: {oResultfromSQL.ToString}") Else - MyValidationLogger.Warn($"FinalIndexResult from SQL is DBNull - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, Continuing with next Attribute and Replacing with empty String") + MyValidationLogger.Debug("oResultfromSQL from SQL is an empty DataTable") oResultfromSQL = "" - Continue For + oValue = oResultfromSQL End If + Else + If IsDBNull(oResultfromSQL) Then + If oContinueOnIndifferentState = False Then + errormessage = "Result from SQL is DBNull - Check the SQL and the log" + My.Settings.Save() + frmError.ShowDialog() + oErrorOcurred = True + Else + MyValidationLogger.Warn($"FinalIndexResult from SQL is DBNull - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, Continuing with next Attribute and Replacing with empty String") + oResultfromSQL = "" + Continue For + End If - End If - If Len(oResultfromSQL) = 0 Then - If oContinueOnIndifferentState = False Then - errormessage = "Result from SQL is EmptyValue - Check the SQL and the log" - My.Settings.Save() - frmError.ShowDialog() - oErrorOcurred = True - Else - MyValidationLogger.Warn($"FinalIndexResult from SQL is EmptyValue - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, So continuing with next Attribute") - Continue For End If End If - oValue = oResultfromSQL + + 'If Len(oResultfromSQL) = 0 Then + ' If oContinueOnIndifferentState = False Then + ' errormessage = "Result from SQL is EmptyValue - Check the SQL and the log" + ' My.Settings.Save() + ' frmError.ShowDialog() + ' oErrorOcurred = True + ' Else + ' MyValidationLogger.Warn($"FinalIndexResult from SQL is EmptyValue - AttributeName [{oFinalIndexRow.Item("INDEXNAME")}] - oContinueOnIndifferentState = true, So continuing with next Attribute") + ' Continue For + ' End If + 'End If Else MyValidationLogger.Warn("ATTENTION: DYNAMIC VALUE IS NOTHING!") Continue For @@ -4450,17 +4469,27 @@ Public Class frmValidator If oErrorOcurred Then Exit For End If + Dim oResult As String() + If Len(oValue) > 0 And oDTResult Is Nothing Then + ReDim Preserve oResult(0) + oResult(0) = oValue + ElseIf oDTResult IsNot Nothing Then + ReDim Preserve oResult(oDTResult.Rows.Count - 1) + Dim i As Integer = 0 + For Each oRow As DataRow In oDTResult.Rows + oResult(i) = oRow.Item(0).ToString + i += 1 + Next - Dim oResult() As String - ReDim Preserve oResult(0) - oResult(0) = oValue - + End If MyValidationLogger.Debug($"oIndexType {oIndexType.ToString}") + MyValidationLogger.Debug("Now the final indexing...") If oIndexType > 4000 And oIndexType < 5000 Then - 'If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then - ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME")) - 'Hier muss nun separat as Vektorfeld indexiert werden - If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then + MyValidationLogger.Debug("...via WMIndexVectofield as its an Vektorfield") + Dim oVektorValue As Object + + 'Hier muss nun separat as Vektorfeld indexiert werden um PreventDuplicates etc abzufangen + If WMIndexVectofield(oResult, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then MyValidationLogger.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!") Else errormessage = "Error in final indexing:" & vbNewLine & idxerr_message @@ -4469,7 +4498,7 @@ Public Class frmValidator oErrorOcurred = True End If Else - MyValidationLogger.Debug("Now the final indexing...") + MyValidationLogger.Debug("...as single indexing") If oValue.ToUpper = "SQL-Command".ToUpper Then MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE) MyValidationLogger.Warn("Something went wrong while final-indexing") @@ -4486,6 +4515,7 @@ Public Class frmValidator Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME")) WMIndexVectofield(logstr, PROFIL_LOGINDEX) End If + End If Else If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then @@ -4772,7 +4802,7 @@ Public Class frmValidator Return PM_String End Function - Private Function WMIndexVectofield(input As String, NameVKTIndex As String, Optional PreventDuplicates As Boolean = False, Optional AllowAddNewValues As Boolean = True, Optional IndexBehaviour As String = "Add") + Private Function WMIndexVectofield(pValues As Object, NameVKTIndex As String, Optional PreventDuplicates As Boolean = False, Optional AllowAddNewValues As Boolean = True, Optional IndexBehaviour As String = "Add") Dim oOldValue As Object = CURRENT_WMFILE.GetVariableValue(NameVKTIndex) Dim oValueList As New List(Of Object) Dim oNewValue As Object() @@ -4784,12 +4814,44 @@ Public Class frmValidator If AllowAddNewValues Then oValueList = DirectCast(oOldValue, Object()).ToList() End If + If TypeOf pValues Is DataTable Then + MyValidationLogger.Debug("WMIndexVectofield - pValues is Datatable ...") + Dim i As Integer = 0 + For Each oRow As DataRow In pValues.Rows + oValueList.Add(oRow.Item(0).ToString) + i += 1 + Next + ElseIf TypeOf pValues Is String() Then + MyValidationLogger.Debug("WMIndexVectofield - pValues is String() ...") + For Each oStr As String In DirectCast(pValues, String()) + oValueList.Add(oStr) + Next + + Else + MyValidationLogger.Debug("WMIndexVectofield - pValues is Single String ...") + ' Add the new value + oValueList.Add(pValues) + End If + - ' Add the new value - oValueList.Add(input) Else - ' Just add input as the only value - oValueList.Add(input) + If TypeOf pValues Is DataTable Then + MyValidationLogger.Debug("WMIndexVectofield (2) - pValues is DataTable ...") + Dim i As Integer = 0 + For Each oRow As DataRow In pValues.Rows + oValueList.Add(oRow.Item(0).ToString) + i += 1 + Next + ElseIf TypeOf pValues Is String() Then + MyValidationLogger.Debug("WMIndexVectofield (2) - pValues is String() ...") + For Each oStr As String In DirectCast(pValues, String()) + oValueList.Add(oStr) + Next + Else + MyValidationLogger.Debug("WMIndexVectofield (2) - pValues is Single String ...") + ' Just add input as the only value + oValueList.Add(pValues) + End If End If If PreventDuplicates Then