From 6c4f760d5cee4ff9a67f60397ea0d393b39544ce Mon Sep 17 00:00:00 2001 From: SchreiberM Date: Wed, 25 Nov 2015 10:49:59 +0100 Subject: [PATCH] MS_25.11_1 --- .../ModuleRuntimeVariables.vb | 2 + .../frmForm_Constructor_Main_2.vb | 85 ++++++++++++++----- 2 files changed, 67 insertions(+), 20 deletions(-) diff --git a/app/DD-Record-Organiser/ModuleRuntimeVariables.vb b/app/DD-Record-Organiser/ModuleRuntimeVariables.vb index d3e76c8..ffbdda3 100644 --- a/app/DD-Record-Organiser/ModuleRuntimeVariables.vb +++ b/app/DD-Record-Organiser/ModuleRuntimeVariables.vb @@ -6,6 +6,8 @@ Public CURRENT_FORM_ID As Integer Public CURRENT_FORM_TYPE As Integer Public CURRENT_PARENTID As Integer + Public IS_SINGLE_RECORD As Boolean + Public LOAD_DIRECT As Boolean Public CURRENT_ENTITYSTRING As String = "" Public CURRENT_ENTITYSQL As String diff --git a/app/DD-Record-Organiser/frmForm_Constructor_Main_2.vb b/app/DD-Record-Organiser/frmForm_Constructor_Main_2.vb index 085d903..ebe6947 100644 --- a/app/DD-Record-Organiser/frmForm_Constructor_Main_2.vb +++ b/app/DD-Record-Organiser/frmForm_Constructor_Main_2.vb @@ -307,9 +307,15 @@ Public Class frmForm_Constructor_Main_2 CURRENT_ENTITYSQL = ClassDatabase.Execute_Scalar(CURRENT_ENTITYSQL, True) If CURRENT_ENTITYSQL = String.Empty Then CURRENT_ENTITYSQL = "SELECT T.* FROM VWTEMP_PMO_FORM" & FormId.ToString & " T" - GRID_TYPE = GridType.Grid - GridControlMain.MainView = grvwGrid - VIEW_ID = 3 + If IS_SINGLE_RECORD = True Or CURRENT_FORM_TYPE = 5 Then + + Else + GRID_TYPE = GridType.Grid + GridControlMain.MainView = grvwGrid + VIEW_ID = 3 + End If + + ' GridControlMain.MainView = grvwGrid End If End If @@ -382,7 +388,7 @@ Public Class frmForm_Constructor_Main_2 If ENTITY_LOADED = False Then Exit Sub End If - Load_Record_Data() + Show_Selected_Record_Data("Record-ID") End Sub Private Sub GridView_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles grvwGrid.FocusedRowChanged, grvwTiles.FocusedRowChanged, grvwCarousel.FocusedRowChanged @@ -393,9 +399,9 @@ Public Class frmForm_Constructor_Main_2 If ENTITY_LOADED = False Then Exit Sub End If - 'Check_Record_Changed() + Check_Record_Changed() - Load_Record_Data() + Show_Selected_Record_Data("Record-ID") Hide_Grid_Columns() 'If dataloaded = True Then @@ -531,7 +537,6 @@ Public Class frmForm_Constructor_Main_2 If parentNode IsNot Nothing Then Dim grandParentNode As TreeNode = TryCast(parentNode.Parent, TreeNode) - If grandParentNode IsNot Nothing Then ACT_EBENE = 3 End If @@ -919,8 +924,7 @@ Public Class frmForm_Constructor_Main_2 Try Me.Cursor = Cursors.WaitCursor CURRENT_RECORD_ID = 0 - Dim IS_SINGLE_RECORD As Boolean - Dim LOAD_DIRECT As Boolean + 'VerknüpfungenToolStripMenuItem.Enabled = False CURRENT_FORM_TYPE = ClassDatabase.Execute_Scalar("SELECT FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = " & CURRENT_FORM_ID) IS_SINGLE_RECORD = ClassDatabase.Execute_Scalar("SELECT SINGLE_RECORD FROM TBPMO_FORM WHERE GUID = " & CURRENT_FORM_ID) @@ -963,7 +967,6 @@ Public Class frmForm_Constructor_Main_2 'Abhängig von der Entität die Selektierungs-Daten laden Get_Grid_Sql(CONSTRUCTORID, CURRENT_FORM_ID) - Select Case ClickedLevel Case 1 PARENT_RECORDID = 0 @@ -1076,7 +1079,7 @@ Public Class frmForm_Constructor_Main_2 'Überprüfen ob windream Dos angezeigt werden sollen? Check_windream_Show(act_FormViewID) - + If windream_Docshow = True Then Clear_Windream_ResultList() @@ -1087,12 +1090,13 @@ Public Class frmForm_Constructor_Main_2 If CURRENT_FORM_TYPE = 5 Or IS_SINGLE_RECORD = True Then GET_GROUP_OR_SINGLE_RECORD() - 'ClassControlValues.LoadControlValues(CURRENT_RECORD_ID, CURRENT_FORM_ID, CtrlBuilder.AllControls) + ClassControlValues.LoadControlValues(CURRENT_RECORD_ID, CURRENT_FORM_ID, CtrlBuilder.AllControls) - Load_Record_Data() + Show_Selected_Record_Data("Record-ID") 'Hide_Grid_Columns() Else + GridControlMain.Visible = True Dim DTEntity As DataTable = ClassDatabase.Return_Datatable(CURRENT_ENTITYSQL, "LoadEntityData - Get DTEntity") @@ -1113,6 +1117,7 @@ Public Class frmForm_Constructor_Main_2 'End If 'Überprüfen ob es für diese Entität Wiedervorlagen gibt? Check_FOLLOWUP_IsConfigured(CURRENT_FORM_ID) + Load_Grid_Layout() End If @@ -1157,7 +1162,7 @@ Public Class frmForm_Constructor_Main_2 Me.Cursor = Cursors.Default - Load_Grid_Layout() + @@ -1274,9 +1279,28 @@ Public Class frmForm_Constructor_Main_2 Next End Sub + Private Sub Check_Record_Changed() + If EDIT_STATE <> EditState.None Then + Update_Status_Label(False, "") + EDIT_STATE = EditState.None + End If + If RECORD_CHANGED = True Then + Dim result As DialogResult = MessageBox.Show("Sie haben ungespeicherte Änderungen. Wollen Sie diese speichern?", "Ungespeicherte Änderungen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) + If result = Windows.Forms.DialogResult.Yes Then + If CtrlCommandUI.IsInsert = True Then + EDIT_STATE = EditState.None + Me.pnlDetails.Enabled = False + CtrlCommandUI.IsInsert = False + End If + Update_Record_OnChange() + End If + RECORD_CHANGED = False + End If + End Sub Private Function GET_GROUP_OR_SINGLE_RECORD() - Dim sqlRecord As String = "SELECT RECORD2_ID FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_PARENTID + Dim sqlRecord As String = String.Format("SELECT T.RECORD2_ID FROM TBPMO_RECORD_CONNECT T, TBPMO_RECORD T1 WHERE T.RECORD2_ID = T1.GUID AND T.RECORD1_ID = {0} and T1.FORM_ID = {1}", CURRENT_PARENTID, CURRENT_FORM_ID) + Dim recid = ClassDatabase.Execute_Scalar(sqlRecord, True) If IsNothing(recid) Then @@ -1285,6 +1309,7 @@ Public Class frmForm_Constructor_Main_2 If Not IsNothing(recid) Then 'Die neue Record-ID setzen CURRENT_RECORD_ID = recid + SELECTED_RECORD_ID = CURRENT_RECORD_ID ClassControlCommandsUI.ConnectRecord(CURRENT_PARENTID, CURRENT_RECORD_ID, "Group-Entity Link") Else Return False @@ -1295,7 +1320,7 @@ Public Class frmForm_Constructor_Main_2 Else Try CURRENT_RECORD_ID = CInt(recid) - + SELECTED_RECORD_ID = CURRENT_RECORD_ID Catch ex As Exception MsgBox("Error while getting CURRENT_RECORDID: " & vbNewLine & ex.Message, MsgBoxStyle.Critical) Return False @@ -1406,6 +1431,7 @@ Public Class frmForm_Constructor_Main_2 If DirectRecID = 0 Then If LogErrorsOnly = False Then ClassLogger.Add(">> Record wird über Datagrid focusedRow geladen", False) 'Überhaupt Columns in Grid? + If Get_Grid_Column_Count() = 0 Then Me.pnlDetails.Enabled = False Me.tsButtonShowWorkflowTasks.Enabled = False @@ -1415,17 +1441,36 @@ Public Class frmForm_Constructor_Main_2 Else Me.pnlDetails.Enabled = True End If - 'Überhaupt Rows in Grid? + ''Überhaupt Rows in Grid? If Get_Grid_Row_Count() > 0 Then Dim Grid_RecordID = Get_Focused_Row_Cell_Value(GridColumn_String) If Grid_RecordID Is Nothing = False Then - SELECTED_RECORD_ID = Grid_RecordID - CURRENT_RECORD_ID = Grid_RecordID + If CURRENT_FORM_TYPE = 5 Or IS_SINGLE_RECORD = True Then + 'PARENT RECORDS ändern + Select Case ACT_EBENE + Case 2 + PARENT_RECORDID = Grid_RecordID + EBENE1_RECID = Grid_RecordID + CURRENT_PARENTID = Grid_RecordID + Case 3 + EBENE2_RECID = Grid_RecordID + PARENT_RECORDID = Grid_RecordID + CURRENT_PARENTID = Grid_RecordID + End Select + GET_GROUP_OR_SINGLE_RECORD() + Else + SELECTED_RECORD_ID = Grid_RecordID + CURRENT_RECORD_ID = Grid_RecordID + End If + Else 'tsstatus_Detail_show(True, "Grid_RecordID konnte nicht gewählt werden!") ClassLogger.Add(">> Grid_RecordID konnte nicht gewählt werden - SelectedRecord_ShowData", True) Exit Sub + End If + 'Daten zu Record in jedem Fall laden + ClassControlValues.LoadControlValues(SELECTED_RECORD_ID, CURRENT_FORM_ID, CtrlBuilder.AllControls) End If Else 'Record wird direkt geladen @@ -1548,7 +1593,7 @@ Public Class frmForm_Constructor_Main_2 End Try End Function - Sub Load_Record_Data() + Sub Get_Selected_Record() Select Case EDIT_STATE Case EditState.None 'Ganz normalerDatensatzwechsel Wechsel