Utiliser Power Fx
Power Fx est le langage low-code utilisé sur l’ensemble de Microsoft Power Platform. Vous connaissez peut-être Power Fx si vous avez créé une application canevas Power Apps. Power Fx permet également d’implémenter une logique personnalisée avec des commandes de barre de commandes Power Apps pilotées par modèle. La logique de barre de commandes peut utiliser un sous-ensemble des fonctionnalités linguistiques Power Fx complètes.
Vous pouvez utiliser deux emplacements Power Fx lors de la personnalisation d’une commande :
OnSelect : cette logique s’exécute en cas de clic sur un bouton de commande par un utilisateur.
Visible : cette logique est exécutée pour évaluer si une commande doit être masquée ou visible pour l’utilisateur exécutant l’application.
Configuration de la logique OnSelect
Afin d’utiliser la logique Power Fx lorsque la commande est cliquée, assurez-vous que la propriété Action est configurée pour exécuter la formule. Vous pouvez trouver la propriété Action dans le volet Commande sur le côté gauche de l’écran.
Lorsqu’elle est configurée, la barre de formule est activée et la logique Power Fx peut être fournie. Cette option est la valeur par défaut pour les nouvelles commandes. Cependant, si la barre de formule est désactivée, vous utilisez probablement une commande utilisant JavaScript pour la logique.
Vous pouvez fournir votre logique personnalisée à l’aide de la barre de formule en haut de la page.
La formule par défaut est simplement « true », ce qui n’entraîne aucune action. Vous devez fournir votre logique afin que la commande effectue une action lorsqu’elle est cliquée.
Vous pouvez également cliquer sur Ouvrir la barre de formule dans le volet Commande, afin de mettre l’accent sur la barre de formule et de pouvoir apporter des modifications.
Lorsqu’un utilisateur clique sur la commande, toutes les modifications en attente sur les données du formulaire sont enregistrées, puis la logique OnSelect de la commande est exécutée. Cet ordre garantit un état homogène des données au moment où la commande est exécutée.
Configuration de la logique Visible
Par défaut, les nouvelles commandes ajoutées à une barre de commandes sont visibles. En redéfinissant la propriété Visibility de la commande sur Afficher à la condition de la formule, vous pouvez fournir une formule évaluée pour déterminer si la commande doit être visible. La propriété Visibility peut être trouvée et modifiée dans le volet gauche Commande.
Vous pouvez fournir une logique de visibilité personnalisée d’une commande à l’aide de la barre de formule en haut de la page.
N’oubliez pas que la formule par défaut est simplement « true », ce qui rend la commande toujours visible. Pour modifier la valeur par défaut, vous devez fournir votre logique true/false. Si votre formule aboutit à une évaluation false, la commande n’est pas visible.
La formule de visibilité est réévaluée si l’une de ses valeurs dépendantes change. Ainsi, la visibilité de la commande peut être adaptée en fonction de l’état actuel des données et des actions utilisateur. Par exemple, un bouton peut être visible après la sélection de toutes les lignes d’une grille.
Données actuellement actives
La possibilité de référencer les données actuellement actives est une fonctionnalité précieuse lors de l’écriture de formules pour des commandes. Par exemple, si la barre de commandes se trouve dans le formulaire principal pour une ligne de table, les données actuellement actives sont la ligne. Si la barre de commandes se trouve dans la grille principale, les données actuellement actives sont la table des lignes s’affichant dans la grille.
Vous pouvez accéder aux données actuellement actives à l’aide de la propriété Selected. La propriété Selected est renseignée automatiquement lors de l’exécution. La propriété Selected comporte plusieurs champs disponibles ; les champs disponibles dépendent de la sélection d’un seul élément ou d’une table d’éléments.
| Champ | Type | Description |
|---|---|---|
| Élément | Enregistrement de la DataSource | Disponible seulement si une seule ligne est sélectionnée ou dans un formulaire affichant une seule ligne. Lorsqu’il n’est pas renseigné, il est défini sur vide. Par exemple, la formule suivante vérifierait la valeur de la colonne d’évaluation du compte : Self.Selected.Item.'Account Rating'>20 |
| AllItems | Table d’enregistrements de la DataSource | Toutes les lignes sélectionnées dans la DataSource. Par exemple, la formule suivante vérifierait le nombre sélectionné : CountRows(Self.Selected.AllItems) > 0 |
| État | Enum | Indique si le contrôle d’hébergement est à l’état Modifier (=0), Nouveau (=1) ou Afficher (=2). |
| Non enregistré | Booléen | Renvoie true si la propriété Selected ou SelectedItems comporte des modifications non enregistrées. Sinon renvoie false. |
Données de sources de données
Outre l’utilisation de données de la propriété Selected, vous pouvez également interroger et enregistrer des données dans d’autres tables Microsoft Dataverse. Par exemple, la formule suivante redéfinit le nom sur une ligne de compte sur « Nouveau nom de compte » :
Patch(Accounts, Self.Selected.Item, {'Account Name': "New Account name"})
Vous pouvez également accéder aux lignes associées à l’aide des relations entre les tables. Par exemple, la formule suivante permet d’accéder aux rendez-vous récurrents associés à l’élément actuellement sélectionné :
Self.Selected.Item.'Recurring Appointments'
À l’heure actuelle, Microsoft Dataverse est la seule source de données disponible pour utiliser la logique de commande.
Scénarios courants
L’utilisation de la logique Power Fx sur une commande permet de gérer un large éventail de cas d’utilisation. Voici quelques exemples de cas d’utilisation courants que vous pourriez implémenter :
Créer des lignes associées en fonction des données actuelles. Par exemple, vous pouvez créer une série d’appels de suivi planifiés en fonction de la valeur potentielle de l’opportunité.
Accéder à des sites web internes ou externes. Par exemple, vous pouvez effectuer une recherche sur un site d’actualité pour la société actuelle en transmettant le nom de la société de la ligne comme paramètre de recherche.
Modifier des données sur la ligne actuelle. Par exemple, vous pouvez disposer d’une table de service qui suit les clients de service actifs. Vous pouvez sélectionner une commande sur une ligne inactive pour réactiver le service pour le client en définissant diverses valeurs sur la ligne pour refléter le nouveau statut du service.
Vérifier que des commandes sont visibles quand elles devraient l’être à l’aide de RecordInfo. RecordInfo permet d’obtenir des informations sur un enregistrement particulier d’une source de données. Par exemple, vous pouvez vérifier si l’utilisateur dispose d’une autorisation de modification et afficher la commande seulement si c’est le cas.
Lorsque vous commencerez à implémenter la logique Power Fx pour des commandes, vous serez inspiré pour créer d’autres cas d’utilisation propres à vos applications.