Définir des règles métier : présentation
Les règles métier sont une logique déclarative et une validation associée à une table Dataverse sans écrire de code.
Avec les règles métier, vous pouvez :
définir la valeur d’une colonne ;
modifier le niveau d’exigence d’une colonne ;
valider des données et afficher des messages d’erreur ;
modifier les propriétés d’une colonne dans un formulaire d’application pilotée par modèle ;
inviter l’utilisateur avec une recommandation dans un formulaire d’application pilotée par modèle.
La logique définie par une règle métier peut être appliquée côté client dans un formulaire d’application pilotée par modèle et/ou côté serveur lorsqu’une ligne Dataverse est créée ou mise à jour. Côté client signifie que la règle est appliquée immédiatement dans l’application lorsqu’un utilisateur modifie un champ. Côté serveur signifie lorsque la ligne est enregistrée et que la logique est exécutée pendant la transaction avant que les données ne soient enregistrées dans la base de données.
Comme une règle métier peut fonctionner côté serveur, les conditions et actions de la règle s’appliquent aux données Dataverse modifiées par les applications pilotées par modèle, les applications canevas, les sites Power Pages, les flux de cloud Power Automate ou les API Dataverse.
Pour déterminer où une règle métier s’applique, vous devez spécifier son étendue.
Étendue
L’étendue d’une règle métier définit le moment où la logique de la règle métier est appliquée.
Étendue | S’applique à |
---|---|
Entité (table) | Tous les formulaires principaux pilotés par modèle côté client et les modifications de données côté serveur. Il s’agit de la valeur par défaut lors de la création d’une règle métier. |
Tous les formulaires | Tous les formulaires principaux pilotés par modèle et le formulaire de création rapide |
Formulaire spécifique | Uniquement ce formulaire principal spécifique piloté par modèle |
Conseil
Pour utiliser une règle métier avec une application canevas, vous devez définir l’étendue sur Entité.
Règles métier et formulaires d’application pilotée par modèle
Les règles métier ont été initialement développées pour remplacer le code JavaScript simple dans les formulaires d’application pilotée par modèle. Un besoin courant consiste à manipuler les propriétés et les colonnes de valeur du formulaire au moment de l’exécution en fonction des valeurs saisies ou sélectionnées par l’utilisateur dans d’autres colonnes.
Dans les formulaires d’application pilotée par modèle, les règles métier peuvent :
afficher ou masquer une colonne ;
rendre la colonne modifiable ou en lecture seule ;
modifier le niveau d’exigence d’une colonne ;
inviter l’utilisateur avec une recommandation ;
définir ou effacer la valeur d’une colonne.
Important
Les règles métier peuvent uniquement effectuer des actions sur les colonnes de table du formulaire et ne peuvent pas modifier les propriétés de sections ou d’onglets.
Ces actions sont effectuées lorsque :
le formulaire est ouvert ;
la valeur d’une colonne référencée par la règle est modifiée.
Remarque
Les règles métier ne sont pas appliquées dans l’événement d’enregistrement du formulaire.
Dois-je utiliser une règle métier ou un script côté client avec JavaScript ?
Dans les formulaires d’application pilotée par modèle, JavaScript permet d’effectuer de nombreuses actions possibles avec les règles métier, mais vous pouvez faire bien plus avec les scripts côté client :
JavaScript dispose d’un accès complet pour manipuler tous les types de contrôles de formulaire, y compris les onglets, les sections et les sous-grilles. Les actions dans les règles métier sont limitées aux colonnes de table.
Les règles métier ne peuvent accéder qu’aux colonnes du formulaire/de la table et ne peuvent pas accéder aux lignes dans les relations un-à-plusieurs ou plusieurs-à-un. Avec les scripts côté client, vous pouvez accéder aux lignes de ces relations à l’aide de l’API web.
Les règles métier sont limitées dans leurs formules à une simple addition, soustraction, division ou multiplication de deux colonnes.
Les recommandations sont uniquement disponibles dans les règles métier.
Règles métier côté serveur
Lorsque l’étendue de la règle métier est définie sur Entité, les conditions de la règle sont évaluées lors de l’enregistrement de la ligne. La logique est exécutée pendant la phase de pré-opération de la transaction de base de données. Une règle métier qui affiche un message d’erreur empêche l’enregistrement et annule de la transaction de base de données.
Remarque
Les actions qui s’appliquent uniquement aux applications pilotées par modèle sont ignorées lorsque la règle est exécutée côté serveur.