Plug-ins instantanés

Effectué

L’utilisation de plug-ins instantanés constitue un excellent moyen de rendre votre logique Power Fx réutilisable par plusieurs applications et flux. Les sections suivantes décrivent comment configurer des plug-ins instantanés et fournissent quelques considérations importantes.

Choisissez de bons noms de plug-in

Lorsque vous créez un plug-in instantané, l’un des choix que vous devez faire est le nom d’affichage. Le créateur utilise le nom d’affichage lorsqu’il appelle votre plug-in depuis son application ou son flux. Bien que le nom d’affichage puisse comporter 100 caractères, vous ne devez pas vous en servir de description. À la place, vous devez le rendre suffisamment informatif afin que le créateur puisse comprendre ce qu’il fait et le différencier des autres plug-ins. Vous ne pouvez pas modifier le nom d’affichage après avoir enregistré le plug-in.

Lorsque le créateur utilise le plug-in, le nom d’affichage s’affiche dans une liste aux côtés de tous les autres plug-ins instantanés low-code et des actions d’API personnalisées créées par les développeurs de code. Le nom d’affichage comporte le préfixe de l’éditeur de votre solution. Par exemple, si votre nom d’affichage est CalculateRiskScore, il s’affiche sous la forme contoso_CalculateRiskScore.

Les exemples suivants décrivent des noms à améliorer :

  • Validate : ce nom ne précise pas ce que vous validez. À la place, un meilleur nom serait ValidateAccountNumber.

  • Schedule : même s’il est clair que ce nom fait référence à des calendriers, ce que vous planifiez n’est pas clair. Un meilleur nom serait ScheduleOfficeVisit. L’utilisation de ce nom plus descriptif signifie que vous pourrez ajouter d’autres plug-ins de type planification à l’avenir, si nécessaire.

Une bonne pratique consiste à réfléchir aux autres actions que vous ou d’autres pourriez ajouter à l’avenir. De plus, veillez à déterminer si le nom que vous avez choisi est suffisamment flexible pour vous permettre de créer d’autres noms à la fois similaires et parlants.

Configurer des paramètres d’entrée et de sortie

Les paramètres vous permettent de transmettre des données vers et depuis un plug-in instantané. Les paramètres peuvent être de l’un des types de données suivants :

  • Entier : utilisez ce type de données pour les nombres entiers tels que 9999.

  • Décimal : utilisez des décimaux pour des calculs financiers et précis.

  • Flottant : utilisez des nombres à virgule flottante pour les calculs scientifiques et à grande échelle.

  • Booléen : ce type de données vous permet d’indiquer true ou false.

  • Chaîne : utilisez ce type de données pour les données alphanumériques.

  • EntityReference : ce type de données vous permet de transmettre un identificateur à une ligne de table Dataverse. Lorsque vous choisissez ce type, vous devez également choisir une table Dataverse qui indique vers quoi pointe cette référence.

Vous pouvez configurer tout nombre de paramètres d’entrée et de sortie pour gérer votre scénario. Lorsque vous utilisez votre plug-in instantané, tous les paramètres d’entrée que vous définissez doivent avoir des valeurs transmises. À l’heure actuelle, le système ne vous permet pas de les marquer comme facultatifs.

Comme pour le nom d’affichage, le nom que vous choisissez pour vos paramètres doit être parlant. Bien que vous puissiez les nommer A, B ou C, cela rendrait votre logique plus difficile à lire. Les noms doivent être alphanumériques et ne pas comporter d’espaces. Vous pouvez diviser deux mots à l’aide du caractère de soulignement (_) au lieu d’une espace. Par exemple, AccountNumber ou Account_Number est acceptable.

Veillez à utiliser des noms uniques pour tous les paramètres d’entrée et de sortie. Bien que vous puissiez utiliser le même nom pour les paramètres d’entrée et de sortie, nous vous le déconseillons.

Vous pouvez ajouter et supprimer des paramètres après avoir publié votre plug-in, puis le rendre utilisable par les créateurs. Ces modifications peuvent interrompre les applications et les flux qui utilisent votre plug-in. Au lieu de modifier votre plug-in existant, vous pouvez créer une version avec les nouveaux paramètres. Cette approche garantit que vous n’affectez pas les applications et les flux des utilisateurs existants.

Utiliser des paramètres d’entrée dans votre logique

Après avoir défini vos paramètres d’entrée, vous pouvez les utiliser dans votre logique en commençant à taper leur nom, puis en les sélectionnant dans la liste. L’exemple suivant comporte trois paramètres d’entrée : FirstName, MiddleName et LastName.

Concatenate(FirstName," ",MiddleName," ",LastName)

Au lieu de créer trois paramètres distincts, vous pouvez utiliser un seul paramètre EntityReference pour une table Dataverse avec les trois colonnes. Dans ce cas, vous auriez accès à la ligne de table référencée et à toutes ses colonnes. Si votre colonne EntityReference est nommée MyContact, votre expression ressemblerait désormais à la logique suivante :

Concatenate(MyContact.'First Name'," ",MyContact.'Middle Name',MyContact.'Last Name')

Utiliser des paramètres de sortie dans votre logique

Vous pouvez définir des propriétés de sortie en créant un enregistrement intraligne. Créez l’enregistrement intraligne à l’aide d’accolades {} qui comportent des valeurs de champ nommé correspondant aux noms des paramètres de sortie. En reprenant l’exemple précédent, vous définiriez un paramètre de sortie FullName pour comporter le nom concaténé.

{FullName: Concatenate(FirstName," ",MiddleName," ",LastName) }

Vous pouvez également avoir plusieurs paramètres de sortie. Par exemple, si FullName est le paramètre d’entrée et que FirstName, MiddleName et LastName sont les paramètres de sortie, votre expression de plug-in ressemblerait à la logique suivante :

{FirstName:<First Name Expression> , MiddleName:<Middle Name Expression>, LastName:<Last Name Expression>}

Même si une implémentation réelle des expressions pourrait s’avérer compliquée dans la gestion de toutes les variations possibles, l’implémentation simple suivante afficherait les parties distinctes de FullName :

{
     FirstName:First(Split(FullName, " ")).Value,
     MiddleName:If(CountRows(Split(FullName, " ")) > 2, Last(FirstN(Split(FullName, " "), 2)).Value, ""),
     LastName:Last(Split(FullName, " ")).Value
}

Configurer une étendue

Dans la section Options avancées, lorsque vous créez un plug-in instantané, une option vous permet de configurer l’étendue. Vous disposez de deux options pour définir l’étendue : globale et entité. La valeur par défaut pour les nouveaux plug-ins est globale.

Vous pouvez utiliser l’étendue globale lorsque le plug-in instantané que vous créez n’est pas spécifique à une table Dataverse. Par exemple, si vous créez un plug-in instantané pour créer un message d’erreur générique, l’étendue globale serait appropriée, car elle n’a rien à voir avec une table Dataverse. Il serait approprié d’utiliser l’étendue d’entité si vous avez créé un plug-in instantané pour fournir une liste des colonnes de la ligne Contact pour lesquelles des données manquent.

La principale différence est que vous sélectionnez une table Dataverse lors de la configuration de l’étendue d’entité. Ensuite, lorsqu’un créateur appelle votre plug-in, il doit transmettre une référence à une ligne de cette table Dataverse. La logique de votre plug-in a accès à la ligne spécifiée par l’appelant et à toutes les colonnes de données. La logique de votre plug-in fait référence à cette ligne à l’aide de l’identificateur ThisRecord et vous n’avez pas besoin de configurer un paramètre d’entrée distinct pour celle-ci. L’exemple suivant illustre l’expression de nom concaténé pour un plug-in créé avec l’étendue d’entité sur la table Dataverse Contact :

{FullName: Concatenate(ThisRecord.'First Name'," ",ThisRecord.'Middle Name',ThisRecord.'Last Name') }

Tester des plug-ins instantanés

Après avoir enregistré avec succès votre plug-in instantané, vous pouvez le tester. Une liste de paramètres d’entrée s’affiche sur l’écran de test dans la section Demande. Fournissez des valeurs pour vos paramètres d’entrée. Si des paramètres sont de type EntityReference, vous devez rechercher ou obtenir un GUID pour l’une des lignes de table. Après avoir fourni des valeurs pour chaque paramètre, vous pouvez cliquer sur Exécuter dans la barre de commandes pour démarrer le test. L’image suivante est un exemple de test d’un plug-in :

Capture d’écran illustrant l’interface utilisateur permettant de tester le plug-in.

La section Réponse affiche les résultats de l’exécution du test. Si le test réussit, la zone de texte comporte la sortie de votre plug-in.

Vous pouvez également tester des plug-ins instantanés depuis l’écran d’accueil de l’application Accélérateur de données.