Édition du code VBScript

La création d'une valeur automatique personnalisée et de valeurs calculées peut être programmée en utilisant les propriétés communes de M-Files API et VBScript. Cette section fournit des instructions supplémentaires sur l'utilisation de VBScript pour les valeurs automatiques.

Remarque : Des propriétés automatiques peuvent également être créées pour les objets de manière à ce que les propriétés calculées comprennent non seulement les propriétés de l'objet, mais aussi celles d'un autre objet associé à l'objet actuel. Par exemple, si la propriété Client a été attachée au projet mais pas au document, un nom automatique peut être attribué au document en fonction des propriétés du document et/ou du projet. Le nom automatique du document peut par exemple suivre le format "Plan de maison Star / ESTT".

Édition du Code VbScript

Le code VBScript est édité dans la fenêtre Édition du code VBScript. Le code VBScript s'exécute à chaque fois qu'une valeur de propriété est recalculée, c'est-à-dire lorsqu'une propriété est modifiée. VBScript crée la valeur et l'affecte à une variable appelée Output. Cette valeur est stockée comme valeur de la propriété dans les métadonnées de l'objet.

Le code VBScript le plus simple pour générer une valeur automatique ressemble à ceci :

Output = "Valeur automatique"

Habituellement, une valeur automatique utilise d'autres propriétés d'objet, par exemple, en les concaténant. Le code VBScript peut utiliser les valeurs de propriété et les informations de base du même objet, ou d'un autre objet, à l'aide des variables VBScript suivantes disponibles :

CurrentUserID

Nom de variable : CurrentUserID

Type de données de variable : Numéro (voir M-Files API)

Utilisation de la variable : La variable CurrentUserID contient l'identifiant de l'utilisateur qui a effectué l'opération ayant déclenché le script.

DisplayID

Nom de variable : DisplayID

Type de données de variable : TypedValue (voir M-Files API)

Utilisation de la variable : La variable DisplayID contient l'identifiant unique de l'objet. Cet identifiant s'affiche aux utilisateurs dans la zone des propriétés de M-Files Desktop lorsque l'objet est sélectionné dans la liste. DisplayID peut contenir à la fois des nombres et des lettres. Souvent, DisplayID est identique à l'identifiant interne de l'objet dont la valeur peut être obtenue avec la variable ObjVer. L'identifiant interne peut contenir uniquement des nombres. DisplayID et l'identifiant interne sont généralement différents lorsque l'objet a été importé d'une base de données externe.

MFScriptCancel

Nom de variable : MFScriptCancel

Type de données de variable : Numéro (voir M-Files API)

Utilisation de la variable : La variable MFScriptCancel contient le code d'erreur utilisé par les scripts pour afficher les messages d'erreur aux utilisateurs. M-Files ajoute souvent des données détaillées aux messages d'erreur ; vous pouvez éviter cela avec le code d'erreur de la variable MFScriptCancel.

Exemple : Err.Raise MFScriptCancel, "C'est le message d'erreur affiché à l'utilisateur."

ObjVer

Nom de variable : ObjVer

Type de données de variable : ObjVer (voir M-Files API)

Utilisation de la variable : La variable ObjVer contient l'identifiant unique complet de la version, se composant de l'identifiant du type d'objet, de l'identifiant interne de l'objet et de la version de l'objet.

PropertyValues

Nom de variable : PropertyValues

Type de données de variable : PropertyValues (voir M-Files API)

Utilisation de la variable : La variable PropertyValues contient toutes les valeurs de la propriété courante de la version (telles que le nom, le projet et le client). Chaque valeur de propriété est stockée dans PropertyValues comme variable de type PropertyValue.

Une valeur de propriété peut être obtenue avec la méthode SearchForProperty. Pour davantage d'informations, veuillez-vous reporter à la documentation de M-Files API.

PropertyDef

Nom de variable : PropertyDef

Type de données de variable : PropertyDef (voir M-Files API)

Utilisation de la variable : La variable PropertyDef contient les informations sur la valeur de propriété calculée, par exemple l'identifiant, le nom et le type de données de la définition de valeur de propriété.

LastUsed

Nom de variable : LastUsed

Type de données de variable : TypedValue (voir M-Files API)

Utilisation de la variable : La variable LastUsed n'est disponible que si un numéro personnalisé automatique est calculé. La valeur d'un numéro automatique dépend habituellement du calcul précédent ; par exemple, dans la numérotation séquentielle normale, la valeur automatique est incrémentée par un à chaque fois. Quand vous configurez une numérotation automatique personnalisée, le résultat du calcul précédent peut être obtenu en utilisant la variable LastUsed.

Par exemple, une numérotation automatique simple incrémentant par un peut être programmée avec le simple code VBScript suivant : Output = LastUsed + 1.

Output

Nom de variable : Output

Type de données de variable : TypedValue (voir M-Files API)

Utilisation de la variable : Lorsque le code VBScript commence à être exécuté, la variable Output contient la valeur courante de la propriété calculée (sauf pour la numérotation automatique).

L'objectif principal du code VBScript est de générer une nouvelle valeur et de l'affecter à une variable de sortie nommée Output, laquelle est alors enregistrée dans les métadonnées de l'objet. Si le code VBScript ne définit pas de valeur pour la variable Output, la valeur de la propriété dans les métadonnées reste inchangée.

Dans les cas simples, la valeur de la variable Output peut être définie avec une expression simple, par exemple : Output = 123.

Si le type de données de la valeur calculée est par exemple Choisir dans la liste, la méthode SetValue est recommandée pour définir la valeur de la variable Output (voir M-Files API), par exemple comme ceci : Output.SetValue MFDatatypeLookup, 101.

Vault

Nom de variable : Vault

Type de données de variable : Vault (voir M-Files API)

Utilisation de la variable : La variable "Vault" représente le coffre utilisé pour exécuter le script. Avec l'identifiant, le script peut traiter le contenu du coffre de la même manière qu'avec l'interface M-Files API. En cas d'erreur, toutes les modifications apportées au coffre à travers l'entité "Vault" seront annulées.

L'utilisation de l'entité "Vault" avec des scripts comporte certaines limitations. Avec l'entité "Vault", les scripts ne peuvent pas modifier l'étape de l'objet dans lequel le script est exécuté. Le changement d'étape se rapporte au verrouillage de l'objet, à la publication de l'objet, au déverrouillage, à la suppression et à la destruction de l'objet. Ainsi, tous les autres objets verrouillés dans le script doivent être publiés lors de l'exécution du même script.

VaultSharedVariables

Nom de variable : VaultSharedVariables

Type de données de variable : NamedValues (voir M-Files API)

Utilisation de la variable : La variable VaultSharedVariables est une collection de valeurs nommées qui sont stockées dans la base de données du coffre. Avec la variable, les scripts peuvent stocker leurs propres valeurs dans la base de données afin qu'elles soient également disponibles pour d'autres scripts. Les types de données autorisés pour les valeurs nommées sont des variables entières, des booléens et des chaînes.

Dans l'exemple suivant, la valeur 123 est stockée comme une valeur nommée et la valeur calculée en chiffres est alors définie comme la valeur :

VaultSharedVariables( "Message" ) = 123

Output = VaultSharedVariables( "Message" )

Exemple de code

L'exemple de code suivant génère une valeur automatique pour la propriété "Intitulé de proposition" en utilisant le numéro de proposition et les informations client dans les métadonnées de la version de l'objet. L'identifiant de la propriété Numéro de proposition est 1156 et l'identifiant de la propriété Client est 1288. Par exemple, si un document a le numéro de proposition 5577 et le client est ESTT, le code ci-dessous génère la chaîne de caractères suivante pour l'intitulé de la proposition : "Proposal #5577 / ESTT".

Option Explicit

' Obtenir le numéro de proposition.

Dim szNumber

szNumber = PropertyValues.SearchForProperty( 1156 ).TypedValue.DisplayValue

' Obtenir le client.

Dim szCustomer

szCustomer = PropertyValues.SearchForProperty( 1288 ).TypedValue.DisplayValue

' Générer l'intitulé de la proposition.

Dim szName

szName = "Proposal #" & szNumber & " / " & szCustomer

' Résultat.

Output = szName

La documentation M-Files API est installée dans le dossier Démarrer / Programmes / M-Files / Documentation / M-Files API. Pour plus d'informations sur la création de valeurs automatiques avec le code VBScript, contactez [email protected]. Une aide à l'écriture du code VBScript et à l'utilisation de M-Files API est disponible auprès du support technique M-Files à un tarif spécifique.