Compare commits

...

6 Commits

Author SHA1 Message Date
Developer01
a88af162b5 Vor Optimierung TreeListDevexpress_FocusedNodeChanged 2026-02-24 11:24:05 +01:00
Developer01
93645962a6 Drag and Drop Outlook und NodeNavigation Testbutton entfernt 2025-12-18 16:25:09 +01:00
Developer01
5dfa7d1421 Vor Anpassung DragDrop 365 2025-12-10 08:51:47 +01:00
Developer01
784d954441 Jumpto Record 2025-12-09 11:55:44 +01:00
Developer01
a34f55702b Verbesserungen 2025-12-05 14:02:41 +01:00
Developer01
5c0120cca8 3.4.4.0 2025-10-30 18:29:35 +01:00
38 changed files with 2591 additions and 1895 deletions

View File

@@ -136,14 +136,19 @@ Public Class ClassDocGrid
For Each oRowHandle In oSelectedRows
Dim oDocId = pGridView.GetRowCellValue(oRowHandle, "DocID")
Dim oSQL = $"Select dwParentID FROM TBPMO_DOCRESULT_LIST where DocID = {oDocId}"
Dim odwParentID = MYDB_ECM.GetScalarValue(oSQL)
Dim oDisplayName = pGridView.GetRowCellValue(oRowHandle, "Displayname")
Dim oSQL = $"Select * FROM TBPMO_DOCRESULT_LIST where DocID = {oDocId}"
Dim oDTRow As DataTable = MYDB_ECM.GetDatatable(oSQL)
Dim odwParentID = oDTRow.Rows(0).Item("dwParentID")
Dim oDisplayName = oDTRow.Rows(0).Item("Display_name")
Dim oDocPath = pGridView.GetRowCellValue(oRowHandle, "FULLPATH")
Dim oObjecttype = pGridView.GetRowCellValue(oRowHandle, "OBJECTTYPE")
Dim oFilename = pGridView.GetRowCellValue(oRowHandle, "Dateiname")
Dim oInWork = pGridView.GetRowCellValue(oRowHandle, "in work?")
Dim oInWorkUser = pGridView.GetRowCellValue(oRowHandle, "in work User")
If IsNothing(oDocPath) Then
oDocPath = pGridView.GetRowCellValue(oRowHandle, "FULL_FILENAME")
End If
Dim oObjecttype = oDTRow.Rows(0).Item("Objecttype")
Dim oFilename = oDTRow.Rows(0).Item("Filename")
Dim oInWork = pGridView.GetRowCellValue(oRowHandle, "IN_WORK")
Dim oInWorkUser = pGridView.GetRowCellValue(oRowHandle, "IN_WORK_USER")
oDocuments.Add(New clsWMDoc With {
.DocId = oDocId,
.ParentID = odwParentID,
@@ -171,6 +176,9 @@ Public Class ClassDocGrid
For Each row In gridView.GetSelectedRows
Dim newRow As DataRow = DT_RESULTFILES.NewRow()
Dim oDocID = gridView.GetRowCellValue(row, "DocID")
If IsNothing(oDocID) Then
Exit Sub
End If
Dim CHeckDT As DataTable = ClassHelper.FILTER_DATATABLE(CURRENT_DT_TBPMO_DOC_RECORD_LINK, "DOC_ID = " + oDocID.ToString, "")
Try
newRow("INWORK") = False
@@ -602,8 +610,6 @@ Public Class ClassDocGrid
Public Shared Sub GVDoc_Values_FocusedRowChanged(sender As GridView, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs)
Try
ClassDocGrid.GetDocItems(sender)
Catch ex As Exception
LOGGER.Warn("Unexpected error in GVDoc_Values_FocusedRowChanged: " & ex.Message)
MsgBox("Unexpected error in GVDoc_Values_FocusedRowChanged: " & ex.Message, MsgBoxStyle.Critical)

View File

@@ -1,181 +1,299 @@
Imports System.IO
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Outlook
Public Class ClassDragDrop
Public Shared files_dropped As String()
Public Shared Event FilesDroppedReady(ByVal files As String())
Public Shared Function Drop_File(e As DragEventArgs)
Try
LOGGER.Debug("In Drop_File....")
files_dropped = Nothing
files_dropped = New String() {}
Dim Sql As String = "DELETE FROM TBPMO_FILES_USER WHERE HANDLE_TYPE <> 'SCAN' AND USER_WORK = '" & USER_USERNAME & "'"
MYDB_ECM.ExecuteNonQuery(sql)
' WICHTIG: DB-Löschung NICHT im UI-Thread erzwingen.
' => Verschiebe in aufrufenden Code per BeginInvoke/Task.Run (siehe Kommentar unten).
' MYDB_ECM?.ExecuteNonQuery(Sql)
Dim hasOutlookUnicode As Boolean = e.Data.GetDataPresent("FileGroupDescriptorW")
Dim hasOutlookAnsi As Boolean = e.Data.GetDataPresent("FileGroupDescriptor")
Dim hasOutlookContents As Boolean = e.Data.GetDataPresent("FileContents")
Dim hasChromiumMime As Boolean = e.Data.GetDataPresent("Chromium Web Custom MIME Data Format")
Dim hasFileNameW As Boolean = e.Data.GetDataPresent("FileNameW") OrElse e.Data.GetDataPresent("FileName")
Dim hasFileDrop As Boolean = e.Data.GetDataPresent(DataFormats.FileDrop)
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
LOGGER.Debug("Simple File Drop")
Dim MyFiles() As String
Dim i As Integer
' Assign the files to an array.
MyFiles = e.Data.GetData(DataFormats.FileDrop)
' Loop through the array and add the files to the list.
For i = 0 To MyFiles.Length - 1
LOGGER.Info("Simple FileDrop - File: " & MyFiles(i))
ReDim Preserve files_dropped(i)
files_dropped(i) = "@DROPFROMFSYSTEM@" & MyFiles(i)
' ListBox1.Items.Add(MyFiles(i))
Next
Return True
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
'// the first step here is to get the stbFileName
'// of the attachment and
'// build a full-path name so we can store it
'// in the temporary folder
'//
'// set up to obtain the aryFileGroupDescriptor
'// and extract the file name
Dim stmInput As IO.Stream = CType(e.Data.GetData("FileGroupDescriptor"), IO.Stream)
Dim aryFileGroupDescriptor(512) As Byte ' = new byte[512]
stmInput.Read(aryFileGroupDescriptor, 0, 512)
'// used to build the stbFileName from the aryFileGroupDescriptor block
Dim stbFileName As System.Text.StringBuilder = New System.Text.StringBuilder("")
'// this trick gets the stbFileName of the passed attached file
Dim intCnt As Integer = 76
Do While aryFileGroupDescriptor(intCnt) <> 0
stbFileName.Append(Convert.ToChar(aryFileGroupDescriptor(intCnt), System.Globalization.CultureInfo.CreateSpecificCulture("de-DE")))
intCnt += 1
Loop
stmInput.Close()
Dim anhaenge = e.Data.GetDataPresent("FileContents")
'Dim path As String = "C:\VBProjekte\Dateien"
'// put the zip file into the temp directory
Dim strOutFile As String = Path.GetTempPath() & stbFileName.ToString()
'// create the full-path name
'//
'// Second step: we have the file name.
'// Now we need to get the actual raw
'// data for the attached file and copy it to disk so we work on it.
'//
'// get the actual raw file into memory
Dim msInput As IO.MemoryStream = CType(e.Data.GetData("FileContents", True), IO.MemoryStream) 'This returns nothing for an Email
If msInput Is Nothing = False Then
LOGGER.Debug("Drag of Outlook Attachment")
'// allocate enough bytes to hold the raw date
Dim aryFileBytes(CType(msInput.Length, Int32)) As Byte
'// set starting position at first byte and read in the raw data
msInput.Position = 0
msInput.Read(aryFileBytes, 0, CType(msInput.Length, Int32))
'// create a file and save the raw zip file to it
Dim fsOutput As IO.FileStream = New IO.FileStream(strOutFile, IO.FileMode.Create) ';
fsOutput.Write(aryFileBytes, 0, aryFileBytes.Length)
fsOutput.Close() ' // close the file
Dim resultVersion = ClassHelper.Versionierung_Datei(strOutFile)
If resultVersion <> "" Then
strOutFile = resultVersion
End If
Dim finTemp As IO.FileInfo = New IO.FileInfo(strOutFile)
'// always good to make sure we actually created the file
If (finTemp.Exists = True) Then
ReDim Preserve files_dropped(0)
files_dropped(0) = "@OUTLOOK_ATTACHMENT@" & strOutFile
LOGGER.Debug("Drop an Attachment - File: " & strOutFile)
Return True
Else
LOGGER.Warn("Attachment File from Outlook could not be created")
End If
Else
LOGGER.Warn("No simple drag and drop.", True)
For Each fmt As String In e.Data.GetFormats()
' Output format name and type
LOGGER.Warn("e.Data is: " & fmt + " (" +
e.Data.GetData(fmt).ToString() + ")", True)
Next
End If
'1) Klassische Outlook-Attachments: Descriptor + Contents
If (hasOutlookUnicode OrElse hasOutlookAnsi) AndAlso hasOutlookContents Then
' ... dein bestehender Descriptor/Contents-Code ...
' Return True wenn erfolgreich
End If
If e.Data.GetDataPresent("FileGroupDescriptor") Then
Dim oApp
'2) ATTACHMENT oder komplette Mail aus Outlook/WebView2: KEIN Descriptor+Contents, ABER FileDrop vorhanden
' => zuerst FileDrop verarbeiten. Wenn leer (delayed rendering), dann Fallback über Outlook COM Selection/Inspector
If hasFileDrop AndAlso (hasChromiumMime OrElse hasFileNameW) AndAlso Not hasOutlookContents Then
LOGGER?.Debug("WebView2/Outlook Attachment or Mail: try FileDrop, skip Outlook COM initially")
Dim ok As Boolean = HandleFileDrop(e)
If ok Then Return True
' FileDrop leer -> Fallback: versuche ausgewählte Mail via Outlook COM zu speichern
LOGGER?.Warn("FileDrop vorhanden, aber leer. Fallback auf Outlook COM für komplette Mail.")
ScheduleOutlookComFallback()
Return True ' Wichtig: UI-Thread nicht blockieren; wir verarbeiten asynchron.
End If
'3) Outlook Mail (.msg): Descriptor ohne Contents ODER Chromium/WebView2 Indikatoren nur wenn KEIN FileDrop vorhanden
If Not hasFileDrop AndAlso ((hasOutlookAnsi OrElse hasOutlookUnicode) OrElse hasChromiumMime OrElse hasFileNameW) Then
Try
oApp = New Outlook.Application()
Catch ex As Exception
MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
Return False
End Try
LOGGER.Debug("Drop of msg")
'supports a drop of a Outlook message
Dim myobj As Object
For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
myobj = oApp.ActiveExplorer.Selection.Item(i)
Dim subj As String = myobj.Subject
If subj = "" Then
subj = "NO_SUBJECT"
End If
If subj.Contains("\") Then
subj = subj.Replace("\", "-")
End If
If subj.Contains("/") Then
subj = subj.Replace("/", "-")
End If
'hardcode a destination path for testing
Dim strFile As String = IO.Path.Combine(Path.GetTempPath, (subj + ".msg").Replace(":", ""))
strFile = strFile.Replace("?", "")
strFile = strFile.Replace("!", "")
strFile = strFile.Replace("%", "")
strFile = strFile.Replace("$", "")
LOGGER.Info("Drop of msg - File:" & strFile)
Dim oApp As Outlook.Application = Nothing
Try
myobj.SaveAs(strFile)
Catch ex As Exception
MsgBox("Error in Save Email2Tempfile" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Return False
oApp = New Outlook.Application()
Catch ex As System.Exception
MsgBox("Fehler beim Initialisieren der Outlook-API:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
GoTo CheckFileDrop
End Try
ReDim Preserve files_dropped(i)
files_dropped(i) = "@OUTLOOK_MESSAGE@" & strFile
Next
Return True
'Drop eines Outlook Attachments
Dim explorer = oApp.ActiveExplorer
If explorer IsNot Nothing AndAlso explorer.Selection IsNot Nothing AndAlso explorer.Selection.Count > 0 Then
LOGGER?.Debug("Drop of msg (Outlook Explorer Selection)")
For i As Integer = 1 To explorer.Selection.Count
Dim myobj As Object = explorer.Selection.Item(i)
If myobj Is Nothing Then Continue For
SaveMailItemToTemp(myobj)
Next
Return True
Else
Dim inspector = oApp.ActiveInspector
If inspector IsNot Nothing AndAlso inspector.CurrentItem IsNot Nothing Then
LOGGER?.Debug("Drop of msg (ActiveInspector.CurrentItem) Fallback")
SaveMailItemToTemp(inspector.CurrentItem)
Return True
Else
LOGGER?.Warn("Outlook: Keine Auswahl im Explorer und kein ActiveInspector.CurrentItem verfügbar.")
' Namen loggen aber zurück zum FileDrop-Fallback
If hasFileNameW Then
Dim namesObj As Object = e.Data.GetData(If(e.Data.GetDataPresent("FileNameW"), "FileNameW", "FileName"), True)
Dim names As String() = TryCast(namesObj, String())
If names Is Nothing Then
Dim nameSingle As String = TryCast(namesObj, String)
If Not String.IsNullOrWhiteSpace(nameSingle) Then
LOGGER?.Warn("Vorgeschlagener Name (ohne Inhalt): " & nameSingle)
End If
Else
LOGGER?.Warn("Vorgeschlagene Namen (ohne Inhalt): " & String.Join("; ", names))
End If
End If
GoTo CheckFileDrop
End If
End If
Catch ex As System.Exception
LOGGER?.Warn("Outlook MSG-Drop Fehler: " & ex.Message)
End Try
End If
Catch ex As Exception
CheckFileDrop:
'4) Filesystem FileDrop (klassisch ODER WebView2 delayed rendering)
If hasFileDrop Then
If HandleFileDrop(e) Then Return True
ScheduleOutlookComFallback()
Return True
End If
'5) SCAN-StringFormat
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
Dim Wert As String = TryCast(e.Data.GetData(DataFormats.StringFormat), String)
If Not String.IsNullOrEmpty(Wert) Then
Dim idx As Integer = files_dropped.Length
ReDim Preserve files_dropped(idx)
files_dropped(idx) = "@SCAN@" & Wert
Return True
End If
End If
Catch ex As System.Exception
MsgBox("Unexpected Error in Drop_File: " & ex.Message, MsgBoxStyle.Critical)
End Try
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
Dim Wert As String = CType(e.Data.GetData(DataFormats.StringFormat), Object)
Console.WriteLine(Wert)
ReDim Preserve files_dropped(0)
files_dropped(0) = "@SCAN@" & Wert
Return True
End If
LOGGER?.Warn("Drop_File: Kein extrahierbarer Inhalt. Bitte Attachment aus der Nachrichtenliste ziehen oder zunächst speichern.")
Return False
End Function
' FileDrop defensiv behandeln erst ohne, dann mit autoConvert
Private Shared Function HandleFileDrop(e As DragEventArgs) As Boolean
Try
' Versuch1: ohne AutoConvert
Dim rawObj As Object = e.Data.GetData(DataFormats.FileDrop)
Dim rawFiles As String() = TryCast(rawObj, String())
If Not (rawFiles Is Nothing OrElse rawFiles.Length = 0) Then
For Each f In rawFiles
LOGGER?.Info("FileDrop (raw) - File: " & f)
AppendDroppedFile("@DROPFROMFSYSTEM@", f)
Next
Return True
End If
' Versuch2: mit AutoConvert (delayed rendering)
Dim convObj As Object = e.Data.GetData(DataFormats.FileDrop, True)
Dim convFiles As String() = TryCast(convObj, String())
If Not (convFiles Is Nothing OrElse convFiles.Length = 0) Then
For Each f In convFiles
LOGGER?.Info("FileDrop (autoConvert) - File: " & f)
AppendDroppedFile("@DROPFROMFSYSTEM@", f)
Next
Return True
End If
LOGGER?.Warn("FileDrop vorhanden, aber keine Dateien (raw/autoConvert leer).")
Return False
Catch ex As System.Exception
LOGGER?.Warn("HandleFileDrop Fehler: " & ex.Message)
Return False
End Try
End Function
Private Shared Sub AppendDroppedFile(prefix As String, filePath As String)
Dim idx As Integer = files_dropped.Length
ReDim Preserve files_dropped(idx)
files_dropped(idx) = prefix & filePath
End Sub
Private Shared Sub SaveMailItemToTemp(ByVal mailObj As Object)
Dim subj As String = ""
Try
subj = mailObj.Subject
Catch
subj = "NO_SUBJECT"
End Try
If String.IsNullOrWhiteSpace(subj) Then subj = "NO_SUBJECT"
Dim safeName = subj.Replace("\", "-").Replace("/", "-").Replace(":", "") _
.Replace("?", "").Replace("!", "").Replace("%", "").Replace("$", "")
Dim strFile As String = IO.Path.Combine(Path.GetTempPath(), safeName & ".msg")
LOGGER?.Info("Drop of msg - File:" & strFile)
Try
mailObj.SaveAs(strFile)
AppendDroppedFile("@OUTLOOK_MESSAGE@", strFile)
Catch ex As System.Exception
MsgBox("Error in Save Email2Tempfile" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Private Shared Sub ScheduleOutlookComFallback()
Try
Dim t As New Threading.Thread(
Sub()
Try
Threading.Thread.Sleep(200)
Dim maxRetries As Integer = 10
Dim saved As Boolean = False
For attempt As Integer = 1 To maxRetries
If TrySaveSelectedMailViaOutlook() Then
LOGGER?.Info("Outlook COM Fallback: Mail gespeichert. Versuch " & attempt)
saved = True
Exit For
End If
LOGGER?.Debug("Outlook COM Fallback: Keine Auswahl, Retry " & attempt)
Threading.Thread.Sleep(200)
Next
If saved Then
' UI-Thread benachrichtigen
Dim uiForm = If(System.Windows.Forms.Application.OpenForms.Count > 0, System.Windows.Forms.Application.OpenForms(0), Nothing)
If uiForm IsNot Nothing Then
uiForm.BeginInvoke(
Sub()
Try
RaiseEvent FilesDroppedReady(files_dropped)
Catch ex2 As System.Exception
LOGGER?.Warn("FilesDroppedReady Invoke Fehler: " & ex2.Message)
End Try
End Sub)
Else
' Falls kein Form verfügbar, zumindest Event auslösen (Listener müssen ggf. selbst marshalen)
RaiseEvent FilesDroppedReady(files_dropped)
End If
Else
LOGGER?.Warn("Outlook COM Fallback: Nach Retries keine Mail gespeichert.")
End If
Catch ex As System.Exception
LOGGER?.Warn("Outlook COM Fallback Thread Fehler: " & ex.Message)
End Try
End Sub
)
t.IsBackground = True
t.SetApartmentState(Threading.ApartmentState.STA)
t.Start()
Catch ex As System.Exception
LOGGER?.Warn("ScheduleOutlookComFallback Fehler: " & ex.Message)
End Try
End Sub
Private Shared Function TrySaveSelectedMailViaOutlook() As Boolean
Try
Dim oApp As Outlook.Application = Nothing
Try
oApp = New Outlook.Application()
Catch ex As System.Exception
LOGGER?.Warn("Outlook COM Init fehlgeschlagen: " & ex.Message)
Return False
End Try
Dim savedAny As Boolean = False
Dim inspector = oApp.ActiveInspector
If inspector IsNot Nothing AndAlso inspector.CurrentItem IsNot Nothing Then
LOGGER?.Debug("Fallback: ActiveInspector.CurrentItem speichern")
SaveMailItemToTemp(inspector.CurrentItem)
savedAny = True
End If
If Not savedAny Then
Dim explorer = oApp.ActiveExplorer
If explorer IsNot Nothing AndAlso explorer.Selection IsNot Nothing AndAlso explorer.Selection.Count > 0 Then
LOGGER?.Debug("Fallback: Explorer.Selection speichern")
For i As Integer = 1 To explorer.Selection.Count
Dim myobj As Object = explorer.Selection.Item(i)
If myobj Is Nothing Then Continue For
SaveMailItemToTemp(myobj)
savedAny = True
Next
End If
End If
Return savedAny
Catch ex As System.Exception
LOGGER?.Warn("TrySaveSelectedMailViaOutlook Fehler: " & ex.Message)
Return False
End Try
End Function
Public Shared Sub Drag_enter(e As DragEventArgs)
Try
My.Settings.WD_INDEXDOKART_SAVE = ""
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
e.Effect = DragDropEffects.All
LOGGER.Debug("DragEnter ... SimpleFileDrop")
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... SimpleFileDrop")
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
Dim hasOutlookUnicode As Boolean = e.Data.GetDataPresent("FileGroupDescriptorW")
Dim hasOutlookAnsi As Boolean = e.Data.GetDataPresent("FileGroupDescriptor")
Dim hasOutlookDescriptor As Boolean = hasOutlookUnicode OrElse hasOutlookAnsi
Dim hasChromiumMime As Boolean = e.Data.GetDataPresent("Chromium Web Custom MIME Data Format")
Dim hasFileNameW As Boolean = e.Data.GetDataPresent("FileNameW") OrElse e.Data.GetDataPresent("FileName")
Dim hasOutlookLike As Boolean = hasOutlookDescriptor OrElse hasChromiumMime OrElse hasFileNameW
Dim hasFileDrop As Boolean = e.Data.GetDataPresent(DataFormats.FileDrop)
If hasOutlookLike Then
e.Effect = DragDropEffects.Copy
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... Attachment from Outlook")
LOGGER.Debug("DragEnter ... Attachment from Outlook")
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
'handle a message dragged from Outlook
LOGGER?.Debug("DragEnter ... Outlook/WebView2 erkannt (Descriptor/Chromium/FileNameW)")
ElseIf hasFileDrop Then
e.Effect = DragDropEffects.Copy
'frmForm_Constructor_Main_2.tslblStatusMain_show(True, "DragEnter ... OutlookMessage")
LOGGER.Debug("DragEnter ... OutlookMessage")
LOGGER?.Debug("DragEnter ... SimpleFileDrop")
Else
'otherwise, do not handle
e.Effect = DragDropEffects.Copy
'frmForm_Constructor.tslblStatusMain_show(True, "DragEnter ... Other FileFormat")
LOGGER.Debug("DragEnter ... Other FileFormat")
e.Effect = DragDropEffects.None
LOGGER?.Debug("DragEnter ... Other FileFormat")
End If
Catch ex As Exception
LOGGER?.Debug("DragEnter Formats: " & String.Join(", ", e.Data.GetFormats()))
Catch ex As System.Exception
End Try
End Sub
End Class

View File

@@ -232,22 +232,6 @@ Public Class ClassHelper
LOGGER.Warn("Error in Open_Folder: " & ex.Message & vbNewLine & " - Path: " & RESULT_DOC_PATH & " - DocID: " & DocID)
End Try
End Sub
Public Shared Sub OPEN_DOCVIEW(Doc_Path As String, DocID As Integer)
Try
Dim DocView
DocView = Nothing
DocView = CreateObject("WMPViewXNG.Viewer")
' open the viewer
Dim viewer_string = Doc_Path.Substring(2)
DocView.ViewFile(viewer_string)
CURRENT_DOCVIEW_PATH = viewer_string
CURRENT_DOCVIEW = DocView
Catch ex As Exception
MsgBox("Unexpected Error in DocView Open:" & vbNewLine & ex.Message & vbNewLine & Doc_Path & vbNewLine & "DocID: " & DocID, MsgBoxStyle.Critical)
LOGGER.Warn("Error in DocView Open: " & ex.Message & vbNewLine & " - Path: " & Doc_Path & " - DocID: " & DocID)
File_SYSOPEN(Doc_Path, DocID, 0)
End Try
End Sub
Private Shared Sub File_SYSOPEN(RESULT_DOC_PATH As Object, DocID As String, pParentID As Integer)
Try
If RESULT_DOC_PATH <> Nothing Then
@@ -270,51 +254,148 @@ Public Class ClassHelper
End Sub
Private Shared Sub BWFileHandler_DoWork()
Try
Dim oOverrideRunPath As String = ""
Dim oExtension As String = Path.GetExtension(BW_DocPath).ToLower()
' Prüfen, ob eine spezielle Anwendung für die Dateierweiterung definiert ist
For Each oROW As DataRow In CURRENT_TBFILE_EXTENSION_OVERRIDE.Rows
If oExtension.Replace(".", "") = oROW.Item("FILE_EXTENSION").ToString().ToLower() Then
LOGGER.Debug($"Specific file extension override for [{oExtension}] found.")
oOverrideRunPath = oROW.Item("PROCESS").ToString()
Exit For
End If
Next
Dim oMyProcess As Process = Nothing
Dim oSql As String = ""
Dim oMyProcess = New Process()
Dim oExtension
Dim oSql
Try
'Dim oPSI As New ProcessStartInfo(BW_DocPath)
oMyProcess.StartInfo.FileName = BW_DocPath
oMyProcess.StartInfo.UseShellExecute = True
oMyProcess.StartInfo.RedirectStandardOutput = False
oMyProcess.Start()
Dim ProcID = oMyProcess.GetCurrentProcess.Id
' ###### Startinfo vorbereiten ######
Dim startInfo As New ProcessStartInfo()
If oOverrideRunPath <> "" Then
startInfo.FileName = oOverrideRunPath
startInfo.Arguments = $"""{BW_DocPath}"""
LOGGER.Debug($"Opening document [{BW_DocPath}] using override application [{oOverrideRunPath}].")
Else
startInfo.FileName = BW_DocPath
LOGGER.Debug($"Opening document [{BW_DocPath}] with system default application.")
End If
startInfo.UseShellExecute = True
startInfo.RedirectStandardOutput = False
If oOverrideRunPath <> "" Then
oMyProcess = Process.Start(startInfo)
Else
oMyProcess = Process.Start(BW_DocPath)
End If
' ###### Prozess starten ######
' ID des gestarteten Prozesses holen (nicht den eigenen!)
Dim ProcID As Integer = oMyProcess.Id
LOGGER.Debug($"Started process ID {ProcID} for document [{BW_DocPath}].")
' Warten, bis der Benutzer das Dokument geschlossen hat
oMyProcess.WaitForExit()
oExtension = Path.GetExtension(BW_DocPath).ToLower
LOGGER.Debug($"Checking oExtension [{oExtension}]...")
If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) Then
oSql = $"SELECT * FROM VWOF_DOCID_HANDLE WHERE dwParentID = {BW_ParentID} and [Filename] = '{BW_Filename}'"
Dim oDTNEWDoc As DataTable = MYDB_ECM.GetDatatable(oSql)
If Not IsNothing(oDTNEWDoc) Then
If oDTNEWDoc.Rows.Count = 1 Then
Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,NEW_DOC_ID, DOC_PATH) VALUES (
{USER_GUID},'{ProcID.ToString}',{oDTNEWDoc.Rows(0).Item("dwVersionID")},{BW_DocID},{oDTNEWDoc.Rows(0).Item("NewDocID")}, '{BW_DocPath}')"
MYDB_ECM.ExecuteNonQuery(oInsert)
End If
' Nachbearbeitung, wenn Format bearbeitbar ist
oExtension = Path.GetExtension(BW_DocPath).ToLower()
LOGGER.Debug($"Checking if file extension [{oExtension}] may change during edit...")
End If
End If
If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) And oOverrideRunPath = "" Then
LOGGER.Debug("Create possible Document change in TBPMO_DOC_ID_CHANGED.")
Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,NEW_DOC_ID,DOC_PATH) VALUES (" &
$"{USER_GUID},'{ProcID}',9999,{BW_DocID},0,'{BW_DocPath}')"
MYDB_ECM.ExecuteNonQuery(oInsert)
End If
Catch ex As Exception
LOGGER.Warn("Error in Process1.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
MsgBox("Error in OpenFile: " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID, MsgBoxStyle.Exclamation)
Exit Sub
' Fehler im Prozessstart oder während des Wartens
LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
MsgBox("Error in OpenFile: " & ex.Message & vbNewLine &
"Path: " & BW_DocPath & vbNewLine & "DocID: " & BW_DocID,
MsgBoxStyle.Exclamation, "Open File Error")
End Try
Catch ex As Exception
LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' Fehler im gesamten Worker (z. B. Path nicht vorhanden)
LOGGER.Warn("General error in BWFileHandler_DoWork: " & ex.Message & vbNewLine &
" - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' Letzter Versuch: Öffne mit Standardprogramm
Try
Process.Start(BW_DocPath)
LOGGER.Debug("Fallback: Document opened with default application.")
Catch ex1 As Exception
LOGGER.Warn("Error in Process.Start(1): " & ex1.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
LOGGER.Warn("Fallback error in Process.Start(): " & ex1.Message & vbNewLine &
" - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
End Try
End Try
End Sub
'Private Shared Sub BWFileHandler_DoWork()
' Try
' Dim oOverrideRunPath As String = ""
' Dim oExtension = Path.GetExtension(BW_DocPath).ToLower
' For Each oROW As DataRow In CURRENT_TBFILE_EXTENSION_OVERRIDE.Rows
' If oExtension.Replace(".", "") = oROW.Item("FILE_EXTENSION") Then
' LOGGER.Debug($"Specific fileextension override for extension [{oExtension}] found! ")
' oOverrideRunPath = oROW.Item("PROCESS")
' End If
' Next
' Dim oMyProcess = New Process()
' Dim oSql
' Try
' '######
' Dim startInfo As New ProcessStartInfo()
' If oOverrideRunPath <> "" Then
' startInfo.FileName = oOverrideRunPath
' startInfo.Arguments = """" & BW_DocPath & """"
' startInfo.UseShellExecute = True
' startInfo.RedirectStandardOutput = False
' Else
' startInfo.FileName = BW_DocPath
' startInfo.UseShellExecute = True
' startInfo.RedirectStandardOutput = False
' End If
' '#####
' oMyProcess.Start(startInfo)
' Dim myViewerProcessID = oMyProcess.Id
' oMyProcess.WaitForExit()
' oExtension = Path.GetExtension(BW_DocPath).ToLower
' LOGGER.Debug($"Checking oExtension [{oExtension}]...")
' If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) Then
' oSql = $"SELECT * FROM VWOF_DOCID_HANDLE WHERE dwParentID = {BW_ParentID} and [Filename] = '{BW_Filename}'"
' Dim oDTNEWDoc As DataTable = MYDB_ECM.GetDatatable(oSql)
' If Not IsNothing(oDTNEWDoc) Then
' If oDTNEWDoc.Rows.Count = 1 Then
' Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,NEW_DOC_ID, DOC_PATH) VALUES (
' {USER_GUID},'{myViewerProcessID.ToString}',{oDTNEWDoc.Rows(0).Item("dwVersionID")},{BW_DocID},{oDTNEWDoc.Rows(0).Item("NewDocID")}, '{BW_DocPath}')"
' MYDB_ECM.ExecuteNonQuery(oInsert)
' End If
' End If
' End If
' Catch ex As Exception
' LOGGER.Warn("Error in Process1.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' MsgBox("Error in OpenFile: " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID, MsgBoxStyle.Exclamation)
' Exit Sub
' End Try
' Catch ex As Exception
' LOGGER.Warn("Error in Process.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' Try
' Process.Start(BW_DocPath)
' Catch ex1 As Exception
' LOGGER.Warn("Error in Process.Start(1): " & ex1.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
' End Try
' End Try
'End Sub
Private Shared Sub FOLDER_OPEN(PATH As Object, DocID As String)
Try
If PATH <> Nothing Then

View File

@@ -20,7 +20,7 @@ Public Class ClassImport_Windream
End If
'Die Datei nach windream importieren
Dim streamresult = WMMOD.NewFileStream(QuellDatei_Path, Targetpath, WMOBJECTTYPE, True)
Dim streamresult = WMMOD.NewFileStream(QuellDatei_Path, Targetpath, WMOBJECTTYPE)
If streamresult = True Then
Dim sql As String = String.Format("SELECT DocID FROM VWPMO_DOC_SYNC WHERE CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) AND FULL_FILENAME = '{0}'", CURRENT_FILEIN_WD)
CURRENT_DOC_ID = MYDB_ECM.GetScalarValue(sql)

View File

@@ -221,6 +221,11 @@ Public Class ClassInit
ElseIf oRow.Item("CAT_TITLE") = "WM_RWA2" Then
WM_RWA2 = oRow.Item("CAT_STRING")
LOGGER.Debug("WM_RWA2 = " + WM_RWA1)
ElseIf oRow.Item("CAT_TITLE") = "OF_FILESTORE_ENTITY" Then
OF_FILESTORE_ENTITY = oRow.Item("CAT_STRING")
Dim oSQL1 = String.Format("select A.GUID from TBPMO_FORM_CONSTRUCTOR A INNER JOIN TBPMO_FORM_CONSTRUCTOR_DETAIL B ON A.GUID = B.CONSTRUCT_ID WHERE B.FORM_ID = {0}", OF_FILESTORE_ENTITY)
OF_FILESTORE_CONSTRUCTOR = MYDB_ECM.GetScalarValue(oSQL1)
LOGGER.Debug(String.Format("OF_FILESTORE_ENTITY = {0}", OF_FILESTORE_ENTITY.ToString))
End If
Next
Catch ex As Exception
@@ -237,8 +242,8 @@ Public Class ClassInit
CURRENT_TBPMO_FORM_VIEW = MYDB_ECM.GetDatatable(oSql)
oSql = "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 = MYDB_ECM.GetDatatable(oSql)
'clsCURRENT.LOG_ERRORS_ONLY = DEBUG
oSql = "SELECT * FROM TBFILE_EXTENSION_OVERRIDE"
CURRENT_TBFILE_EXTENSION_OVERRIDE = MYDB_ECM.GetDatatable(oSql)
oSql = String.Format("select* from TBPMO_FILE_FORMATS_CHANGE")
Dim oDTFF_CHANGE As DataTable = MYDB_ECM.GetDatatable(oSql)
For Each oRow As DataRow In oDTFF_CHANGE.Rows
@@ -483,7 +488,7 @@ Public Class ClassInit
Dim anzahl = MYDB_ECM.GetScalarValue(oFNSQL)
LICENSES_USED = CInt(anzahl)
LOGGER.Info("NamedUser in TimeSpan#: " & anzahl.ToString)
LOGGER.Info("NamedUser via SQL_LIC_NAMED_USER in TimeSpan: " & anzahl.ToString)
LOGGER.Info("LICENSE_COUNT: " & LICENSE_COUNT.ToString)
'####

View File

@@ -57,7 +57,7 @@ Public Class ClassJumpRecord
Exit Sub
End If
JUMP_STATE = STATE_ID
JUMP_RECORD_ID = recordId
JUMP_ID = recordId
'OpenFormConstructor(constructorId, recordId)
OpenRecordView()
Catch ex As Exception

View File

@@ -13,18 +13,22 @@ Public Class ClassLicence
Dim lic As String = MYDB_ECM.GetScalarValue(sql)
If lic = "" Then
LOGGER.Info($"Achtung es gibt keine Lizenz- Prüfe SQL [{sql}]")
LICENSE_COUNT = 0
LICENSE_DATE = "1900-01-01"
LICENSE_DOSSIER_COUNT = 0
Exit Sub
End If
Dim licString = _lizenzManager.DecodeLicenseKey(lic)
LOGGER.Info("lic-String is: " & licString)
Dim split() = licString.ToString.Split("#")
If lic <> "" Then
LICENSE_COUNT = split(0)
Else
LICENSE_COUNT = 0
LOGGER.Info($"Achtung LICENSE_COUNT wird 0 - licString: [{licString}]")
End If
Dim LicDATEsplit() = split(1).ToString.Split("-")
Dim LICENSE_FILE_DATE As Date

View File

@@ -262,8 +262,15 @@ Module ModuleHelperMethods
End Sub
Public Sub OpenFormConstructor(id As Integer, NodeNav As Boolean, EntityID As Int16, Optional pRecordId As Integer = -1)
Public Sub OpenFormConstructor(id As Integer, NodeNav As Boolean, EntityID As Int16, Optional pJumpID As Integer = -1)
Try
If pJumpID <> -1 Then
' Wenn JUMP_RECORD_ID gesetzt wurde, wird zu diesem Record gesprungen
JUMP_ID = pJumpID
End If
If CURRENT_OPEN_CONSTRUCTOR_FORMS.Contains(id) Then
Dim frm1 As New frmConstructor_Main
frm1.Tag = id
@@ -275,6 +282,14 @@ Module ModuleHelperMethods
If frmCollection.Item(i).WindowState = FormWindowState.Minimized Then
frmCollection.Item(i).WindowState = FormWindowState.Normal
End If
CURRENT_CONSTRUCTOR_ID = id
CURRENT_OPEN_CONSTRUCTOR_FORMS.Add(id)
If pJumpID <> -1 Then
' Nur ausführen, wenn das Form tatsächlich JumptoNode unterstützt
If TypeOf frmCollection.Item(i) Is frmNodeNavigation Then
DirectCast(frmCollection.Item(i), frmNodeNavigation).JumptoNode()
End If
End If
Exit Sub
End If
Next i
@@ -285,7 +300,7 @@ Module ModuleHelperMethods
CURRENT_OPEN_CONSTRUCTOR_FORMS.Add(id)
If NodeNav Then
Dim frmNodeNav As New frmNodeNavigation(EntityID, CURRENT_CONSTRUCTOR_ID, pRecordId)
Dim frmNodeNav As New frmNodeNavigation(EntityID, CURRENT_CONSTRUCTOR_ID)
frmNodeNav.Tag = id
If My.Settings.EntFormsChild = True Then
Dim activeChild1 As Form = MAIN_FORM.ActiveMdiChild
@@ -295,15 +310,15 @@ Module ModuleHelperMethods
End If
If pRecordId <> -1 Then
' Wenn JUMP_RECORD_ID gesetzt wurde, wird zu diesem Record gesprungen
JUMP_RECORD_ID = pRecordId
End If
If My.Settings.EntFormsChild = True Then
frmNodeNav.MdiParent = MAIN_FORM
End If
frmNodeNav.Show()
If pJumpID <> -1 Then
frmNodeNav.JumptoNode()
End If
Else
Dim frm As New frmConstructor_Main()
frm.Tag = id
@@ -315,9 +330,9 @@ Module ModuleHelperMethods
End If
If pRecordId <> -1 Then
If pJumpID <> -1 Then
' Wenn JUMP_RECORD_ID gesetzt wurde, wird zu diesem Record gesprungen
JUMP_RECORD_ID = pRecordId
JUMP_ID = pJumpID
End If
If My.Settings.EntFormsChild = True Then
frm.MdiParent = MAIN_FORM

View File

@@ -79,6 +79,9 @@ Module ModuleMySettings
Public WM_RWA1 As String = ""
Public WM_RWA2 As String = ""
Public OF_FILESTORE_ENTITY As Integer = 0
Public OF_FILESTORE_CONSTRUCTOR As Integer = 0
Dim rowresult As String = ""
Public MYGDPICTURE_LICENSE_KEY As String = ""
Public Function LoadFileExclusion()

View File

@@ -88,7 +88,7 @@ Module ModuleRuntimeVariables
Public BOOLEAN1 As Boolean = False
Public JUMP_STATE As Integer
Public JUMP_RECORD_ID As Integer
Public JUMP_ID As Long
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)
@@ -117,6 +117,8 @@ Module ModuleRuntimeVariables
Public CURRENT_VARIABLE_CONTROLS As DataTable
Public CURRENT_TBPMO_FORM_VIEW As DataTable
Public CURRENT_TBPMO_DOCRESULT_DROPDOWN_ITEMS As DataTable
Public CURRENT_TBFILE_EXTENSION_OVERRIDE As DataTable
Public CURRENT_TBPMO_RIGHT_USER As DataTable
Public CURRENT_RECORD_ENABLED As Boolean = False

View File

@@ -33,7 +33,7 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.4.3.0")>
<Assembly: AssemblyVersion("3.6.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguageAttribute("")>

View File

@@ -1,12 +1,13 @@
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraMap.MapControl, DevExpress.XtraMap.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -33,7 +33,7 @@
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<PlatformTarget>x64</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
@@ -70,6 +70,27 @@
<PropertyGroup>
<ApplicationIcon>ORGFLOW_Icon_256x256.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Debug\</OutputPath>
<DocumentationFile>orgFLOW.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Release\</OutputPath>
<DocumentationFile>orgFLOW.xml</DocumentationFile>
<Optimize>true</Optimize>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
@@ -172,9 +193,9 @@
<Reference Include="DevExpress.XtraWizard.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DigitalData.Controls.DocumentViewer, Version=1.9.6.0, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="DigitalData.Controls.DocumentViewer, Version=2.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
<HintPath>..\..\..\..\2_DLL Projekte\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
</Reference>
<Reference Include="DigitalData.GUIs.Common">
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
@@ -230,6 +251,9 @@
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Mail">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\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>
@@ -1006,6 +1030,7 @@
</EmbeddedResource>
<EmbeddedResource Include="frmGlobalSearch.resx">
<DependentUpon>frmGlobalSearch.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmStaticListEditor.en-US.resx">
<DependentUpon>frmStaticListEditor.vb</DependentUpon>
@@ -1743,6 +1768,10 @@
</PropertyGroup>
<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'))" />
</Target>
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<!-- 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

@@ -3790,9 +3790,9 @@ Public Class frmConstructor_Main
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {ENTITY_ID}"
CURRENT_DOCSEARCH_SQL = MYDB_ECM.ExecuteNonQuery(oSQL)
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
Dim oText = $"Die Entität-weite Suche wird im Hintergrund ausgeführt und angezeigt sobald sie fertig ist."
Dim oText = $"Die Sicht-weite Suche wird im Hintergrund ausgeführt und angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-De" Then
oText = $"The entity-wide search will be started in background. The result will be displayed when ready."
oText = $"The view-wide search will be started in background. The result will be displayed when ready."
End If
MsgBox(oText, vbOKOnly, "Information")
@@ -3804,9 +3804,9 @@ Public Class frmConstructor_Main
If USER_LANGUAGE <> "de-DE" Then
CURRENT_DOCSEARCH_CAPTION = "Entity-wide search"
CURRENT_DOCSEARCH_CAPTION = "view-wide search"
Else
CURRENT_DOCSEARCH_CAPTION = "Entitätssuche"
CURRENT_DOCSEARCH_CAPTION = "Sicht-Suche"
End If
Dim myformThread = New Thread(Sub()
Using frm As New frmDocSearchResult
@@ -3886,9 +3886,9 @@ Public Class frmConstructor_Main
Else
Entitystring = selnode.Text
End If
msg = "Dateien für Entität: " & Entitystring
msg = "Dateien für Sicht: " & Entitystring
If USER_LANGUAGE <> "de-DE" Then
msg = "files for entity: " & Entitystring
msg = "files for view: " & Entitystring
End If
msg &= " (" & DT_RESULT.Rows.Count.ToString & ")"
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
@@ -3963,9 +3963,9 @@ Public Class frmConstructor_Main
Else
Entitystring = selnode.Text
End If
msg = "Keine Dateien für Entität: " & Entitystring & " gefunden"
msg = "Keine Dateien für Sicht: " & Entitystring & " gefunden"
If USER_LANGUAGE <> "de-DE" Then
msg = "No files found for entity: " & Entitystring
msg = "No files found for View: " & Entitystring
End If
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
If NODE_NAVIGATION Then
@@ -4837,7 +4837,7 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
Private Sub tsButtonShowTaskOverview_Click(sender As Object, e As EventArgs) Handles tsButtonShowTaskOverview.Click
ClassJumpRecord.JumpToRecord(2, RECORD_ID)
JUMP_RECORD_ID = 0
JUMP_ID = 0
End Sub
@@ -4978,8 +4978,8 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
Try
Dim sw As New SW("Jump_Record")
If JUMP_RECORD_ID > 0 Then
Dim sql = String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", JUMP_RECORD_ID)
If JUMP_ID > 0 Then
Dim sql = String.Format("SELECT FORM_ID FROM TBPMO_RECORD WHERE GUID = {0}", JUMP_ID)
Dim FormID = MYDB_ECM.GetScalarValue(sql)
If FormID > 0 Then
Dim n As TreeNode
@@ -4991,8 +4991,8 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
' wurde nicht zurückgesetzt, also
' wurde der record nicht gefunden
If JUMP_RECORD_ID <> 0 Then
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Jump Record: ", "Record-ID " & JUMP_RECORD_ID & " konnte nicht gefunden werden")
If JUMP_ID <> 0 Then
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Jump Record: ", "Record-ID " & JUMP_ID & " konnte nicht gefunden werden")
End If
sw.Done()
Catch ex As Exception
@@ -5010,10 +5010,10 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
'Für Grid filtern wir die Aktuelle Ansicht nach der Record-ID,
'für Carousel und Tiles markieren wir den Record
LocateRecordinGridById(JUMP_RECORD_ID)
LocateRecordinGridById(JUMP_ID)
' Jump Record-ID wieder zurücksetzen
JUMP_RECORD_ID = 0
JUMP_ID = 0
Exit Sub
End If
@@ -5026,10 +5026,10 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
'Für Grid filtern wir die Aktuelle Ansicht nach der Record-ID,
'für Carousel und Tiles markieren wir den Record
LocateRecordinGridById(JUMP_RECORD_ID)
LocateRecordinGridById(JUMP_ID)
' Jump Record-ID wieder zurücksetzen
JUMP_RECORD_ID = 0
JUMP_ID = 0
Exit For
Exit Sub
End If
@@ -5807,7 +5807,7 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
Private Sub DetailAnsichtDatensatzToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DetailAnsichtDatensatzToolStripMenuItem.Click
ClassJumpRecord.JumpToRecord(0, RECORD_ID)
JUMP_RECORD_ID = 0
JUMP_ID = 0
End Sub
Private Sub GridViewDoc_Search_RowStyle(sender As Object, e As Views.Grid.RowStyleEventArgs) Handles GridViewDoc_Search.RowStyle
If e.RowHandle = DevExpress.XtraGrid.GridControl.AutoFilterRowHandle Then
@@ -6414,7 +6414,7 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", "Error in Show_Detail_Record: ", ex.Message)
End Try
JUMP_RECORD_ID = 0
JUMP_ID = 0
End Sub
@@ -7227,7 +7227,7 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
If result = MsgBoxResult.Yes Then
ClassJumpRecord.JumpToRecord(2, RECORD_ID)
ClassWorkflow.Refresh_Workflows_Entity()
JUMP_RECORD_ID = 0
JUMP_ID = 0
End If
Else
If USER_LANGUAGE = "de-DE" Then
@@ -7245,7 +7245,7 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.EMAIL IS NOT NULL order by USERNAME")
Private Sub bbtniclearCache_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniclearCache.ItemClick
Dim result As MsgBoxResult
Dim msg = "Möchten Sie den Anwendungscache wirklich leeren?" & vbNewLine & "Die Entität wird dann automatisch neugeladen!"
Dim msg = "Möchten Sie den Anwendungscache wirklich leeren?" & vbNewLine & "Die Sicht wird dann automatisch neugeladen!"
If USER_LANGUAGE <> "de-DE" Then
msg = "Would You like to clear the applications-cache?" & vbNewLine & "All data will be loaded new!"
End If

View File

@@ -94,9 +94,9 @@ Partial Public Class frmCustomAppointment
Private Sub btnJumpToRecord_Click(sender As Object, e As EventArgs) Handles btnJumpToRecord.Click
If txtRecordID.Text.Length > 0 Then
Dim RecordId = Integer.Parse(txtRecordID.Text)
JUMP_RECORD_ID = RecordId
JUMP_ID = RecordId
Dim constructDT As DataTable = MYDB_ECM.GetDatatable("SELECT T.CONSTRUCT_ID,T.NODE_NAVIGATION, T.FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = " & JUMP_RECORD_ID)
Dim constructDT As DataTable = MYDB_ECM.GetDatatable("SELECT T.CONSTRUCT_ID,T.NODE_NAVIGATION, T.FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = " & JUMP_ID)
' TODO: FormId und ConstructId herausfinden

View File

@@ -35,14 +35,14 @@ Partial Class frmDocRecordLink
Me.bbtnitmLinkRecords = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmsaveLayout = New DevExpress.XtraBars.BarButtonItem()
Me.bbtnitmresetlayout = New DevExpress.XtraBars.BarButtonItem()
Me.bsitmSource = New DevExpress.XtraBars.BarStaticItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.Label2 = New System.Windows.Forms.Label()
Me.txtcurrSichtData = New System.Windows.Forms.TextBox()
Me.bsitmSource = New DevExpress.XtraBars.BarStaticItem()
CType(Me.dgEntityRecords, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.grvwGrid, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -156,25 +156,31 @@ Partial Class frmDocRecordLink
Me.bbtnitmresetlayout.ItemAppearance.Normal.Options.UseFont = True
Me.bbtnitmresetlayout.Name = "bbtnitmresetlayout"
'
'bsitmSource
'
Me.bsitmSource.Id = 5
Me.bsitmSource.Name = "bsitmSource"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup3, Me.RibbonPageGroup1})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmsaveLayout)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmresetlayout)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonPageGroup3
'
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtnitmLinkRecords)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
resources.ApplyResources(Me.RibbonPageGroup3, "RibbonPageGroup3")
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmsaveLayout)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtnitmresetlayout)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiInfo)
@@ -199,11 +205,6 @@ Partial Class frmDocRecordLink
Me.txtcurrSichtData.Name = "txtcurrSichtData"
Me.txtcurrSichtData.ReadOnly = True
'
'bsitmSource
'
Me.bsitmSource.Id = 5
Me.bsitmSource.Name = "bsitmSource"
'
'frmDocRecordLink
'
resources.ApplyResources(Me, "$this")

View File

@@ -374,23 +374,17 @@
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Layout</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>Start</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1155, 158</value>
<value>1155, 147</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 639</value>
<value>0, 638</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>1155, 22</value>
<value>1155, 23</value>
</data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value>
@@ -416,6 +410,12 @@
<data name="&gt;&gt;RibbonControl1.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
<value>Funktionen</value>
</data>
<data name="RibbonPageGroup1.Text" xml:space="preserve">
<value>Layout</value>
</data>
<data name="RibbonPage2.Text" xml:space="preserve">
<value>RibbonPage2</value>
</data>
@@ -1717,7 +1717,7 @@
</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Datei mit Datensatz aus Entität verknüpfen</value>
<value>Datei mit Datensatz aus Sicht verknüpfen</value>
</data>
<data name="&gt;&gt;grvwGrid.Name" xml:space="preserve">
<value>grvwGrid</value>
@@ -1749,36 +1749,36 @@
<data name="&gt;&gt;bbtnitmresetlayout.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;bsitmSource.Name" xml:space="preserve">
<value>bsitmSource</value>
</data>
<data name="&gt;&gt;bsitmSource.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPage1.Name" xml:space="preserve">
<value>RibbonPage1</value>
</data>
<data name="&gt;&gt;RibbonPage1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup1.Name" xml:space="preserve">
<value>RibbonPageGroup1</value>
</data>
<data name="&gt;&gt;RibbonPageGroup1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup3.Name" xml:space="preserve">
<value>RibbonPageGroup3</value>
</data>
<data name="&gt;&gt;RibbonPageGroup3.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup1.Name" xml:space="preserve">
<value>RibbonPageGroup1</value>
</data>
<data name="&gt;&gt;RibbonPageGroup1.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPage2.Name" xml:space="preserve">
<value>RibbonPage2</value>
</data>
<data name="&gt;&gt;RibbonPage2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPage, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;bsitmSource.Name" xml:space="preserve">
<value>bsitmSource</value>
</data>
<data name="&gt;&gt;bsitmSource.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmDocRecordLink</value>
</data>

View File

@@ -16,6 +16,9 @@ Public Class frmDocRecordLink
End Function
End Class
Private Function GET_CURRENT_ENTITY_DATA()
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
Return Nothing
End If
Dim oDatatable As DataTable = CURRENT_DT_ENTITY_RECORDS.Copy
Return oDatatable
End Function
@@ -23,6 +26,7 @@ Public Class frmDocRecordLink
Dim DT_RECORDS As DataTable
If current = True Then
DT_RECORDS = GET_CURRENT_ENTITY_DATA()
Else
DT_RECORDS = ENTITY_DATATABLE
End If
@@ -59,11 +63,11 @@ Public Class frmDocRecordLink
grvwGrid.Columns.Clear()
dgEntityRecords.DataSource = DT_RECORDS
' grvwGrid.Columns.Item("already linked").Fixed = True
grvwGrid.PopulateColumns()
dgEntityRecords.RefreshDataSource()
grvwGrid.OptionsView.ColumnAutoWidth = False
grvwGrid.Columns(0).Fixed = FixedStyle.Left
grvwGrid.BestFitColumns()
'grvwGrid.PopulateColumns()
'dgEntityRecords.RefreshDataSource()
'grvwGrid.OptionsView.ColumnAutoWidth = False
'grvwGrid.Columns(0).Fixed = FixedStyle.Left
'grvwGrid.BestFitColumns()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in format grid", ex.Message, ex.StackTrace)
@@ -80,9 +84,6 @@ Public Class frmDocRecordLink
txtFileInfo.Text = String.Format("{0} files selected for linking to record", ClassDocGrid.DT_RESULTFILES.Rows.Count)
End If
Try
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
Me.Close()
End If
If CURRENT_LINK_ENTITY_ID = 0 Then
Refresh_Grid_Data(True, Nothing)
CURRENT_LINK_ENTITY_ID = CURRENT_ENTITY_ID
@@ -257,9 +258,9 @@ Public Class frmDocRecordLink
End Sub
Private Sub btnloadData2Entity_Click(sender As Object, e As EventArgs) Handles btnloadData2Entity.Click
Dim entity As ClassEntity = DirectCast(cmbConstructorForms.SelectedItem, ClassEntity)
Me.Cursor = Cursors.WaitCursor
If cmbConstructorForms.SelectedIndex <> -1 Then
Dim entity As ClassEntity = DirectCast(cmbConstructorForms.SelectedItem, ClassEntity)
ENTITY_LOAD_ACTIVE = True
dgEntityRecords.DataSource = Nothing
grvwGrid.Columns.Clear()

View File

@@ -99,7 +99,7 @@ Public Class frmDocSearchResult
Refresh_DocID()
If SplitContainerControl1.Collapsed = False Then
Dim OFilePath = ClassHelper.FORMAT_WM_PATH(SelectedFULL_FILEPATH)
DocumentViewer1.LoadFile(OFilePath)
DocumentViewer1.LoadFile_FromPath(OFilePath)
End If
End Sub
Sub Refresh_DocID()

View File

@@ -121,12 +121,6 @@
<value>241, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="OrdnerÖffnenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 22</value>
</data>
<data name="OrdnerÖffnenToolStripMenuItem.Text" xml:space="preserve">
<value>Ordner öffnen</value>
</data>
<data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>150, 26</value>
</data>
@@ -141,10 +135,10 @@
<value>Fill</value>
</data>
<data name="GridControlRecords.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 158</value>
<value>0, 147</value>
</data>
<data name="GridControlRecords.Size" type="System.Drawing.Size, System.Drawing">
<value>908, 324</value>
<value>908, 334</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GridControlRecords.TabIndex" type="System.Int32, mscorlib">
@@ -162,8 +156,14 @@
<data name="&gt;&gt;GridControlRecords.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="OrdnerÖffnenToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 22</value>
</data>
<data name="OrdnerÖffnenToolStripMenuItem.Text" xml:space="preserve">
<value>Ordner öffnen</value>
</data>
<data name="bbtnitmdeletelink.Caption" xml:space="preserve">
<value>Ausgewählte Links löschen</value>
<value>Ausgewählte Verknüpfungen löschen</value>
</data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="bbtnitmdeletelink.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -320,16 +320,16 @@
<value>Layout</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>Doc-Links</value>
<value>Verknüpfungen</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>908, 158</value>
<value>908, 147</value>
</data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 482</value>
<value>0, 481</value>
</data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>908, 22</value>
<value>908, 23</value>
</data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value>
@@ -544,7 +544,7 @@
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Doc-Links</value>
<value>Verknüpfungen</value>
</data>
<data name="&gt;&gt;OrdnerÖffnenToolStripMenuItem.Name" xml:space="preserve">
<value>OrdnerÖffnenToolStripMenuItem</value>

View File

@@ -8,6 +8,7 @@ Imports Microsoft.Office.Interop.Outlook
Public Class frmDoc_Links
Private ENTITY_ID As Integer = 0
Private form_shown As Boolean = False
Public Property Documents As New List(Of ClassDocGrid.clsWMDoc)
Private Sub frmDoc_DocLinks_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -23,7 +24,7 @@ Public Class frmDoc_Links
' TODO: this does not work for the old form
If Documents.Count = 0 Then
Text = $"Document-Links for: NODOC-ID"
Text = $"Document-Link for: NODOC-ID"
ElseIf Documents.Count = 1 Then
Text = $"Document-Links for: {Documents.First.DocPath}"
Else
@@ -47,6 +48,7 @@ Public Class frmDoc_Links
Catch ex As System.Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDoc_DocLinks_Load", ex.Message, ex.StackTrace)
End Try
form_shown = True
End Sub
Private Function Get_Grid_Data(pDocuments As List(Of ClassDocGrid.clsWMDoc)) As DataTable
@@ -155,6 +157,9 @@ Public Class frmDoc_Links
End Sub
Sub Save_DocGrid_Layout()
If form_shown = False Then
Exit Sub
End If
Try
Dim XMLPath = Get_DocGrid_Layout_Filename()
grvwGrid.SaveLayoutToXml(XMLPath)

View File

@@ -314,7 +314,7 @@ Public Class frmEntities
Dim anz_ent = MYDB_ECM.GetScalarValue("SELECT Count(GUID) FROM TBPMO_FORM where PARENT_ID = 0 and FORM_TYPE_ID = 1")
anz_ent += 1
If anz_ent > LICENSE_DOSSIER_COUNT Then
Dim msg = String.Format("Die Anzahl an lizensierten Sichten/Akten {0} ist erreicht! Bitte kontaktieren Sie Digital Data!", LICENSE_DOSSIER_COUNT.ToString)
Dim msg = String.Format("Die Anzahl an lizensierten Sichten {0} ist erreicht! Bitte kontaktieren Sie Digital Data!", LICENSE_DOSSIER_COUNT.ToString)
If USER_LANGUAGE <> "de-DE" Then
msg = String.Format("The number of licensed views {0} was reached! Please contact Digital Data", LICENSE_DOSSIER_COUNT.ToString)
End If

View File

@@ -52,11 +52,13 @@ Partial Class frmGlobalSearch
Me.BarToggleSearchCombined = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.BarToggleSearchRecord = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.BarToggleFulltext = New DevExpress.XtraBars.BarToggleSwitchItem()
Me.bbtnitmJump2Filestore = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupRecords = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupFiles = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupExcel = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
@@ -221,9 +223,9 @@ Partial Class frmGlobalSearch
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarToggleSearchCombined, Me.BarToggleSearchRecord, Me.BarToggleFulltext})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiInfo, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItem8, Me.BarButtonItem9, Me.BarButtonItem10, Me.BarToggleSearchCombined, Me.BarToggleSearchRecord, Me.BarToggleFulltext, Me.bbtnitmJump2Filestore, Me.BarButtonItem2})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 15
Me.RibbonControl1.MaxItemId = 17
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
@@ -305,9 +307,23 @@ Partial Class frmGlobalSearch
Me.BarToggleFulltext.Id = 14
Me.BarToggleFulltext.Name = "BarToggleFulltext"
'
'bbtnitmJump2Filestore
'
resources.ApplyResources(Me.bbtnitmJump2Filestore, "bbtnitmJump2Filestore")
Me.bbtnitmJump2Filestore.Id = 15
Me.bbtnitmJump2Filestore.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitmJump2Filestore.Name = "bbtnitmJump2Filestore"
'
'BarButtonItem2
'
resources.ApplyResources(Me.BarButtonItem2, "BarButtonItem2")
Me.BarButtonItem2.Id = 16
Me.BarButtonItem2.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItem2.Name = "BarButtonItem2"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupRecords, Me.RibbonPageGroupFiles, Me.RibbonPageGroup2, Me.RibbonPageGroup3})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroupRecords, Me.RibbonPageGroupFiles, Me.RibbonPageGroupExcel, Me.RibbonPageGroup3})
Me.RibbonPage1.Name = "RibbonPage1"
resources.ApplyResources(Me.RibbonPage1, "RibbonPage1")
'
@@ -321,6 +337,7 @@ Partial Class frmGlobalSearch
'RibbonPageGroupRecords
'
Me.RibbonPageGroupRecords.AllowTextClipping = False
Me.RibbonPageGroupRecords.Enabled = False
Me.RibbonPageGroupRecords.ItemLinks.Add(Me.BarButtonItem9)
Me.RibbonPageGroupRecords.Name = "RibbonPageGroupRecords"
resources.ApplyResources(Me.RibbonPageGroupRecords, "RibbonPageGroupRecords")
@@ -328,19 +345,23 @@ Partial Class frmGlobalSearch
'RibbonPageGroupFiles
'
Me.RibbonPageGroupFiles.AllowTextClipping = False
Me.RibbonPageGroupFiles.Enabled = False
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem6)
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem7)
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem2)
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem8)
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.BarButtonItem10)
Me.RibbonPageGroupFiles.ItemLinks.Add(Me.bbtnitmJump2Filestore)
Me.RibbonPageGroupFiles.Name = "RibbonPageGroupFiles"
resources.ApplyResources(Me.RibbonPageGroupFiles, "RibbonPageGroupFiles")
'
'RibbonPageGroup2
'RibbonPageGroupExcel
'
Me.RibbonPageGroup2.AllowTextClipping = False
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem4)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
Me.RibbonPageGroupExcel.AllowTextClipping = False
Me.RibbonPageGroupExcel.Enabled = False
Me.RibbonPageGroupExcel.ItemLinks.Add(Me.BarButtonItem4)
Me.RibbonPageGroupExcel.Name = "RibbonPageGroupExcel"
resources.ApplyResources(Me.RibbonPageGroupExcel, "RibbonPageGroupExcel")
'
'RibbonPageGroup3
'
@@ -441,11 +462,13 @@ Partial Class frmGlobalSearch
Friend WithEvents BarButtonItem8 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem9 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem10 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroupExcel As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog
Friend WithEvents BarToggleSearchCombined As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents BarToggleSearchRecord As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents BarToggleFulltext As DevExpress.XtraBars.BarToggleSwitchItem
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
Friend WithEvents bbtnitmJump2Filestore As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -202,7 +202,7 @@
<value>0, 25</value>
</data>
<data name="GridViewFiles.ViewCaption" xml:space="preserve">
<value>windream-Dateien und Werte</value>
<value>Dateien</value>
</data>
<data name="GridControlFiles.Size" type="System.Drawing.Size, System.Drawing">
<value>841, 402</value>
@@ -367,13 +367,13 @@
<value>15, 74</value>
</data>
<data name="lblFT_Irregular.Size" type="System.Drawing.Size, System.Drawing">
<value>171, 13</value>
<value>194, 13</value>
</data>
<data name="lblFT_Irregular.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="lblFT_Irregular.Text" xml:space="preserve">
<value>Volltext enthält ungültige Zeichen.</value>
<value>Volltext enthält ungültige Zeichen. (".")</value>
</data>
<data name="lblFT_Irregular.Visible" type="System.Boolean, mscorlib">
<value>False</value>
@@ -608,7 +608,7 @@
</value>
</data>
<data name="BarButtonItem8.Caption" xml:space="preserve">
<value>Verknüpfungen</value>
<value>Verknüpfungen anzeigen</value>
</data>
<data name="BarButtonItem8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -662,25 +662,20 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABcEAAAC77u/
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOMCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iSW1hZ2VMb2Fk
Ij4NCiAgICA8cGF0aCBkPSJNMjcuMywxOEg3LjZMMiwyOGgxOS44YzAuNSwwLDEuMS0wLjIsMS4zLTAu
Nmw0LjktOC45QzI4LjEsMTguMiwyNy44LDE4LDI3LjMsMTh6IiBjbGFzcz0iWWVsbG93IiAvPg0KICAg
IDxnIGNsYXNzPSJzdDEiPg0KICAgICAgPHBhdGggZD0iTTIxLDEyaC0yLjJjLTAuNCwwLjUtMC43LDEt
MC44LDEuNWMtMC4yLDAuOS0xLDEuNi0yLDEuNmMwLDAsMCwwLDAsMGMtMSwwLTEuOC0wLjctMS45LTEu
NyAgICBDMTQsMTIuOSwxNCwxMi40LDE0LDEyaC00VjljMC0wLjYtMC40LTEtMS0xSDFDMC40LDgsMCw4
LjUsMCw5djE4YzAsMC4yLDAsMC4zLDAuMSwwLjRjMCwwLDAuMS0wLjEsMC4xLTAuMmw1LjUtMTAgICAg
QzYsMTYuNSw2LjcsMTYsNy41LDE2SDIydi0zQzIyLDEyLjUsMjEuNSwxMiwyMSwxMnoiIGNsYXNzPSJZ
ZWxsb3ciIC8+DQogICAgPC9nPg0KICAgIDxwYXRoIGQ9Ik0zMCw2bC02LTZ2NGMtNC40LDAtOCwzLjYt
OCw4YzAsMC40LDAsMC44LDAuMSwxLjFDMTYuNiwxMC4yLDIwLDgsMjQsOHY0TDMwLDZ6IiBjbGFzcz0i
Qmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlNpbmdsZVBhZ2VWaWV3Ij4NCiAgICA8cGF0aCBk
PSJNMjcsMEgzQzIuNCwwLDIsMC40LDIsMXYyOGMwLDAuNiwwLjQsMSwxLDFoMjRjMC42LDAsMS0wLjQs
MS0xVjFDMjgsMC40LDI3LjYsMCwyNywweiBNMjYsMjhINFYyaDIyVjI4eiIgY2xhc3M9IkJsYWNrIiAv
Pg0KICAgIDxwYXRoIGQ9Ik0yMiw4SDhWNmgxNFY4eiBNMjIsMTBIOHYyaDE0VjEweiBNMjIsMTRIOHYy
aDE0VjE0eiBNMjIsMThIOHYyaDE0VjE4eiBNMjIsMjJIOHYyaDE0VjIyeiIgY2xhc3M9IkJsdWUiIC8+
DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarToggleSearchCombined.Caption" xml:space="preserve">
@@ -692,11 +687,59 @@
<data name="BarToggleFulltext.Caption" xml:space="preserve">
<value>Nur in Volltext</value>
</data>
<data name="bbtnitmJump2Filestore.Caption" xml:space="preserve">
<value>Springe zu Filestore</value>
</data>
<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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEADAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuR3JlZW57ZmlsbDojMDM5
QzIzO30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cjwvc3R5bGU+DQogIDxnIGlkPSJTdG9yZSI+DQogICAg
PHJlY3QgeD0iMjQiIHk9IjE2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIgcng9IjAiIHJ5PSIwIiBjbGFz
cz0iUmVkIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50cz0iMTYsMjIgOCwyMiA4LDE2IDYsMTYgNiwyMiA2
LDI4IDgsMjggMTYsMjggMTgsMjggMTgsMjIgMTgsMTYgMTYsMTYgICIgY2xhc3M9IlJlZCIgLz4NCiAg
ICA8cGF0aCBkPSJNMjYsNEg2TDIsOHYydjAuNUMyLDEyLjQsMy42LDE0LDUuNSwxNFM5LDEyLjQsOSwx
MC41YzAsMS45LDEuNiwzLjUsMy41LDMuNWMxLjksMCwzLjUtMS42LDMuNS0zLjUgICBjMCwxLjksMS42
LDMuNSwzLjUsMy41czMuNS0xLjYsMy41LTMuNWMwLDEuOSwxLjYsMy41LDMuNSwzLjVzMy41LTEuNiwz
LjUtMy41VjEwVjhMMjYsNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem2.Caption" xml:space="preserve">
<value>Mit Datensatz verknüpfen</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
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABkDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAxNiAxNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGluayIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYg
MTYiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5
bGU+DQogIDxwYXRoIGQ9Ik0xMi41LDVoLTJDOS4zLDUsOC4zLDUuOSw4LjEsN0g2LjlDNi43LDUuOSw1
LjcsNSw0LjUsNWgtMkMxLjEsNSwwLDYuMSwwLDcuNVMxLjEsMTAsMi41LDEwaDIgIGMxLjIsMCwyLjIt
MC45LDIuNC0yaDEuMWMwLjIsMS4xLDEuMiwyLDIuNCwyaDJjMS40LDAsMi41LTEuMSwyLjUtMi41UzEz
LjksNSwxMi41LDV6IE00LjUsOWgtMkMxLjcsOSwxLDguMywxLDcuNSAgQzEsNi43LDEuNyw2LDIuNSw2
aDJjMC42LDAsMS4yLDAuNCwxLjQsMUgzLjVDMy4yLDcsMyw3LjIsMyw3LjVTMy4yLDgsMy41LDhoMi40
QzUuNyw4LjYsNS4xLDksNC41LDl6IE0xMi41LDloLTIgIEM5LjksOSw5LjMsOC42LDkuMSw4aDIuNEMx
MS44LDgsMTIsNy44LDEyLDcuNVMxMS44LDcsMTEuNSw3SDkuMWMwLjItMC42LDAuOC0xLDEuNC0xaDJD
MTMuMyw2LDE0LDYuNywxNCw3LjVDMTQsOC4zLDEzLjMsOSwxMi41LDkgIHoiIGNsYXNzPSJCbGFjayIg
Lz4NCjwvc3ZnPgs=
</value>
</data>
<data name="RibbonControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="RibbonPage1.Text" xml:space="preserve">
<value>Global Search</value>
<value>Globale Suche</value>
</data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1467, 158</value>
@@ -738,9 +781,9 @@
<value>Datensatz</value>
</data>
<data name="RibbonPageGroupFiles.Text" xml:space="preserve">
<value>Dateien</value>
<value>Datei(en)</value>
</data>
<data name="RibbonPageGroup2.Text" xml:space="preserve">
<data name="RibbonPageGroupExcel.Text" xml:space="preserve">
<value>Funktionen Tabelle</value>
</data>
<data name="RibbonPageGroup3.Text" xml:space="preserve">
@@ -918,6 +961,18 @@
<data name="&gt;&gt;BarToggleFulltext.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarToggleSwitchItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;bbtnitmJump2Filestore.Name" xml:space="preserve">
<value>bbtnitmJump2Filestore</value>
</data>
<data name="&gt;&gt;bbtnitmJump2Filestore.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Name" xml:space="preserve">
<value>BarButtonItem2</value>
</data>
<data name="&gt;&gt;BarButtonItem2.Type" xml:space="preserve">
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPage1.Name" xml:space="preserve">
<value>RibbonPage1</value>
</data>
@@ -942,10 +997,10 @@
<data name="&gt;&gt;RibbonPageGroupFiles.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Name" xml:space="preserve">
<value>RibbonPageGroup2</value>
<data name="&gt;&gt;RibbonPageGroupExcel.Name" xml:space="preserve">
<value>RibbonPageGroupExcel</value>
</data>
<data name="&gt;&gt;RibbonPageGroup2.Type" xml:space="preserve">
<data name="&gt;&gt;RibbonPageGroupExcel.Type" xml:space="preserve">
<value>DevExpress.XtraBars.Ribbon.RibbonPageGroup, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;RibbonPageGroup3.Name" xml:space="preserve">

View File

@@ -169,25 +169,13 @@ Public Class frmGlobalSearch
GridControlFiles.DataSource = DT_Files
tslblDocView.Text = String.Format("{0} files found", DT_Files.Rows.Count)
Try
GridViewFiles.Columns("AddedWhen").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("AddedWhen").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
GridViewFiles.Columns("ChangedWhen").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("ChangedWhen").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
GridViewFiles.Columns.Item("FULL_FILENAME").Visible = False
GridViewFiles.OptionsView.ColumnAutoWidth = False
GridViewFiles.BestFitColumns()
Catch ex As Exception
End Try
Try
GridViewFiles.Columns("ErstelltWann").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("ErstelltWann").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
GridViewFiles.Columns("GeändertWann").DisplayFormat.FormatType = FormatType.DateTime
GridViewFiles.Columns("GeändertWann").DisplayFormat.FormatString = CURRENT_DATE_FORMAT & " HH:MM:ss"
Catch ex As Exception
End Try
' FormID und RecordID immer ausblenden
' GridViewFiles.Columns.Item("FULL_FILENAME").Visible = False
GridViewFiles.OptionsView.ColumnAutoWidth = False
GridViewFiles.BestFitColumns()
Else
tslblDocView.Text = String.Format(" No files found")
GridControlFiles.DataSource = Nothing
@@ -230,7 +218,7 @@ Public Class frmGlobalSearch
Catch ex As Exception
MsgBox("Unexpected Error in Show_Detail_Record:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
JUMP_RECORD_ID = 0
JUMP_ID = 0
End Sub
Private Sub frmSearchAllOVer_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
@@ -301,6 +289,11 @@ Public Class frmGlobalSearch
End Function
Private Sub frmSearchAllOVer_Load(sender As Object, e As EventArgs) Handles Me.Load
If OF_FILESTORE_ENTITY = 0 Then
bbtnitmJump2Filestore.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtnitmJump2Filestore.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
_Helper = New ClassHelper
Load_DocGrid_Layout()
Load_RecordGrid_Layout()
@@ -373,6 +366,8 @@ Public Class frmGlobalSearch
Dim oTerm As String = txtSearch.Text
If txtSearch.Text.Contains(".") Then
lblFT_Irregular.Visible = True
Else
lblFT_Irregular.Visible = False
End If
End Sub
@@ -417,6 +412,64 @@ Public Class frmGlobalSearch
End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmJump2Filestore.ItemClick
For Each row In GridViewFiles.GetSelectedRows
Dim SELECTED_DOC_ID = GridViewFiles.GetRowCellValue(row, "DocID")
Dim oJumpToDocSQL = String.Format("DECLARE @PID BIGINT
SELECT @PID = dwParentID FROM TBPMO_DOCRESULT_LIST WHERE DocID = {0}
SELECT GUID FROM VWPMO_STRUCTURE_NODES WHERE ENTITY_ID = {1} AND ISNUMERIC(ID1) = 1 AND ID1 = @PID", SELECTED_DOC_ID, OF_FILESTORE_ENTITY)
Dim ojumpID As Integer = MYDB_ECM.GetScalarValue(oJumpToDocSQL)
If Not IsNothing(ojumpID) AndAlso ojumpID <> 0 Then
OpenFormConstructor(OF_FILESTORE_CONSTRUCTOR, 1, OF_FILESTORE_ENTITY, ojumpID)
Else
MessageBox.Show("A parent node could not be found!", "No Node found", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Exit For
Next
End Sub
Private Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
Dim Current_DocList As ClassDocGrid
Current_DocList = New ClassDocGrid(GridViewFiles)
Dim oDocuments = Current_DocList.SelectedDocuments
If oDocuments.Count = 0 Or ClassDocGrid.HasNoSelectedDocuments(GridViewFiles) Then
MsgBox("Could not read File Parameters (LinkRecord)!", MsgBoxStyle.Exclamation)
Exit Sub
End If
Refresh_Selected_Table()
Dim oForm As New frmDocRecordLink With {.myDocuments = oDocuments}
oForm.Show()
End Sub
Sub Refresh_Selected_Table()
Dim table As New DataTable With {
.TableName = "SelectedFiles"
}
' Create two columns, ID and Name.
Dim idColumn As DataColumn = table.Columns.Add("ID", GetType(System.Int32))
idColumn.AutoIncrement = True
idColumn.AutoIncrementSeed = 0
idColumn.AutoIncrementStep = 1
table.PrimaryKey = New DataColumn() {idColumn}
table.Columns.Add("FILEPATH", GetType(System.String))
table.Columns.Add("DOC_ID", GetType(System.Int32))
table.Columns.Add("OBJECTTYPE", GetType(System.String))
For Each oDoc As ClassDocGrid.clsWMDoc In ClassDocGrid.GetSelectedDocuments(GridViewFiles)
If oDoc.DocPath <> String.Empty Then
'Set the ID column as the primary key column.
Dim newRow As DataRow = table.NewRow()
newRow("FILEPATH") = oDoc.DocPath
newRow("DOC_ID") = oDoc.DocId
newRow("OBJECTTYPE") = oDoc.DocType
table.Rows.Add(newRow)
End If
Next
table.AcceptChanges()
CURRENT_DT_SELECTED_FILES = table
End Sub
Sub File_open()
Me.Cursor = Cursors.WaitCursor

View File

@@ -58,6 +58,8 @@ Public Class frmLicense
Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_PMO = '" & result & "' WHERE GUID = {0}", CLIENT_ID)
If MYDB_ECM.ExecuteNonQuery(Sql) = True Then
Refresh_Licence(True)
Else
MsgBox("Fehler bei Update der License. Überprüfe das Log!", MsgBoxStyle.Exclamation)
End If
'MsgBox("Die Lizenzen wurden erfolgreich aktualisiert!", MsgBoxStyle.Exclamation, "Erfolgsmeldung:")

View File

@@ -130,10 +130,13 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
<value>4, 4</value>
</data>
<data name="OK_Button.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 23</value>
<value>89, 28</value>
</data>
<data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -157,10 +160,13 @@
<value>None</value>
</data>
<data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 3</value>
<value>101, 4</value>
</data>
<data name="Cancel_Button.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
<value>67, 23</value>
<value>89, 28</value>
</data>
<data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@@ -181,13 +187,16 @@
<value>1</value>
</data>
<data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>277, 274</value>
<value>369, 337</value>
</data>
<data name="TableLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>146, 29</value>
<value>195, 36</value>
</data>
<data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@@ -211,10 +220,13 @@
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
<value>8, 16</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>435, 315</value>
<value>580, 388</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,7 @@ Imports DevExpress.XtraBars
Imports DevExpress.XtraBars.Ribbon
Imports DevExpress.XtraBars.Ribbon.ViewInfo
Imports DevExpress.XtraNavBar
Imports Microsoft.Office.Core
Public Class frmMain
Dim strIPAddress As String
@@ -225,7 +226,7 @@ Public Class frmMain
End Try
Dim msg = "Anzahl verbrauchte Lizenzen: " & LICENSES_USED.ToString()
If USER_LANGUAGE <> "de-DE" Then
msg = "#User logged in: " & LICENSES_USED.ToString()
msg = "#Used licenses: " & LICENSES_USED.ToString()
End If
LabelLoggedIn.Caption = msg
LOGGER.Debug(msg)
@@ -581,7 +582,8 @@ Public Class frmMain
End If
'Lizenz abgellaufen, überprüfen ob User Admin ist
If LICENSE_COUNT <= (LICENSES_USED + 1) Then
If LICENSE_COUNT <= (LICENSES_USED) Then
LOGGER.Info($"{LICENSE_COUNT} <= {LICENSES_USED}")
If USER_IS_ADMIN = True Then
LOGGER.Info("User is Admin - Timer will be started")
'If USER_LANGUAGE = "de-DE" Then
@@ -928,6 +930,7 @@ Public Class frmMain
Private Sub frmMain_MdiChildActivate(sender As Object, e As EventArgs) Handles Me.MdiChildActivate
Dim mainForm As Form = sender
Dim constructorFound = False
Dim child As Form = Me.ActiveMdiChild
For Each childForm As Form In mainForm.MdiChildren
If (childForm.Name = "frmConstructor_Main") Then
@@ -948,6 +951,7 @@ Public Class frmMain
Else
ribbonMain.Minimized = False
End If
End Sub
Private Sub ribbonMain_MouseMove(sender As Object, e As MouseEventArgs) Handles ribbonMain.MouseMove

View File

@@ -45,6 +45,8 @@ Partial Class frmNodeNavigation
Me.btnCreateNewNode = New DevExpress.XtraBars.BarButtonItem()
Me.tsitmDMSReadOnly = New DevExpress.XtraBars.BarStaticItem()
Me.bsiNotification = New DevExpress.XtraBars.BarStaticItem()
Me.bsiDocIDChanged = New DevExpress.XtraBars.BarStaticItem()
Me.RepositoryItemTextEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemTextEdit()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RPGNodes = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -71,6 +73,7 @@ Partial Class frmNodeNavigation
Me.tsmiFileLink_Add = New System.Windows.Forms.ToolStripMenuItem()
Me.tsmiFileLinkRemove = New System.Windows.Forms.ToolStripMenuItem()
Me.tsmiFileLink_ShowAll = New System.Windows.Forms.ToolStripMenuItem()
Me.TsmitmJumpToFilestore = New System.Windows.Forms.ToolStripMenuItem()
Me.LinkPerMailVersendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
Me.tsmiFileRename = New System.Windows.Forms.ToolStripMenuItem()
@@ -125,6 +128,7 @@ Partial Class frmNodeNavigation
Me.PopupMenu5 = New DevExpress.XtraBars.PopupMenu(Me.components)
Me.DD_DMSDataSet1 = New DD_Record_Organizer.DD_DMSDataSet()
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerTreeList, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerTreeList.Panel1.SuspendLayout()
@@ -162,18 +166,19 @@ Partial Class frmNodeNavigation
'ribbonNodeNavigation
'
Me.ribbonNodeNavigation.ExpandCollapseItem.Id = 0
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode, Me.tsitmDMSReadOnly, Me.bsiNotification})
Me.ribbonNodeNavigation.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.ribbonNodeNavigation.ExpandCollapseItem, Me.ribbonNodeNavigation.SearchEditItem, Me.bbtnitmRecEdit, Me.bsiInfo, Me.bbtnitmRecSave, Me.bsiDocID, Me.bsitmRecordID, Me.bbtnitmDocResultExport, Me.bbtnitmDocResultLayoutSave, Me.bbtnitmDocResultLayoutReset, Me.bbtnitmDocResultRefresh, Me.BarStaticItemLocked, Me.bsitmtInfoDoc, Me.BarButtonItem1, Me.bbtnitmReloadView, Me.BbtnitmNodeReorder, Me.bbtnItm_TV_Collape_Expand, Me.checkShowPreview, Me.btnCreateNewNode, Me.tsitmDMSReadOnly, Me.bsiNotification, Me.bsiDocIDChanged})
Me.ribbonNodeNavigation.Location = New System.Drawing.Point(0, 0)
Me.ribbonNodeNavigation.MaxItemId = 26
Me.ribbonNodeNavigation.MaxItemId = 30
Me.ribbonNodeNavigation.Name = "ribbonNodeNavigation"
Me.ribbonNodeNavigation.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.ribbonNodeNavigation.PopupMenuAlignment = DevExpress.XtraBars.PopupMenuAlignment.Left
Me.ribbonNodeNavigation.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemTextEdit1})
Me.ribbonNodeNavigation.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.[True]
Me.ribbonNodeNavigation.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.[False]
Me.ribbonNodeNavigation.ShowToolbarCustomizeItem = False
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(2215, 158)
Me.ribbonNodeNavigation.Size = New System.Drawing.Size(1151, 158)
Me.ribbonNodeNavigation.StatusBar = Me.RibbonStatusBar1
Me.ribbonNodeNavigation.Toolbar.ShowCustomizeItem = False
'
@@ -319,6 +324,20 @@ Partial Class frmNodeNavigation
Me.bsiNotification.Name = "bsiNotification"
Me.bsiNotification.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
'
'bsiDocIDChanged
'
Me.bsiDocIDChanged.Caption = "bsiDocIDChanged"
Me.bsiDocIDChanged.Id = 26
Me.bsiDocIDChanged.ItemAppearance.Normal.BackColor = System.Drawing.Color.Yellow
Me.bsiDocIDChanged.ItemAppearance.Normal.Options.UseBackColor = True
Me.bsiDocIDChanged.Name = "bsiDocIDChanged"
Me.bsiDocIDChanged.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
'
'RepositoryItemTextEdit1
'
Me.RepositoryItemTextEdit1.AutoHeight = False
Me.RepositoryItemTextEdit1.Name = "RepositoryItemTextEdit1"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RPGNodes, Me.RibbonPageGroupRecord, Me.RibbonPageGroupDocResult})
@@ -350,6 +369,7 @@ Partial Class frmNodeNavigation
'
'RibbonPageGroupDocResult
'
Me.RibbonPageGroupDocResult.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroupDocResult.ItemLinks.Add(Me.checkShowPreview)
Me.RibbonPageGroupDocResult.ItemLinks.Add(Me.bbtnitmDocResultRefresh)
Me.RibbonPageGroupDocResult.ItemLinks.Add(Me.bbtnitmDocResultExport)
@@ -368,10 +388,11 @@ Partial Class frmNodeNavigation
Me.RibbonStatusBar1.ItemLinks.Add(Me.tsitmDMSReadOnly)
Me.RibbonStatusBar1.ItemLinks.Add(Me.BarStaticItemLocked)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsitmtInfoDoc)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 1305)
Me.RibbonStatusBar1.ItemLinks.Add(Me.bsiDocIDChanged)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 567)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.ribbonNodeNavigation
Me.RibbonStatusBar1.Size = New System.Drawing.Size(2215, 22)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1151, 22)
'
'RibbonPage2
'
@@ -393,7 +414,7 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerTreeList.Panel2.Controls.Add(Me.SplitContainerDocumentSearch)
Me.SplitContainerTreeList.Panel2.Text = "Panel2"
Me.SplitContainerTreeList.Size = New System.Drawing.Size(799, 1147)
Me.SplitContainerTreeList.Size = New System.Drawing.Size(776, 409)
Me.SplitContainerTreeList.SplitterPosition = 229
Me.SplitContainerTreeList.TabIndex = 2
'
@@ -435,7 +456,7 @@ Partial Class frmNodeNavigation
Me.TreeListDevexpress.OptionsView.ShowVertLines = False
Me.TreeListDevexpress.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeListDevexpress.ParentFieldName = "PARENT_GUID"
Me.TreeListDevexpress.Size = New System.Drawing.Size(229, 1147)
Me.TreeListDevexpress.Size = New System.Drawing.Size(229, 409)
Me.TreeListDevexpress.StateImageList = Me.ImageCollection1
Me.TreeListDevexpress.TabIndex = 1
'
@@ -459,8 +480,8 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerDocumentSearch.Panel2.Controls.Add(Me.GridControlDocSearch)
Me.SplitContainerDocumentSearch.Panel2.Text = "Panel2"
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(560, 1147)
Me.SplitContainerDocumentSearch.SplitterPosition = 246
Me.SplitContainerDocumentSearch.Size = New System.Drawing.Size(537, 409)
Me.SplitContainerDocumentSearch.SplitterPosition = 133
Me.SplitContainerDocumentSearch.TabIndex = 1
'
'pnlControls
@@ -470,7 +491,7 @@ Partial Class frmNodeNavigation
Me.pnlControls.Dock = System.Windows.Forms.DockStyle.Fill
Me.pnlControls.Location = New System.Drawing.Point(0, 0)
Me.pnlControls.Name = "pnlControls"
Me.pnlControls.Size = New System.Drawing.Size(560, 246)
Me.pnlControls.Size = New System.Drawing.Size(537, 133)
Me.pnlControls.TabIndex = 0
'
'GridControlDocSearch
@@ -484,7 +505,7 @@ Partial Class frmNodeNavigation
Me.GridControlDocSearch.Location = New System.Drawing.Point(0, 0)
Me.GridControlDocSearch.MainView = Me.GridViewDoc_Search
Me.GridControlDocSearch.Name = "GridControlDocSearch"
Me.GridControlDocSearch.Size = New System.Drawing.Size(560, 891)
Me.GridControlDocSearch.Size = New System.Drawing.Size(537, 266)
Me.GridControlDocSearch.TabIndex = 8
Me.GridControlDocSearch.TabStop = False
Me.GridControlDocSearch.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridViewDoc_Search})
@@ -492,9 +513,9 @@ Partial Class frmNodeNavigation
'cmsResultFileDetail
'
Me.cmsResultFileDetail.ImageScalingSize = New System.Drawing.Size(18, 18)
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWorkMultiple_Lock, Me.tsmiFileInWorkMultiple_Free, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLinkRemove, Me.tsmiFileLink_ShowAll, Me.LinkPerMailVersendenToolStripMenuItem, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileVersion, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
Me.cmsResultFileDetail.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsmiFileProperties, Me.ToolStripSeparator5, Me.tsmiFileOpen, Me.tsmiFileFolderOpen, Me.ToolStripSeparator1, Me.tsmiFileInWorkMultiple_Lock, Me.tsmiFileInWorkMultiple_Free, Me.tsmiFileInWork, Me.ToolStripSeparator3, Me.tsmiFileLink_Add, Me.tsmiFileLinkRemove, Me.tsmiFileLink_ShowAll, Me.TsmitmJumpToFilestore, Me.LinkPerMailVersendenToolStripMenuItem, Me.ToolStripSeparator2, Me.tsmiFileRename, Me.DokumentartÄndernToolStripMenuItem, Me.tsmiFileVersion, Me.tsmiFileRightsShow, Me.ToolStripSeparator4, Me.tsmiFileDelete})
Me.cmsResultFileDetail.Name = "ContextMenuStripResultFiles"
Me.cmsResultFileDetail.Size = New System.Drawing.Size(315, 394)
Me.cmsResultFileDetail.Size = New System.Drawing.Size(315, 418)
'
'tsmiFileProperties
'
@@ -574,6 +595,14 @@ Partial Class frmNodeNavigation
Me.tsmiFileLink_ShowAll.Size = New System.Drawing.Size(314, 24)
Me.tsmiFileLink_ShowAll.Text = "Verknüpfungen anzeigen"
'
'TsmitmJumpToFilestore
'
Me.TsmitmJumpToFilestore.Image = Global.DD_Record_Organizer.My.Resources.Resources.HomeHS
Me.TsmitmJumpToFilestore.Name = "TsmitmJumpToFilestore"
Me.TsmitmJumpToFilestore.Size = New System.Drawing.Size(314, 24)
Me.TsmitmJumpToFilestore.Text = "Springe zu Filestore"
Me.TsmitmJumpToFilestore.Visible = False
'
'LinkPerMailVersendenToolStripMenuItem
'
Me.LinkPerMailVersendenToolStripMenuItem.Image = Global.DD_Record_Organizer.My.Resources.Resources.email_go
@@ -714,8 +743,8 @@ Partial Class frmNodeNavigation
'
Me.SplitContainerDocView.Panel2.Controls.Add(Me.DocumentViewer)
Me.SplitContainerDocView.Panel2.Text = "Panel2"
Me.SplitContainerDocView.Size = New System.Drawing.Size(2215, 1147)
Me.SplitContainerDocView.SplitterPosition = 799
Me.SplitContainerDocView.Size = New System.Drawing.Size(1151, 409)
Me.SplitContainerDocView.SplitterPosition = 776
Me.SplitContainerDocView.TabIndex = 0
'
'DocumentViewer
@@ -725,7 +754,7 @@ Partial Class frmNodeNavigation
Me.DocumentViewer.FileLoaded = False
Me.DocumentViewer.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer.Name = "DocumentViewer"
Me.DocumentViewer.Size = New System.Drawing.Size(1406, 1147)
Me.DocumentViewer.Size = New System.Drawing.Size(365, 409)
Me.DocumentViewer.TabIndex = 0
Me.DocumentViewer.Viewer_ForceTemporaryMode = False
'
@@ -780,15 +809,15 @@ Partial Class frmNodeNavigation
Me.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top
Me.barDockControlTop.Location = New System.Drawing.Point(0, 0)
Me.barDockControlTop.Manager = Me.BarManager1
Me.barDockControlTop.Size = New System.Drawing.Size(2215, 0)
Me.barDockControlTop.Size = New System.Drawing.Size(1151, 0)
'
'barDockControlBottom
'
Me.barDockControlBottom.CausesValidation = False
Me.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom
Me.barDockControlBottom.Location = New System.Drawing.Point(0, 1327)
Me.barDockControlBottom.Location = New System.Drawing.Point(0, 589)
Me.barDockControlBottom.Manager = Me.BarManager1
Me.barDockControlBottom.Size = New System.Drawing.Size(2215, 0)
Me.barDockControlBottom.Size = New System.Drawing.Size(1151, 0)
'
'barDockControlLeft
'
@@ -796,15 +825,15 @@ Partial Class frmNodeNavigation
Me.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left
Me.barDockControlLeft.Location = New System.Drawing.Point(0, 0)
Me.barDockControlLeft.Manager = Me.BarManager1
Me.barDockControlLeft.Size = New System.Drawing.Size(0, 1327)
Me.barDockControlLeft.Size = New System.Drawing.Size(0, 589)
'
'barDockControlRight
'
Me.barDockControlRight.CausesValidation = False
Me.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right
Me.barDockControlRight.Location = New System.Drawing.Point(2215, 0)
Me.barDockControlRight.Location = New System.Drawing.Point(1151, 0)
Me.barDockControlRight.Manager = Me.BarManager1
Me.barDockControlRight.Size = New System.Drawing.Size(0, 1327)
Me.barDockControlRight.Size = New System.Drawing.Size(0, 589)
'
'BarButtonItem2
'
@@ -1037,7 +1066,7 @@ Partial Class frmNodeNavigation
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(2215, 1327)
Me.ClientSize = New System.Drawing.Size(1151, 589)
Me.Controls.Add(Me.SplitContainerDocView)
Me.Controls.Add(Me.RibbonStatusBar1)
Me.Controls.Add(Me.ribbonNodeNavigation)
@@ -1051,6 +1080,7 @@ Partial Class frmNodeNavigation
Me.StatusBar = Me.RibbonStatusBar1
Me.Text = "frmNodeNavigation"
CType(Me.ribbonNodeNavigation, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemTextEdit1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerTreeList.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerTreeList.Panel1.ResumeLayout(False)
CType(Me.SplitContainerTreeList.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
@@ -1187,4 +1217,7 @@ Partial Class frmNodeNavigation
Friend WithEvents tsmiFileInWorkMultiple_Free As ToolStripMenuItem
Friend WithEvents tsmiFileInWorkMultiple_Lock As ToolStripMenuItem
Friend WithEvents DD_DMSDataSet1 As DD_DMSDataSet
Friend WithEvents bsiDocIDChanged As DevExpress.XtraBars.BarStaticItem
Friend WithEvents TsmitmJumpToFilestore As ToolStripMenuItem
Friend WithEvents RepositoryItemTextEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemTextEdit
End Class

View File

@@ -762,22 +762,22 @@
<value>779, 17</value>
</metadata>
<metadata name="XtraSaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 54</value>
<value>944, 17</value>
</metadata>
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>174, 54</value>
<value>1101, 17</value>
</metadata>
<metadata name="CMSAdmin_Treeview.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>315, 54</value>
<value>1242, 17</value>
</metadata>
<metadata name="PopupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>480, 54</value>
<value>17, 54</value>
</metadata>
<metadata name="BarManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>606, 54</value>
<value>143, 54</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>130</value>
<value>151</value>
</metadata>
<data name="frmNodeNavigation.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1100,18 +1100,18 @@
</value>
</data>
<metadata name="PopupMenu2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>730, 54</value>
<value>267, 54</value>
</metadata>
<metadata name="PopupMenu3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>856, 54</value>
<value>393, 54</value>
</metadata>
<metadata name="PopupMenu4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 91</value>
<value>519, 54</value>
</metadata>
<metadata name="PopupMenu5.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>143, 91</value>
<value>645, 54</value>
</metadata>
<metadata name="DD_DMSDataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>616, 91</value>
<value>771, 54</value>
</metadata>
</root>

View File

@@ -5,6 +5,7 @@ Imports DD_Record_Organizer.ClassDocGrid
Imports DevExpress.Data
Imports DevExpress.Data.Filtering
Imports DevExpress.Utils
Imports DevExpress.XtraBars.Ribbon
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
@@ -76,7 +77,6 @@ Public Class frmNodeNavigation
Public CtrlBuilder As ClassControlBuilder
Public CtrlCommandUI As ClassControlCommandsUI
Public JumpKeyID As Long
Private Property ParentNodeChangeinAction As Boolean = False
Private Property ChildNodeGuid As Integer = 0
@@ -93,10 +93,8 @@ Public Class frmNodeNavigation
Update
Delete
End Enum
#End Region
Public Sub New(pEntityID As Int16, pConstructID As Int16, pNodeKeyID As Integer)
Public Sub New(pEntityID As Int16, pConstructID As Int16)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
@@ -111,7 +109,6 @@ Public Class frmNodeNavigation
Current_DocList = New ClassDocGrid(GridViewDoc_Search)
WindowsEx = New WindowsEx(LOGCONFIG)
JumpKeyID = pNodeKeyID
ClassNodeCommands = New ClassNodeCommands(LOGCONFIG, MYDB_ECM)
End Sub
@@ -148,13 +145,14 @@ Public Class frmNodeNavigation
End If
checkShowPreview.Checked = CONFIG.Config.DocumentViewerShown
UpdateDocViewCollapsedState()
Catch ex As Exception
NNLogger.Error(ex)
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error", ex.Message, ex.StackTrace)
End Try
End Sub
Private Async Function frmNodeNavigation_Load(sender As Object, e As EventArgs) As Task Handles Me.Load
Private Async Sub frmNodeNavigation_Load(sender As Object, e As EventArgs) Handles Me.Load
NNLogger.Debug("Loading NodeNavigation")
CONSTRUCTORID = CURRENT_CONSTRUCTOR_ID
@@ -225,7 +223,13 @@ Public Class frmNodeNavigation
End Try
Await Load_nodes()
End Function
AddHandler ClassDragDrop.FilesDroppedReady, Sub(files As String())
' Hier deine bisherige Verarbeitung von files_dropped triggern.
' Beispiel:
LOGGER?.Info("FilesDroppedReady: " & String.Join("; ", files))
' ... bestehende Routine aufrufen ...
End Sub
End Sub
Private Async Function Load_nodes() As Task
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
NNLogger.Debug("Loading nodes for entity [{0}]", CURRENT_ENTITY_ID)
@@ -236,33 +240,49 @@ Public Class frmNodeNavigation
Dim oNodeConfigSql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T.ENTITY_ID = {0}", CURRENT_ENTITY_ID)
Dim DT_TREEVIEW_CONFIGURATION = MYDB_ECM.GetDatatable(oNodeConfigSql)
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
Try
Dim bimage = row.ItemEx(Of Object)("NODE_IMAGE", Nothing)
If bimage Is Nothing Then
Continue For
End If
Dim oNodeImage = ByteArrayToBitmap(bimage)
ImageCollection1.AddImage(oNodeImage, row.Item("GUID"))
Catch ex As Exception
NNLogger.Error(ex)
End Try
Next
Dim imageInit = TryCast(ImageCollection1, System.ComponentModel.ISupportInitialize)
If imageInit IsNot Nothing Then
imageInit.BeginInit()
End If
TreeListDevexpress.DataSource = DT_STRUCTURE_NODES
TreeListDevexpress.KeyFieldName = "GUID"
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
TreeListDevexpress.Columns("SEQUENCE").SortOrder = SortOrder.Ascending
TreeListDevexpress.StateImageList = ImageCollection1
Try
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
Try
Dim bimage = row.ItemEx(Of Object)("NODE_IMAGE", Nothing)
If bimage Is Nothing Then
Continue For
End If
Dim oVisibleColumns = New List(Of String) From {"NODE_CAPTION"} ', "NAVIGATION_PATH"}
For Each oColumn In TreeListDevexpress.Columns
If oVisibleColumns.Contains(oColumn.FieldName) = False Then
oColumn.Visible = False
Dim oNodeImage = ByteArrayToBitmap(bimage)
ImageCollection1.AddImage(oNodeImage, row.Item("GUID"))
Catch ex As Exception
NNLogger.Error(ex)
End Try
Next
Finally
If imageInit IsNot Nothing Then
imageInit.EndInit()
End If
Next
End Try
TreeListDevexpress.BeginUpdate()
Try
TreeListDevexpress.DataSource = DT_STRUCTURE_NODES
TreeListDevexpress.KeyFieldName = "GUID"
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
TreeListDevexpress.Columns("SEQUENCE").SortOrder = SortOrder.Ascending
TreeListDevexpress.StateImageList = ImageCollection1
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NODE_CAPTION"}
For Each oColumn As TreeListColumn In TreeListDevexpress.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
Finally
TreeListDevexpress.EndUpdate()
End Try
JumptoNode()
Catch ex As Exception
NNLogger.Error(ex)
@@ -321,10 +341,6 @@ Public Class frmNodeNavigation
Exit Sub
End If
MyFocusedNode = Nothing
If btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always Then
btnCreateNewNode.Enabled = False
End If
If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
Exit Sub
@@ -388,28 +404,28 @@ Public Class frmNodeNavigation
CurrentNodeConfigId = oNodeConfigId
AvailableConfigNodes.Clear()
If btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always And
Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
Dim oNodeConfigList = NODE_CONFIGURABLE_NODES_DT.Select($"PARENT_NODE = {oNodeConfigId}").
Cast(Of DataRow).
Select(Function(row) New frmNewNode.NodeConfig() With {
.Id = row.Item("GUID"),
.Name = row.Item("NAME")
}).ToList()
Cast(Of DataRow).
Select(Function(row) New frmNewNode.NodeConfig() With {
.Id = row.Item("GUID"),
.Name = row.Item("NAME")
}).ToList()
AvailableConfigNodes = oNodeConfigList
If AvailableConfigNodes.Count > 0 Then
btnCreateNewNode.Enabled = True
Else
btnCreateNewNode.Enabled = False
End If
End If
NNLogger.Info($"Node changed: NodeID={oNodeConfigId}, NodeGUID={oGuid}, ConfigNodesFound={AvailableConfigNodes.Count}, " &
$"ButtonVisible={btnCreateNewNode.Visibility}, ConfigTableRows={If(IsNothing(NODE_CONFIGURABLE_NODES_DT), 0, NODE_CONFIGURABLE_NODES_DT.Rows.Count)}")
' NEUE zentrale Methode aufrufen statt direkter Manipulation
UpdateCreateNodeButtonState()
' END NEW NODE
CURRENT_NODEID = oGuid
If oHasRecordId Then
Update_Status_Label(True, $"NodeGUID {oGuid} - RecordID {CURRENT_RECORD_ID}", EditState.None)
Update_Status_Label(True, $"NodeID {oGuid} - RecordID {CURRENT_RECORD_ID}", EditState.None)
Node_AfterSelect = True
@@ -427,7 +443,7 @@ Public Class frmNodeNavigation
Await Show_Selected_Record_Data(CURRENT_RECORD_ID, oLoadRecordData)
DocView_DisplaySelectedDoc(True)
Await DocView_DisplaySelectedDoc(True)
ClassRightManagement.Check_Set_Rights(CURRENT_RECORD_ID, _EntityId)
CONTROL_HANDLING()
@@ -467,7 +483,7 @@ Public Class frmNodeNavigation
Node_AfterSelect = False
Else
Update_Status_Label(True, $"NodeGUID {oGuid}", EditState.None)
Update_Status_Label(True, $"NodeID {oGuid}", EditState.None)
ClassControlValues.ClearControlValues(pnlControls.Controls)
@@ -488,6 +504,48 @@ Public Class frmNodeNavigation
End If
End If
End Sub
' Neue zentrale Methode zum konsistenten Setzen des Button-Status
Private Sub UpdateCreateNodeButtonState()
Try
' *** HIER: Eingangsdiagnose ***
NNLogger.Debug($"UpdateCreateNodeButtonState called - Visibility={btnCreateNewNode.Visibility}, " &
$"CurrentEnabled={btnCreateNewNode.Enabled}, AvailableNodes={AvailableConfigNodes.Count}, " &
$"ConfigTableExists={Not IsNothing(NODE_CONFIGURABLE_NODES_DT)}")
If btnCreateNewNode.Visibility <> DevExpress.XtraBars.BarItemVisibility.Always Then
Exit Sub
End If
' Button aktivieren wenn:
' 1. Konfigurierbare Nodes existieren UND
' 2. Verfügbare Config-Nodes für aktuellen Node vorhanden sind
Dim shouldEnable As Boolean = False
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) AndAlso
NODE_CONFIGURABLE_NODES_DT.Rows.Count > 0 AndAlso
AvailableConfigNodes.Count > 0 Then
shouldEnable = True
End If
' Thread-sicheres Update
If Me.InvokeRequired Then
Me.Invoke(Sub() btnCreateNewNode.Enabled = shouldEnable)
Else
btnCreateNewNode.Enabled = shouldEnable
End If
If shouldEnable Then
LOGGER.Debug($"btnCreateNewNode ENABLED (AvailableConfigNodes: {AvailableConfigNodes.Count})")
Else
LOGGER.Debug($"btnCreateNewNode DISABLED (ConfigNodes: {AvailableConfigNodes.Count})")
End If
Catch ex As Exception
NNLogger.Error(ex)
' Im Fehlerfall: Sicherheitshalber deaktivieren
btnCreateNewNode.Enabled = False
End Try
End Sub
Public Async Function ShowDialogAsync() As Task(Of DialogResult)
Return Await Task.Run(Function()
Return MessageBox.Show("Der Parent-Node wird nun getauscht? Wollen Sie fortfahren?",
@@ -509,9 +567,9 @@ Public Class frmNodeNavigation
oMessage = "Keine Dateien für '"
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage &= " Entität gefunden"
oMessage &= " Sicht gefunden"
If USER_LANGUAGE <> "de-DE" Then
oMessage = "No files found for entity: "
oMessage = "No files found for view: "
End If
ElseIf CURRENT_SEARCH_TYPE = "RECORD" Then
@@ -543,9 +601,9 @@ Public Class frmNodeNavigation
If CURRENT_SEARCH_TYPE = "ENTITY" Then
oMessage = "Dateien für Entität: "
oMessage = "Dateien für Sicht: "
If USER_LANGUAGE <> "de-DE" Then
oMessage = "files for entity: "
oMessage = "files for view: "
End If
oMessage &= " (" & pDocumentCount.ToString & ")"
@@ -653,9 +711,15 @@ Public Class frmNodeNavigation
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Dim oSql = String.Format("SELECT * FROM TBPMO_STRUCTURE_NODES_CONFIGURATION where TYPE_NODE = 1000 AND ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", oConstructID)
NODE_CONFIGURABLE_NODES_DT = MYDB_ECM.GetDatatable(oSql)
NNLogger.Info($"Load_Configurable_Nodes: ConstructID={oConstructID}, " &
$"FoundRows={If(IsNothing(NODE_CONFIGURABLE_NODES_DT), 0, NODE_CONFIGURABLE_NODES_DT.Rows.Count)}")
If Not IsNothing(NODE_CONFIGURABLE_NODES_DT) Then
If NODE_CONFIGURABLE_NODES_DT.Rows.Count > 0 Then
btnCreateNewNode.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
' Initial-State setzen
UpdateCreateNodeButtonState()
End If
End If
Catch ex As Exception
@@ -980,7 +1044,7 @@ Public Class frmNodeNavigation
Else
RibbonPageGroupDocResult.Enabled = True
If Node_AfterSelect = False Then
SplitContainerDocView.Collapsed = Not CONFIG.Config.DocumentViewerShown
UpdateDocViewCollapsedState()
Else
SplitContainerDocView.Collapsed = True
End If
@@ -1795,9 +1859,9 @@ Public Class frmNodeNavigation
Dim oSQL = $"SELECT ENTITY_DOC_SEARCH FROM TBPMO_FORM WHERE GUID = {_EntityId}"
CURRENT_DOCSEARCH_SQL = MYDB_ECM.GetScalarValue(oSQL)
If CURRENT_DOCSEARCH_SQL <> String.Empty Then
Dim oText = $"Die Entität-weite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-De" Then
oText = $"The entity-wide search will be started in background. The result will be displayed when ready."
Dim oText = $"Die sichtweite Suche wird im Hintergrund ausgeführt und in einem separaten Fenster angezeigt sobald sie fertig ist."
If USER_LANGUAGE <> "de-DE" Then
oText = $"The view-wide search will be started in background. The result will be displayed when ready."
End If
Update_Notification_Label(True, oText, "Yellow")
@@ -1808,9 +1872,9 @@ Public Class frmNodeNavigation
If USER_LANGUAGE <> "de-DE" Then
CURRENT_DOCSEARCH_CAPTION = "Entity-wide search"
CURRENT_DOCSEARCH_CAPTION = "view-wide search"
Else
CURRENT_DOCSEARCH_CAPTION = "Entitätssuche"
CURRENT_DOCSEARCH_CAPTION = "Sichtweite Suche"
End If
Dim myformThread = New Thread(Sub()
Using frm As New frmDocSearchResult
@@ -1833,9 +1897,9 @@ Public Class frmNodeNavigation
End Try
sw.Done()
End Sub
Private Sub OnCBSelectedValueChanged(sender As Object, e As EventArgs)
Private Async Sub OnCBSelectedValueChanged(sender As Object, e As EventArgs)
Try
Dim oDocID = Focused_Row_GetDocID()
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
If oDocID = 0 Then
Exit Sub
End If
@@ -1871,9 +1935,9 @@ Public Class frmNodeNavigation
End Try
End Sub
Private Sub OnDateSelectedValueChanged(sender As Object, e As EventArgs)
Private Async Sub OnDateSelectedValueChanged(sender As Object, e As EventArgs)
Try
Dim oDocID = Focused_Row_GetDocID()
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
If oDocID = 0 Then
Exit Sub
End If
@@ -1919,9 +1983,9 @@ Public Class frmNodeNavigation
End Try
End Sub
Private Sub OnTextSelectedValueChanged(sender As Object, e As EventArgs)
Private Async Sub OnTextSelectedValueChanged(sender As Object, e As EventArgs)
Try
Dim oDocID = Focused_Row_GetDocID()
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
If oDocID = 0 Then
Exit Sub
End If
@@ -1952,10 +2016,10 @@ Public Class frmNodeNavigation
End Try
End Sub
Private Sub OnCheckboxValueChanged(sender As Object, e As EventArgs)
Private Async Sub OnCheckboxValueChanged(sender As Object, e As EventArgs)
'TODO Save Checkboxvalue
Try
Dim oDocID = Focused_Row_GetDocID()
Dim oDocID = Await Focused_Row_GetDocID() ' ✅ Mit Await
If oDocID = 0 Then
Exit Sub
End If
@@ -1999,37 +2063,54 @@ Public Class frmNodeNavigation
End Try
End Sub
Private Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
Focused_Row_GetDocID()
Private Async Sub GridViewDoc_Search_FocusedRowChanged(sender As Object, e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridViewDoc_Search.FocusedRowChanged
' ✅ Jetzt mit Await aufrufen
Dim docId = Await Focused_Row_GetDocID()
End Sub
Private Function Focused_Row_GetDocID() As Int64
Private Async Function Focused_Row_GetDocID() As Task(Of Int64)
Try
' Early Exit 1: Formular noch nicht angezeigt
If FORM_SHOWN = False Then
Return 0
End If
' Early Exit 2: Node-Wechsel aktiv
If Node_AfterSelect = True Then
SplitContainerDocView.Collapsed = True
GridViewDoc_Search.ClearSelection()
GridViewDoc_Search.FocusedRowHandle = DevExpress.XtraGrid.GridControl.InvalidRowHandle
Return 0
End If
Update_DocID_Label(False)
Update_Notification_Label(False, "", "")
' Prüfung: Ist eine Zeile fokussiert?
If GridViewDoc_Search.FocusedRowHandle >= 0 Then
Dim oDocID = GridViewDoc_Search.GetRowCellValue(GridViewDoc_Search.FocusedRowHandle, "DocID")
If Not IsNothing(oDocID) Then
Dim omsg = "Doc-ID: " & oDocID
Update_DocID_Label(True, omsg, EditState.Update)
' ✅ Dokumentvorschau nur bei DocID-Wechsel aktualisieren
If SELECTED_DOC_ID <> oDocID Then
SELECTED_DOC_ID = oDocID
If SplitContainerDocView.Collapsed Then
SplitContainerDocView.Collapsed = False
' Panel-Status setzen (falls Vorschau deaktiviert)
If checkShowPreview.Checked = False Then
SplitContainerDocView.Collapsed = True
Else
If SplitContainerDocView.Collapsed Then
SplitContainerDocView.Collapsed = False
End If
End If
DocView_DisplaySelectedDoc(False)
' ✅ Async-Aufruf mit Await
Await DocView_DisplaySelectedDoc(False)
End If
Update_DocID_Label(True, omsg, EditState.Update)
Return SELECTED_DOC_ID
Else
@@ -2040,6 +2121,7 @@ Public Class frmNodeNavigation
Return 0
End If
Catch ex As Exception
NNLogger.Error(ex, "Error in Focused_Row_GetDocID")
Return 0
End Try
End Function
@@ -2121,115 +2203,96 @@ Public Class frmNodeNavigation
End Sub
#Region "Dropping Files"
Sub Drag_Enter(e As DragEventArgs)
If _EntityId <> 0 Then
If WM_READ_ONLY = False Then
ClassDragDrop.Drag_enter(e)
Else
Update_Notification_Label(True, "READ ONLY ACCESS", "Yellow")
End If
Else
If _EntityId = 0 Then
Update_Notification_Label(True, "No entity selected", "Yellow")
e.Effect = DragDropEffects.None
Exit Sub
End If
If WM_READ_ONLY Then
Update_Notification_Label(True, "READ ONLY ACCESS", "Yellow")
e.Effect = DragDropEffects.None
Exit Sub
End If
' Delegiere die Priorisierung (Outlook > FileDrop) an die zentrale Routine
ClassDragDrop.Drag_enter(e)
End Sub
Private Async Function Drag_Drop(e As DragEventArgs) As Task
Try
If ClassDragDrop.Drop_File(e) = False Then
Exit Function
End If
' Basis-Prechecks bevor wir irgendetwas verarbeiten
If USER_PERSONIFIED_TEST = True Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "You are using orgFLOW in personified mode! Adding files is not allowed!")
Exit Function
End If
If WMMOD.SessionLoggedin = False Then
ClassHelper.MSGBOX_Handler("INFO", "Attention", "Check Your windream-connection and restart orgFLOW afterwards.", "Could not create a windream session!")
Exit Function
End If
If _EntityId <> 0 And (RIGHT_READ_ONLY_DOC = False And GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") Or RIGHT_ADD_DOC = True Then
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
Dim count_DT = MYDB_ECM.GetScalarValue(sql)
If count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID = 0 Then
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
Exit Function
ElseIf count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID <> 0 Then
sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORM_ID = " & CURRENT_ENTITY_REDUNDANT_ID
count_DT = MYDB_ECM.GetScalarValue(sql)
If count_DT = 0 Then
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
Exit Function
End If
End If
If RECORD_CHANGED = True Then
If Save_Record() = False Then
Exit Function
End If
End If
CURRENT_CONTROL_DOCTYPE_MATCH = 0
If CONTROL_DOCTYPE_MATCH <> 0 Then
Try
CURRENT_CONTROL_DOCTYPE_MATCH = ""
CURRENT_CONTROL_DOCTYPE_MATCH = ClassControlValues.GetControlValuesREC_CONTROL(CURRENT_RECORD_ID, CONTROL_DOCTYPE_MATCH)
Catch ex As Exception
NNLogger.Error(ex)
CURRENT_CONTROL_DOCTYPE_MATCH = 0
CURRENT_CONTROL_DOCTYPE_MATCH = ""
End Try
End If
DROPPED_CHECKED = False
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
Dim Wert As String = CType(e.Data.GetData(DataFormats.StringFormat), Object)
Console.WriteLine("DragDrop-Wert: " & Wert)
If Wert.Contains("SCAN") Then
Dim split() = Wert.Split(";")
If IsNumeric(split(1)) Then
CURRENT_FILEID = split(1)
CURRENT_FORMVIEW_ID = FORMVIEW_ID
ClassHelper.Create_USER_FILE_TABLE()
If Not IsNothing(CURRENT_TBPMO_FILES_USER) Then
If CURRENT_TBPMO_FILES_USER.Rows.Count > 0 Then
frmWM_IndexFile.ShowDialog()
End If
End If
'RUN_WD_SEARCH(WD_Suche, "RECORD")
End If
ElseIf (e.Data.GetDataPresent("FileGroupDescriptor")) AndAlso (e.Data.GetDataPresent("FileContents")) Then
If ClassDragDrop.Drop_File(e) = True Then
Check_Dropped_Files()
End If
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
If ClassDragDrop.Drop_File(e) = True Then
Check_Dropped_Files()
End If
End If
Else
If ClassDragDrop.Drop_File(e) = True Then
Check_Dropped_Files()
End If
End If
'Nur wenn neue Dateien abgelegt wurden muss die Prozedur zur aktualisierung der windream Dateien ausgeführt werden...ansonsten muss nichts passieren
If NEW_FILES_ADDED = True Then
Me.Cursor = Cursors.WaitCursor
Await RUN_DOCSEARCH(True)
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
TimerClearResultfiles.Start()
Else
NNLogger.Debug("No new files were added or windream tab is not focused!")
End If
Me.Cursor = Cursors.Default
Else
'If RIGHT_RECORD_AND_FILE_READ_ONLY = True Then
' NNLogger.Warn("RIGHT_RECORD_AND_FILE_READ_ONLY is set! No DragDrop allowed")
'End If
' Rechte-/Kontextprüfung
If Not (_EntityId <> 0 AndAlso ((RIGHT_READ_ONLY_DOC = False AndAlso GridControlDocSearch.ContextMenuStrip.Name = "ContextMenuStripResultFiles") OrElse RIGHT_ADD_DOC = True)) Then
If RIGHT_READ_ONLY_DOC = True Then
NNLogger.Warn("RIGHT_WD_FORBIDDEN is set! No DragDrop allowed")
Else
NNLogger.Warn("No DragDrop allowed - ELSE")
End If
Exit Function
End If
' Dokumenttypen-Konfiguration prüfen (wie gehabt)
Dim sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORMVIEW_ID = " & FORMVIEW_ID
Dim count_DT = MYDB_ECM.GetScalarValue(sql)
If count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID = 0 Then
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
Exit Function
ElseIf count_DT = 0 And CURRENT_ENTITY_REDUNDANT_ID <> 0 Then
sql = "select count(*) from VWPMO_DOKUMENTTYPES where FORM_ID = " & CURRENT_ENTITY_REDUNDANT_ID
count_DT = MYDB_ECM.GetScalarValue(sql)
If count_DT = 0 Then
MsgBox("No documenttypes for this entity configured! Indexing is not possible!" & vbNewLine & "Please check the configuration!", MsgBoxStyle.Exclamation)
Exit Function
End If
End If
' Ungespeicherte Änderungen sichern
If RECORD_CHANGED = True Then
If Save_Record() = False Then Exit Function
End If
' Doctype-Match ermitteln (wie gehabt)
CURRENT_CONTROL_DOCTYPE_MATCH = 0
If CONTROL_DOCTYPE_MATCH <> 0 Then
Try
CURRENT_CONTROL_DOCTYPE_MATCH = ""
CURRENT_CONTROL_DOCTYPE_MATCH = ClassControlValues.GetControlValuesREC_CONTROL(CURRENT_RECORD_ID, CONTROL_DOCTYPE_MATCH)
Catch ex As Exception
NNLogger.Error(ex)
CURRENT_CONTROL_DOCTYPE_MATCH = 0
CURRENT_CONTROL_DOCTYPE_MATCH = ""
End Try
End If
DROPPED_CHECKED = False
' Zentrale Verarbeitung: genau EIN Aufruf Outlook/Filesystem/SCAN wird intern erkannt und geschrieben
If ClassDragDrop.Drop_File(e) = False Then
NNLogger.Debug("Drag_Drop: No supported data format detected by ClassDragDrop.")
Exit Function
End If
' Nach erfolgreichem Drop die User-File-Tabelle konsolidieren und ggf. Indexdialog öffnen
Check_Dropped_Files()
' Falls Dateien hinzugefügt wurden, Ergebnisliste aktualisieren
If NEW_FILES_ADDED = True Then
Me.Cursor = Cursors.WaitCursor
Await RUN_DOCSEARCH(True)
ClassHelper.GetDocrecordLinks(CURRENT_RECORD_ID)
TimerClearResultfiles.Start()
Else
NNLogger.Debug("No new files were added or windream tab is not focused!")
End If
Catch ex As Exception
NNLogger.Error(ex)
@@ -2524,6 +2587,11 @@ Public Class frmNodeNavigation
Else
tsmiFileRenameDisplayname.Visible = False
End If
If CURRENT_ENTITY_ID <> OF_FILESTORE_ENTITY And OF_FILESTORE_ENTITY <> 0 Then
TsmitmJumpToFilestore.Visible = True
Else
TsmitmJumpToFilestore.Visible = False
End If
Else
tsmiFileRenameDisplayname.Visible = False
End If
@@ -2762,13 +2830,28 @@ Public Class frmNodeNavigation
Me.BringToFront()
TreeListDevexpress.CollapseAll()
FORM_SHOWN = True
If JumpKeyID > 0 Then
JumptoNode()
End If
End Sub
Public Sub JumptoNode()
If JumpKeyID > 0 Then
TreeListDevexpress.FindNodeByKeyID(JumpKeyID)
If JUMP_ID > 0 Then
If TreeListDevexpress.DataSource Is Nothing OrElse TreeListDevexpress.Nodes.Count = 0 Then
NNLogger.Debug("JumptoNode: TreeList noch nicht geladen. Warte bis Load_nodes fertig ist.")
' Frühzeitiger Exit Load_nodes springt später
Exit Sub
End If
Dim targetGuid As Integer = Convert.ToInt32(JUMP_ID)
' Suche über Datenfeld "GUID" statt über die interne Node-Id
Dim oFindNode As TreeListNode = TreeListDevexpress.FindNodeByFieldValue("GUID", targetGuid)
If oFindNode IsNot Nothing Then
' Sichtbar machen (expandiert ggf. Eltern)
TreeListDevexpress.MakeNodeVisible(oFindNode)
' Fokus setzen
TreeListDevexpress.SetFocusedNode(oFindNode)
' Optional: markieren
TreeListDevexpress.FocusedNode = oFindNode
Else
NNLogger.Warn($"JumpToNode: kein Knoten mit GUID={JUMP_ID} gefunden.")
End If
JUMP_ID = 0
End If
End Sub
Private Async Sub tsmiFileRenameDisplayname_Click(sender As Object, e As EventArgs) Handles tsmiFileRenameDisplayname.Click
@@ -2839,10 +2922,7 @@ Public Class frmNodeNavigation
End Sub
Private Sub frmNodeNavigation_Click(sender As Object, e As EventArgs) Handles MyBase.Click
If CURRENT_ENTITY_ID <> _EntityId Then
CURRENT_ENTITY_ID = _EntityId
CURRENT_RECORD_ID = 0
End If
End Sub
Private Sub tsmiFileOpen_Click(sender As Object, e As EventArgs) Handles tsmiFileOpen.Click
@@ -3221,18 +3301,28 @@ Public Class frmNodeNavigation
Private Sub bbtnitmRecSave_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmRecSave.ItemClick
Save_Record()
End Sub
Private Sub checkShowPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkShowPreview.CheckedChanged
''' <summary>
''' Setzt den Collapsed-Status des DocumentViewer-Panels konsistent.
''' Panel ist nur aufgeklappt, wenn DocViewInitialized = True UND checkShowPreview.Checked = True
''' </summary>
Private Sub UpdateDocViewCollapsedState()
If DocViewInitialized AndAlso checkShowPreview.Checked Then
SplitContainerDocView.Collapsed = False
Else
SplitContainerDocView.Collapsed = True
End If
End Sub
Private Async Sub checkShowPreview_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles checkShowPreview.CheckedChanged
If FORM_LOADED = False Then
Exit Sub
End If
If DocViewInitialized Then
CONFIG.Config.DocumentViewerShown = checkShowPreview.Checked
CONFIG.Save()
SplitContainerDocView.Collapsed = Not checkShowPreview.Checked
If checkShowPreview.Checked Then
DocView_DisplaySelectedDoc(False)
End If
' ✅ Konsistente zentrale Methode verwenden
UpdateDocViewCollapsedState()
Await DocView_DisplaySelectedDoc(False)
Else
SplitContainerDocView.Collapsed = True
@@ -3240,47 +3330,102 @@ Public Class frmNodeNavigation
End Sub
Private Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
DocView_DisplaySelectedDoc(False)
Private Async Sub GridViewDoc_Search_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles GridViewDoc_Search.SelectionChanged
Await DocView_DisplaySelectedDoc(False)
End Sub
Private Async Sub DocView_DisplaySelectedDoc(AfterNodeChange As Boolean)
Private Async Function DocView_DisplaySelectedDoc(AfterNodeChange As Boolean) As Task
' ✅ Early Exit: Keine Vorschau nach Node-Wechsel
If AfterNodeChange Then
Exit Sub
Return
End If
' ✅ Early Exit: Vorschau ist deaktiviert
If Not checkShowPreview.Checked Then
NNLogger.Info("checkShowPreview NOT Checked.")
Return
End If
' ✅ Early Exit: Viewer nicht initialisiert
If Not DocViewInitialized Then
NNLogger.Info("DocumentViewer not initialized. No preview possible.")
Return
End If
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
Try
Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
If Not IsNothing(oSelectedDoc) Then
If checkShowPreview.Checked Then
If DocViewInitialized Then
If oSelectedDoc.Count = 1 Then
Close_Document_Viewer()
System.Threading.Thread.Sleep(400)
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
DocumentViewer.LoadFile(oPath)
Else
NNLogger.Debug("Show_SelectedDoc - oSelectedDocs.Count not = 1 ")
Close_Document_Viewer()
End If
Else
NNLogger.Info("DocumentViewer not inited. No Show_SelectedDoc")
End If
End If
Else
NNLogger.Debug("Show_SelectedDoc - oSelectedDocs is nothing")
If IsNothing(oSelectedDoc) OrElse oSelectedDoc.Count <> 1 Then
NNLogger.Debug("No single document selected for preview. Check oSelectedDoc count: " & If(IsNothing(oSelectedDoc), "oSelectedDoc is Nothing", oSelectedDoc.Count.ToString()))
Close_Document_Viewer()
Return
End If
' ✅ Alle Prüfungen bestanden → Dokument laden
Close_Document_Viewer()
Await Task.Delay(400)
Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
DocumentViewer.LoadFile_FromPath(oPath)
Catch ex As Exception
NNLogger.Error(ex)
Finally
SplashScreenManager.CloseOverlayForm(oHandle)
End Try
End Function
End Sub
'Private Async Sub DocView_DisplaySelectedDoc(AfterNodeChange As Boolean)
' If AfterNodeChange Then
' Exit Sub
' End If
' Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
' Try
' Dim oSelectedDoc = ClassDocGrid.GetSingleSelectedDocument(GridViewDoc_Search)
' If Not IsNothing(oSelectedDoc) Then
' If checkShowPreview.Checked Then
' If DocViewInitialized Then
' If oSelectedDoc.Count = 1 Then
' Close_Document_Viewer()
' Await Task.Delay(400)
' Dim oDocument As ClassDocGrid.clsWMDoc = oSelectedDoc.First()
' Dim oPath = ClassHelper.FORMAT_WM_PATH(oDocument.DocPath)
' NNLogger.Debug("Now DocumentViewer.LoadFile...")
' Dim loadTask = Task.Run(Sub()
' DocumentViewer.LoadFile(oPath)
' End Sub)
' Dim timeoutTask = Task.Delay(TimeSpan.FromSeconds(20))
' Dim completedTask = Await Task.WhenAny(loadTask, timeoutTask)
' If completedTask Is timeoutTask Then
' NNLogger.Warn("Document loading timed out.")
' ' Optional: Cancel or reset viewer
' Else
' NNLogger.Info("Document loaded successfully.")
' End If
' Else
' NNLogger.Debug("Show_SelectedDoc - oSelectedDocs.Count not = 1 ")
' Close_Document_Viewer()
' End If
' Else
' NNLogger.Info("DocumentViewer not inited. No Show_SelectedDoc")
' End If
' End If
' Else
' NNLogger.Debug("Show_SelectedDoc - oSelectedDocs is nothing")
' End If
' Catch ex As Exception
' NNLogger.Error(ex)
' Finally
' SplashScreenManager.CloseOverlayForm(oHandle)
' End Try
'End Sub
Private Sub Close_Document_Viewer()
Try
DocumentViewer.CloseDocument()
@@ -3586,4 +3731,37 @@ Public Class frmNodeNavigation
frmFileInWork.ShowDialog()
Await RUN_DOCSEARCH(True)
End Sub
Private Sub frmNodeNavigation_Activated(sender As Object, e As EventArgs) Handles Me.Activated
If CURRENT_ENTITY_ID <> CurrentEntityId Then
CURRENT_ENTITY_ID = CurrentEntityId
CURRENT_RECORD_ID = 0
End If
End Sub
Public ReadOnly Property CurrentEntityId As Short
Get
Return _EntityId
End Get
End Property
Private Sub TsmitmJumpToFilestore_Click(sender As Object, e As EventArgs) Handles TsmitmJumpToFilestore.Click
Try
If mySelectedDocs.Count = 1 Then
Dim oDocId As Integer = mySelectedDocs.First.DocId
Dim oJumpToDocSQL = String.Format("DECLARE @PID BIGINT
SELECT @PID = dwParentID FROM TBPMO_DOCRESULT_LIST WHERE DocID = {0}
SELECT GUID FROM VWPMO_STRUCTURE_NODES WHERE ENTITY_ID = {1} AND ISNUMERIC(ID1) = 1 AND ID1 = @PID", oDocId, OF_FILESTORE_ENTITY)
Dim ojumpID As Integer = MYDB_ECM.GetScalarValue(oJumpToDocSQL)
If Not IsNothing(ojumpID) AndAlso ojumpID <> 0 Then
OpenFormConstructor(OF_FILESTORE_CONSTRUCTOR, 1, OF_FILESTORE_ENTITY, ojumpID)
Else
MessageBox.Show("A parent node could not be found!", "No Node found", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End If
Catch ex As Exception
MessageBox.Show("Unerwarteter Fehler beim Springen zum Filestore-Knoten: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class

View File

@@ -48,8 +48,8 @@ Public Class frmRecordView
Me.Text = "Detailansicht Record"
End If
recordView = New ClassRecordView(pnlDetails)
RECORD_ID = JUMP_RECORD_ID
recordView.LoadRecord(JUMP_RECORD_ID)
RECORD_ID = JUMP_ID
recordView.LoadRecord(JUMP_ID)
'Titel updaten
Me.Text &= " " + RECORD_ID.ToString()
@@ -437,8 +437,8 @@ Public Class frmRecordView
End Try
Me.BringToFront()
If JUMP_RECORD_ID <> 0 Then
JUMP_RECORD_ID = 0
If JUMP_ID <> 0 Then
JUMP_ID = 0
End If
End Sub

View File

@@ -16,8 +16,8 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.GUID NOT IN (SELECT USER_ID FROM TBPMO_USER_G
Dim newUserRow As DD_ECMAdmin.TBAD_UsersRow
newUserRow = DD_ECMAdmin.TBAD_Users.NewTBAD_UsersRow
newUserRow.Username = row.Item("USERNAME")
newUserRow.Surname = row.Item("NAME")
newUserRow.Prename = row.Item("PRENAME")
newUserRow.Surname = If(IsDBNull(row("NAME")), "", row("NAME").ToString())
newUserRow.Prename = If(IsDBNull(row("PRENAME")), "", row("PRENAME").ToString())
Try
newUserRow.Email = row.Item("EMAIL")
Catch ex As Exception
@@ -35,8 +35,8 @@ WHERE T2.SHORT_NAME = 'ADDI' AND T.GUID NOT IN (SELECT USER_ID FROM TBPMO_USER_G
For Each row As DataRow In DT_USERS_CONFIGURED.Rows
Dim newUserRow As DD_ECMAdmin.TBWH_Users1Row
newUserRow = DD_ECMAdmin.TBWH_Users1.NewTBWH_Users1Row
newUserRow.Surname = row.Item("NAME")
newUserRow.Prename = row.Item("PRENAME")
newUserRow.Surname = If(IsDBNull(row("NAME")), "", row("NAME").ToString())
newUserRow.Prename = If(IsDBNull(row("PRENAME")), "", row("PRENAME").ToString())
newUserRow.Username = row.Item("USERNAME")
Try
newUserRow.Email = row.Item("EMAIL")

View File

@@ -294,6 +294,9 @@
<data name="&gt;&gt;Label2.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>891, 17</value>
</metadata>
<data name="cmbDokumentart.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI Semibold, 9.75pt, style=Bold</value>
</data>
@@ -306,9 +309,6 @@
<data name="cmbDokumentart.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>891, 17</value>
</metadata>
<data name="cmbDokumentart.ToolTip" xml:space="preserve">
<value>Auswahl der Dokumentart - Wird für nächste Eingabe gespeichert</value>
</data>
@@ -390,6 +390,57 @@
<data name="&gt;&gt;OBJECT_TYPETextBox.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;PATHTextBox.Name" xml:space="preserve">
<value>PATHTextBox</value>
</data>
<data name="&gt;&gt;PATHTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;PATHTextBox.Parent" xml:space="preserve">
<value>GroupBox1</value>
</data>
<data name="&gt;&gt;PATHTextBox.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;DOCTYPE_IDTextBox.Name" xml:space="preserve">
<value>DOCTYPE_IDTextBox</value>
</data>
<data name="&gt;&gt;DOCTYPE_IDTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;DOCTYPE_IDTextBox.Parent" xml:space="preserve">
<value>GroupBox1</value>
</data>
<data name="&gt;&gt;DOCTYPE_IDTextBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="GroupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="GroupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 117</value>
</data>
<data name="GroupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>560, 80</value>
</data>
<data name="GroupBox1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="GroupBox1.Text" xml:space="preserve">
<value>Gewählte Indexierungsdaten - Automatik:</value>
</data>
<data name="&gt;&gt;GroupBox1.Name" xml:space="preserve">
<value>GroupBox1</value>
</data>
<data name="&gt;&gt;GroupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GroupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GroupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="PATHTextBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
@@ -438,33 +489,6 @@
<data name="&gt;&gt;DOCTYPE_IDTextBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="GroupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="GroupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 117</value>
</data>
<data name="GroupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>560, 80</value>
</data>
<data name="GroupBox1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="GroupBox1.Text" xml:space="preserve">
<value>Gewählte Indexierungsdaten - Automatik:</value>
</data>
<data name="&gt;&gt;GroupBox1.Name" xml:space="preserve">
<value>GroupBox1</value>
</data>
<data name="&gt;&gt;GroupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;GroupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;GroupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="chkdelete_origin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
@@ -478,7 +502,7 @@
<value>24, 598</value>
</data>
<data name="chkdelete_origin.Size" type="System.Drawing.Size, System.Drawing">
<value>178, 20</value>
<value>177, 20</value>
</data>
<data name="chkdelete_origin.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -486,6 +510,9 @@
<data name="chkdelete_origin.Text" xml:space="preserve">
<value>Lösche Ursprungsdatei</value>
</data>
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>891, 17</value>
</metadata>
<data name="chkdelete_origin.ToolTip" xml:space="preserve">
<value>Die gedroppte Datei wird nach Ablage in windream gelöscht - Wird für nächste Eingabe gespeichert</value>
</data>
@@ -514,7 +541,7 @@
<value>24, 624</value>
</data>
<data name="chkMultiIndexer.Size" type="System.Drawing.Size, System.Drawing">
<value>520, 20</value>
<value>519, 20</value>
</data>
<data name="chkMultiIndexer.TabIndex" type="System.Int32, mscorlib">
<value>9</value>

View File

@@ -87,7 +87,7 @@ Public Class frmWM_IndexFile
'Stream File to windream
'#################################################################
sw = New SW("File Stream")
Dim streamresult = WMMOD.NewFileStream(ImportFilePath, CURRENT_NEWFILENAME, OBJECT_TYPETextBox.Text, True)
Dim streamresult = WMMOD.NewFileStream(ImportFilePath, CURRENT_NEWFILENAME, OBJECT_TYPETextBox.Text)
sw.Done()
'#################################################################
If streamresult = True Then

View File

@@ -13,18 +13,23 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CD_ROM|Any CPU = CD_ROM|Any CPU
CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms
CD_ROM|x64 = CD_ROM|x64
CD_ROM|x86 = CD_ROM|x86
Debug|Any CPU = Debug|Any CPU
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
DVD-5|Any CPU = DVD-5|Any CPU
DVD-5|Mixed Platforms = DVD-5|Mixed Platforms
DVD-5|x64 = DVD-5|x64
DVD-5|x86 = DVD-5|x86
Release|Any CPU = Release|Any CPU
Release|Mixed Platforms = Release|Mixed Platforms
Release|x64 = Release|x64
Release|x86 = Release|x86
SingleImage|Any CPU = SingleImage|Any CPU
SingleImage|Mixed Platforms = SingleImage|Mixed Platforms
SingleImage|x64 = SingleImage|x64
SingleImage|x86 = SingleImage|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
@@ -32,78 +37,108 @@ Global
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|Mixed Platforms.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x64.ActiveCfg = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x64.Build.0 = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.CD_ROM|x86.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x64.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x64.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Debug|x86.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x64.ActiveCfg = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x64.Build.0 = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.DVD-5|x86.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Any CPU.Build.0 = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x64.ActiveCfg = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x64.Build.0 = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.Release|x86.ActiveCfg = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Mixed Platforms.ActiveCfg = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|Mixed Platforms.Build.0 = Debug|Any CPU
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x64.ActiveCfg = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x64.Build.0 = Release|x64
{BDCC148B-4C84-4A48-80CF-4C56057294E0}.SingleImage|x86.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x64.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x64.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x64.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x64.Build.0 = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Debug|x86.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x64.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x64.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.DVD-5|x86.ActiveCfg = Debug|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Any CPU.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x64.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x64.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.Release|x86.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x64.ActiveCfg = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x64.Build.0 = Release|Any CPU
{F1C8A9DF-2452-4E3B-9C32-0C792F6ED2E6}.SingleImage|x86.ActiveCfg = Release|Any CPU
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Any CPU.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Any CPU.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Mixed Platforms.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|Mixed Platforms.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x64.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x64.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x86.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.CD_ROM|x86.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Any CPU.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|Mixed Platforms.Build.0 = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x64.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x64.Build.0 = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x86.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Debug|x86.Build.0 = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Any CPU.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Any CPU.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Mixed Platforms.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|Mixed Platforms.Build.0 = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x64.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x64.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x86.ActiveCfg = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.DVD-5|x86.Build.0 = Debug|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Any CPU.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Mixed Platforms.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|Mixed Platforms.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x64.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x64.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x86.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.Release|x86.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Any CPU.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Any CPU.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Mixed Platforms.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|Mixed Platforms.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x64.Build.0 = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.ActiveCfg = Release|x86
{A7F7585A-C46A-4436-9F6E-17629325CE58}.SingleImage|x86.Build.0 = Release|x86
EndGlobalSection

View File

@@ -194,8 +194,6 @@
<File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.dll" />
<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.Imaging.Formats.Conversion" Name="GdPicture.NET.14.Imaging.Formats.Conversion.dll" />
<File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering" Name="GdPicture.NET.14.Imaging.Rendering.dll" />