Administration du coffre de documents / Menu Action du coffre de documents |
Avec les Gestionnaires d'événements vous pouvez définir différentes opérations effectuées lors de la modification d'objets. Les opérations sont spécifiées à l'aide de variables, de propriétés communes de VBScript et M-Files API.
Vous pouvez créer et modifier les gestionnaires d'événements dans M-Files Admin : Ouvrez le coffre pour lequel vous souhaitez définir des gestionnaires d'événements : vous pouvez alors trouver les gestionnaires d'événements dans le menu Action ou en effectuant un clic droit sur le coffre. Vous pouvez ajouter plusieurs opérations différentes au même gestionnaire d'événements en les nommant séparément.
La documentation M-Files API est installée dans le dossier Démarrer > Programmes > M-Files > Documentation > M-Files API. Pour de plus amples informations sur le code VBScript et M-Files API, contactez [email protected]. Les instructions sur l'écriture du code VBScript et l'utilisation de M-Files API sont disponibles auprès du support technique M-Files pour un prix séparé.
Exemple
Lors de la création d'un nouvel objet, le gestionnaire d'événements peut être utilisé pour contrôler par exemple si le coffre de documents contient déjà un objet avec ce titre. Si c'est le cas, l'utilisateur reçoit un message d'erreur. Dans ce cas, le code VBScript suit alors le format suivant (exemple uniquement en anglais) :
' L'identifiant de la propriété de titre.
Dim titleProperty
titleProperty = MFBuiltInPropertyDefNameOrTitle
' Trouver la propriété du titre de l'objet courant.
Dim currentTitleProp
currentTitleProp = PropertyValues.SearchForProperty(titleProperty)
' Obtenir le titre de l'objet.
Dim currentTitle
currentTitle = currentTitleProp.Value
' Rechercher les objets sur la base du titre.
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)
' Si un objet existant avec le même titre a été trouvé, émettre une erreur.
If SearchResults.Count > 1 Then
Err.Raise MFScriptCancel, _
"Le coffre contient déjà un objet avec le même titre".
End if