diff --git a/app/DD-Record-Organizer/ClassHelper.vb b/app/DD-Record-Organizer/ClassHelper.vb
index 55a63bc..44a6e73 100644
--- a/app/DD-Record-Organizer/ClassHelper.vb
+++ b/app/DD-Record-Organizer/ClassHelper.vb
@@ -4,13 +4,17 @@ Imports DD_LIB_Standards
Public Class ClassHelper
Public Shared Function FORMAT_WM_PATH(WMpath As String)
Try
+ Dim ochanged As Boolean = False
If WMpath.StartsWith("W:") Then
WMpath = WMpath.Replace("W:", "\\windream\Objects")
+ ochanged = True
ElseIf WMpath.StartsWith("\") Then
If WMpath.StartsWith("\\windream\Objects") = False Then
WMpath = "\\windream\Objects" & WMpath
+ ochanged = True
End If
End If
+ If LogErrorsOnly = False And ochanged = True Then ClassLogger.Add(" >> WMpath is: " & WMpath, False)
Return WMpath
Catch ex As Exception
Return WMpath
@@ -154,7 +158,7 @@ Public Class ClassHelper
Public Shared Sub File_open(RESULT_DOC_PATH As Object, DocID As String)
Try
RESULT_DOC_PATH = FORMAT_WM_PATH(RESULT_DOC_PATH)
-
+ CURRENT_OFFICE_FILE_CHANGED = False
If RESULT_DOC_PATH <> Nothing Then
If USER_GENERAL_VIEWER = "NONE" Then
Dim EXT = Path.GetExtension(RESULT_DOC_PATH)
@@ -216,19 +220,54 @@ Public Class ClassHelper
Private Shared Sub File_SYSOPEN(RESULT_DOC_PATH As Object, DocID As String)
Try
If RESULT_DOC_PATH <> Nothing Then
- If System.IO.File.Exists(RESULT_DOC_PATH) = True Then
- Process.Start(RESULT_DOC_PATH)
- Else
- If clsWD_GET.WDFile_exists(RESULT_DOC_PATH, clsDatabase.DB_PROXY_INITIALIZED, ClassProxy.MyLinkedServer, True) = False Then
- MSGBOX_Handler("ERROR", "File not found (1):", "File '" & RESULT_DOC_PATH & "' not existing or Windream-Malfunction...." & vbNewLine &
- " - Maybe You are not provided with reading rights?!" & vbNewLine &
- " - Check Your windream-drive: is W accessible? Can You navigate to the filepath?" & vbNewLine & "Please inform Your admin!")
- Else
- MSGBOX_Handler("ERROR", "File not found (2):", "File '" & RESULT_DOC_PATH & "' exists in windream BUT is not accessible!" & vbNewLine &
- " - Maybe You are not provided with reading rights?!" & vbNewLine &
- " - Check Your windream-drive: is W accessible? Can You navigate to the filepath?" & vbNewLine & "Please inform Your admin!")
+ Try
+ Dim oMyProcess = New Process()
+ Try
+ Dim oPSI As New ProcessStartInfo(RESULT_DOC_PATH)
+
+ oMyProcess.StartInfo.FileName = RESULT_DOC_PATH
+ oMyProcess.StartInfo.UseShellExecute = True
+ oMyProcess.StartInfo.RedirectStandardOutput = False
+ oMyProcess.Start()
+ oMyProcess.WaitForExit()
+ Catch ex As Exception
+ ClassLogger.Add("Error in Process1.Start(): " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
+ Exit Sub
+ End Try
+
+
+
+ Dim oExtension = Path.GetExtension(RESULT_DOC_PATH).ToLower
+ If LogErrorsOnly = False Then ClassLogger.Add($"Checking oExtension [{oExtension}]...", False)
+ If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) Then
+ Dim osql = $"SELECT Count(DocID) FROM VWPMO_DOC_SYNC WHERE DocID = {DocID}"
+ Dim oFileExists = clsDatabase.Execute_Scalar(osql, False)
+ If oFileExists = 0 Then
+ CURRENT_OFFICE_FILE_CHANGED = True
+ ClassLogger.Add("The docId of handled file changed during editing mode!- OldDocID: " & DocID, False)
+ osql = $"SELECT dwDocID FROM windream60.dbo.BaseAttributes WHERE dwVersionID = {DocID}"
+ Dim oNEW_DOC As DataTable = clsDatabase.Return_Datatable(osql, False)
+ If oNEW_DOC.Rows.Count = 1 Then
+ Dim oNEWDocID = oNEW_DOC.Rows(0).Item(0)
+ ClassLogger.Add($"New DocID is {oNEWDocID}!!", False)
+ osql = $"EXEC PRPMO_DOC_CHANGE_DOCID {DocID},{oNEWDocID},'{USER_USERNAME}'"
+ If LogErrorsOnly = False Then ClassLogger.Add(osql, False)
+ If clsDatabase.Execute_non_Query(osql, False) = False Then
+ ClassLogger.Add($"Could not relink the DocID!!", False)
+ End If
+ End If
+ End If
End If
- End If
+
+ Catch ex As Exception
+ ClassLogger.Add("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
+ Try
+ Process.Start(RESULT_DOC_PATH)
+ Catch ex1 As Exception
+ ClassLogger.Add("Error in Process.Start(1): " & ex1.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID, True)
+ End Try
+
+ End Try
End If
Catch ex As Exception
MsgBox("Unexpected Error in File_SYSOPEN:" & vbNewLine & ex.Message & vbNewLine & RESULT_DOC_PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
@@ -239,14 +278,12 @@ Public Class ClassHelper
Private Shared Sub FOLDER_OPEN(PATH As Object, DocID As String)
Try
If PATH <> Nothing Then
-
+ If LogErrorsOnly = False Then ClassLogger.Add(" >> in FOLDER_OPEN(" & PATH & ")", False)
If System.IO.Directory.Exists(PATH) = True Then
Process.Start(PATH)
Else
MsgBox("Folder '" & PATH & "' not existing or accessible!", MsgBoxStyle.Exclamation)
End If
-
-
End If
Catch ex As Exception
MsgBox("Unexpected Error in FOLDER_OPEN:" & vbNewLine & ex.Message & vbNewLine & PATH & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
diff --git a/app/DD-Record-Organizer/ClassImport_Windream.vb b/app/DD-Record-Organizer/ClassImport_Windream.vb
index 18cf853..aaf46f9 100644
--- a/app/DD-Record-Organizer/ClassImport_Windream.vb
+++ b/app/DD-Record-Organizer/ClassImport_Windream.vb
@@ -143,11 +143,11 @@ Public Class ClassImport_Windream
If Not IsDBNull(oDYNAMIC_FOLDER) Then
If oDYNAMIC_FOLDER <> String.Empty Then
If CREATE_FOLDER_INDEX(oDYNAMIC_FOLDER, DocTypeID) = True And CURRENT_VARIABLE_FOLDER <> "" Then
- If CURRENT_VARIABLE_FOLDER_OVERRIDE = True Then
- oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER
- Else
- oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_VARIABLE_FOLDER
- End If
+ 'If CURRENT_VARIABLE_FOLDER_OVERRIDE = True Then
+ ' oWMTARGET_FOLDER = CURRENT_VARIABLE_FOLDER
+ 'Else
+ oWMTARGET_FOLDER = oWMTARGET_FOLDER & "\" & CURRENT_VARIABLE_FOLDER
+ 'End If
Else
MsgBox("Unexpected Error in Creating Variable Folder - Check logfile!", MsgBoxStyle.Critical)
@@ -489,6 +489,7 @@ Public Class ClassImport_Windream
For Each element As System.Text.RegularExpressions.Match In elemente
If LogErrorsOnly = False Then ClassLogger.Add(" >> Elementname in FolderString: '" & element.ToString & "'", False)
Dim EL_SUBSTRING = element.Value.Substring(2, 1).ToUpper
+ If LogErrorsOnly = False Then ClassLogger.Add(" >> EL_SUBSTRING is: '" & EL_SUBSTRING & "'", False)
Select Case EL_SUBSTRING
'Manueller Indexwert
Case "A"
@@ -518,6 +519,7 @@ Public Class ClassImport_Windream
If IsDBNull(AUTOindexresult) Then
ClassLogger.Add(">> unexpected: AUTOindexresult is DBNULL - " & sql_command, False)
Else
+ If LogErrorsOnly = False Then ClassLogger.Add(" >> AUTOindexresult is: '" & AUTOindexresult & "'", False)
FolderConvention = FolderConvention.Replace(element.ToString, AUTOindexresult)
End If
End If
@@ -584,6 +586,7 @@ Public Class ClassImport_Windream
Dim split() As String = elmt
If split.Length = 2 Then
Dim VARTYPE = split(0)
+ If LogErrorsOnly = False Then ClassLogger.Add(" >> VARTYPE is: '" & VARTYPE & "'", False)
Select Case VARTYPE
Case "ARDoctype"
FolderConvention = FolderConvention.Replace(element.ToString, CURRENT_DOKARTSTRING)
@@ -687,6 +690,7 @@ Public Class ClassImport_Windream
ClassLogger.Add(" -Undefined pattern found in folderconvention" & vbNewLine & "Elementname: " & element.Value.ToUpper)
MsgBox("Achtung - in der Namenkonvention wurde ein Element gefunden welches nicht zugeordnet werden kann!" & vbNewLine & "Elementname: " & element.Value.ToUpper, MsgBoxStyle.Exclamation, "Unexpected error in Name generieren:")
End Select
+ If LogErrorsOnly = False Then ClassLogger.Add($" >> FolderConvention so far is: '{FolderConvention}'", False)
Next
CURRENT_VARIABLE_FOLDER = FolderConvention
Return True
diff --git a/app/DD-Record-Organizer/ClassInit.vb b/app/DD-Record-Organizer/ClassInit.vb
index e376ae0..93fc24a 100644
--- a/app/DD-Record-Organizer/ClassInit.vb
+++ b/app/DD-Record-Organizer/ClassInit.vb
@@ -125,6 +125,13 @@ Public Class ClassInit
sql = String.Format("select T.*, T1.HEADER_CAPTION,T1.TYPE_ID ,T1.ENTITY_ID,T1.LANGUAGE from TBPMO_DOCRESULT_DROPDOWN_ITEMS T, TBPMO_DOCSEARCH_RESULTLIST_CONFIG T1 WHERE T.CONFIG_ID = T1.GUID")
CURRENT_TBPMO_DOCRESULT_DROPDOWN_ITEMS = ClassDatabase.Return_Datatable(sql, True)
clsCURRENT.LOG_ERRORS_ONLY = LogErrorsOnly
+
+ sql = String.Format("select* from TBPMO_FILE_FORMATS_CHANGE")
+ Dim oDTFF_CHANGE As DataTable = ClassDatabase.Return_Datatable(sql, True)
+ For Each oRow As DataRow In oDTFF_CHANGE.Rows
+ FILE_FORMATS_CHANGE_DURING_EDIT.Add(oRow.Item("FILE_EXT"))
+ Next
+
Catch ex As Exception
MsgBox("Unexpected Error in InitBasics2:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
diff --git a/app/DD-Record-Organizer/ModuleRuntimeVariables.vb b/app/DD-Record-Organizer/ModuleRuntimeVariables.vb
index 13c7d60..e9e7f00 100644
--- a/app/DD-Record-Organizer/ModuleRuntimeVariables.vb
+++ b/app/DD-Record-Organizer/ModuleRuntimeVariables.vb
@@ -52,6 +52,7 @@
Public CURRENT_CONSTRUCTOR_DETAIL_ID As Integer
Public CURRENT_FILEID As Integer
Public CURRENT_FILENAME As String
+ Public CURRENT_OFFICE_FILE_CHANGED As Boolean = False
Public CURRENT_NEWFILENAME As String
Public CURRENT_CONTROL_DOCTYPE_MATCH As String = ""
Public CURRENT_NOTIFICATION_MSG As String
@@ -79,6 +80,7 @@
Public JUMP_RECORD_ID As Integer
Public TEMP_FILES As List(Of String) = New List(Of String)
+ Public FILE_FORMATS_CHANGE_DURING_EDIT As List(Of String) = New List(Of String)
Public LICENSE_EXPIRED As Boolean = False
Public LICENSE_COUNT As Integer = 0
diff --git a/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb b/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb
index 5acefcd..765dc0c 100644
--- a/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb
+++ b/app/DD-Record-Organizer/frmConstructor_Main.Designer.vb
@@ -389,7 +389,8 @@ Partial Class frmConstructor_Main
'
'tstxtRenameNode
'
- Me.tstxtRenameNode.BackColor = System.Drawing.SystemColors.ActiveCaption
+ Me.tstxtRenameNode.BackColor = System.Drawing.SystemColors.Control
+ Me.tstxtRenameNode.ForeColor = System.Drawing.SystemColors.ControlText
Me.tstxtRenameNode.Name = "tstxtRenameNode"
resources.ApplyResources(Me.tstxtRenameNode, "tstxtRenameNode")
'
diff --git a/app/DD-Record-Organizer/frmConstructor_Main.resx b/app/DD-Record-Organizer/frmConstructor_Main.resx
index 989f0c3..d95fce8 100644
--- a/app/DD-Record-Organizer/frmConstructor_Main.resx
+++ b/app/DD-Record-Organizer/frmConstructor_Main.resx
@@ -296,7 +296,7 @@
Knoten umbenennen
- 212, 22
+ 216, 26
Knotentext:
@@ -305,7 +305,7 @@
152, 23
- 209, 6
+ 213, 6
@@ -316,7 +316,7 @@
- 212, 22
+ 216, 26
Auf dieser Ebene
@@ -331,7 +331,7 @@
- 212, 22
+ 216, 26
Unterhalb
@@ -550,7 +550,7 @@
0, 27
- 981, 210
+ 988, 210
2
@@ -693,7 +693,7 @@
0, 0
- 981, 27
+ 988, 27
1
@@ -777,7 +777,7 @@
0, 0
- 699, 374
+ 699, 381
4
@@ -807,7 +807,7 @@
0, 26
- 555, 323
+ 562, 330
5
@@ -854,10 +854,10 @@
Ansicht eingeschränkt - Klick Bearbeiten für Entsperren
- 0, 349
+ 0, 356
- 555, 25
+ 562, 25
0
@@ -884,7 +884,7 @@
0, 0
- 555, 26
+ 562, 26
0
@@ -905,7 +905,7 @@
Panel2
- 1270, 378
+ 1270, 385
1
@@ -1081,7 +1081,7 @@
1
- 1270, 405
+ 1270, 412
Detailansicht
@@ -1099,7 +1099,7 @@
0
- 1276, 436
+ 1276, 443
3
diff --git a/app/DD-Record-Organizer/frmConstructor_Main.vb b/app/DD-Record-Organizer/frmConstructor_Main.vb
index ad95159..487cde8 100644
--- a/app/DD-Record-Organizer/frmConstructor_Main.vb
+++ b/app/DD-Record-Organizer/frmConstructor_Main.vb
@@ -6814,6 +6814,7 @@ Public Class frmConstructor_Main
End If
For Each row As DataRow In ClassWindreamDocGrid.DT_RESULTFILES.Rows
ClassHelper.File_open(row.Item("DOC_PATH"), row.Item("DOC_ID"))
+ If CURRENT_OFFICE_FILE_CHANGED = True Then RUN_WDSEARCH_GRID()
Next
Else
If clsWD_GET.WDFile_exists(ClassWindreamDocGrid.SELECTED_DOC_PATH, DD_LIB_Standards.clsDatabase.DB_PROXY_INITIALIZED, ClassProxy.MyLinkedServer, True) = True Then
diff --git a/app/DD-Record-Organizer/frmWM_DoctypeConfig.resx b/app/DD-Record-Organizer/frmWM_DoctypeConfig.resx
index b5bb716..d63f742 100644
--- a/app/DD-Record-Organizer/frmWM_DoctypeConfig.resx
+++ b/app/DD-Record-Organizer/frmWM_DoctypeConfig.resx
@@ -2025,7 +2025,7 @@
0, 27
- 305, 225
+ 305, 222
2
@@ -2213,7 +2213,7 @@
0, 0
- 1265, 27
+ 1261, 27
1
@@ -2234,7 +2234,7 @@
22
- 1265, 252
+ 1261, 249
Automatische Indexe
@@ -2270,7 +2270,7 @@
0, 27
- 305, 225
+ 305, 222
3
@@ -2458,7 +2458,7 @@
0, 0
- 1265, 27
+ 1261, 27
2
@@ -2479,7 +2479,7 @@
1
- 1265, 252
+ 1261, 249
Manuelle Indexe
@@ -2817,7 +2817,7 @@
0, 0
- 1265, 27
+ 1261, 27
2
@@ -2838,7 +2838,7 @@
5
- 1265, 252
+ 1261, 249
Zurodnung Dokumentart - Entität
@@ -3273,7 +3273,7 @@
6
- 1265, 252
+ 1261, 249
Variabler Ordnerpfad
diff --git a/app/DD-Record-Organizer/frmWM_DoctypeConfig.vb b/app/DD-Record-Organizer/frmWM_DoctypeConfig.vb
index 100dddd..14065a3 100644
--- a/app/DD-Record-Organizer/frmWM_DoctypeConfig.vb
+++ b/app/DD-Record-Organizer/frmWM_DoctypeConfig.vb
@@ -280,12 +280,12 @@ Public Class frmWM_DoctypeConfig
Exit Sub
End Try
Try
- Dim sql = String.Format("SELECT [CONTROL_ID] , [CONTROL_COL_NAME]AS DISPLAY FROM [VWPMO_CONTROL_SCREEN] " & _
- "WHERE CTRLTYPE_ID in (2,3,4) and FORM_ID = {0} UNION ALL " & _
- "SELECT [CONTROL_ID] , [CTRLSCR_CAPTION] AS DISPLAY FROM [VWPMO_CONTROL_SCREEN] " & _
- "WHERE CTRLTYPE_ID = 1 AND [CONTROL_SQLCOMMAND_1] <> '' and FORM_ID = {0} UNION ALL " & _
- "SELECT '999', 'Doctype' AS DISPLAY " & _
- "ORDER BY DISPLAY", GUIDTextBox.Text)
+ Dim sql = String.Format("SELECT [CONTROL_ID] , [CONTROL_COL_NAME]AS DISPLAY FROM [VWPMO_CONTROL_SCREEN] " &
+ "WHERE CTRLTYPE_ID in (2,3,4) and FORM_VIEW_ID = {0} UNION ALL " &
+ "SELECT [CONTROL_ID] , [CTRLSCR_CAPTION] AS DISPLAY FROM [VWPMO_CONTROL_SCREEN] " &
+ "WHERE CTRLTYPE_ID = 1 AND [CONTROL_SQLCOMMAND_1] <> '' and FORM_VIEW_ID = {0} UNION ALL " &
+ "SELECT '999', 'Doctype' AS DISPLAY " &
+ "ORDER BY DISPLAY", cmbFormViewVariablePath.SelectedValue)
Dim DT1 As DataTable = ClassDatabase.Return_Datatable(sql)
If DT1.Rows.Count >= 1 Then
cmbIndex_Controls.DataSource = DT1