Verwaltung der Dokumentenverwaltung / Menü "Aktion" der Dokumentenverwaltung |
Mit Ereignishandlern können Sie verschiedene Vorgänge definieren, die beim Bearbeiten von Objekten ausgeführt werden. Die Vorgänge werden mittels Variablen, allgemeinen Funktionen von VBScript und der M-Files API festgelegt.
Sie können Ereignishandler in M-Files Admin erstellen und bearbeiten: Aktivieren Sie die Dokumentenverwaltung, für die Sie Ereignishandler definieren möchten. Sie finden die Ereignishandler im Menü Aktion oder durch Rechtsklick auf die Dokumentenverwaltung. Sie können demselben Ereignishandler mehrere verschiedene Vorgänge hinzufügen, indem Sie diesen unterschiedliche Namen geben.
Die Dokumentation zur M-Files API befindet sich im Ordner Start > Alle Programme > M-Files > Dokumentation >M-Files API. Weitere Informationen über den VBScript-Code und die M-Files API erhalten Sie unter [email protected]. Anweisungen zum Erstellen von VBScript-Code sowie zur Verwendung der M-Files API erhalten Sie kostenpflichtig beim technischen Support von M-Files.
Beispiel
Beim Erstellen eines neuen Objekts kann mithilfe des Ereignishandlers überprüft werden, ob beispielsweise die Dokumentenverwaltung bereits ein Objekt mit demselben Titel enthält. Ist dies der Fall, erhält der Benutzer eine Fehlermeldung. In diesem Fall verwendet der VBScript-Code das folgende Format (Hinweis: Das nachfolgende Beispiel ist nur auf Englisch vorhanden):
' The ID of the title property.
Dim titleProperty
titleProperty = MFBuiltInPropertyDefNameOrTitle
' Find the title property of the current object.
Dim currentTitleProp
currentTitleProp = PropertyValues.SearchForProperty(titleProperty)
' Get the title of the object.
Dim currentTitle
currentTitle = currentTitleProp.Value
' Search for objects on the basis of title.
Dim titleSearch
Set titleSearch = CreateObject("MFilesAPI.SearchCondition")
Dim titleExpression
Set titleExpression = CreateObject("MFilesAPI.Expression")
titleExpression.SetTypedValueExpression MFDatatypeText, -1, MFParentChildBehaviorNone, Nothing
Dim titleTypedValue
Set titleTypedValue = CreateObject("MFilesAPI.TypedValue")
titleTypedValue.SetValue MFDatatypeText, currentTitle
titleSearch.Set titleExpression, MFConditionTypeEqual, titleTypedValue
Dim SearchResults
Set SearchResults = Vault.ObjectSearchOperations.SearchForObjectsByCondition(titleSearch, false)
' If an existing object with the same title was found, raise an error.
If SearchResults.Count > 1 Then
Err.Raise MFScriptCancel, _
"The document vault already contains an object with the same title."
End if