Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce tutoriel vous montre le processus permettant d’étendre le concepteur de flux de travail pour ajouter des activités et une logique personnalisées à l’aide d’un assembly de flux de travail, parfois appelé activité de flux de travail. Les extensions que vous créez de cette façon peuvent être utilisées dans un flux de travail, une action personnalisée ou une boîte de dialogue.
Ce tutoriel utilise un exemple très simple pour vous concentrer sur les exigences et le processus pour :
- Créer un projet de bibliothèque de classes Visual Studio
- Ajouter une classe CodeActivity
- Définir des paramètres d’entrée et de sortie
- Ajoutez votre logique métier
- Signer et générer l’assembly
- Enregistrer votre assembly
- Testez votre assembly
- Ajouter votre assembly à une solution
Prerequisites
- Une instance de Microsoft Dataverse et des privilèges d’administrateur
- Compréhension de la configuration des flux de travail. Plus d’informations : flux de travail Dataverse classiques
- Application basée sur un modèle qui vous permet de modifier des comptes.
Objectif
L’exemple ci-dessous crée une activité de flux de travail personnalisée simple qui peut être utilisée dans un flux de travail, une boîte de dialogue ou un processus d’action. Plus d’informations : Configurer les étapes et étapes du flux de travail
Cette activité de flux de travail personnalisée correspond aux exigences suivantes :
- Accepter un paramètre d’entrée décimal
- Sortie d’une valeur égale au paramètre d’entrée plus 10.
Dans un flux de travail pour l’entité compte , il peut être utilisé de la manière suivante pour incrémenter la valeur de limite de crédit en procédant comme suit :
L’étape 1 utilise l’activité de flux de travail personnalisée Exemple : Incrémenter par 10 pour accepter la valeur Limite de Crédit du Compte et l’incrémenter de 10. L’étape 2 utilise l’action Mettre à jour l’enregistrement pour mettre à jour la valeur limite de crédit du compte avec la valeur incrémentée.
Étape 1 : Obtenir une limite de crédit de compte incrémentée
Lorsque la première étape est ajoutée, l’activité de flux de travail personnalisée est disponible dans un groupe d’exemples et porte le nom Incrément de 10.
Lors de la configuration de la première étape en cliquant sur le bouton Définir les propriétés , la propriété d’entrée décimale est requise et accepte uniquement une valeur décimale, telle que l’attribut Limite de crédit de l’entité Account .
Étape 2 : Définir la nouvelle limite de crédit de compte
Dans la deuxième étape, une action de mise à jour de l'enregistrement affectera la sortie de l'étape Obtenir la limite de crédit de compte incrémentée pour mettre à jour la valeur de la limite de crédit du compte avec la valeur incrémentée.
Créer un projet de bibliothèque de classes Visual Studio
Ce projet créera un assembly de workflow simple qui incrémentera une valeur décimale de 10.
Démarrez Visual Studio.
Dans le menu Fichier , cliquez sur Nouveau, puis sur Projet.
Recherchez la bibliothèque de classes et sélectionnez Bibliothèque de classes (.NET Framework).
Cliquez sur Suivant.
Spécifiez un nom et un emplacement pour la solution.
Note
Choisissez un nom de projet qui est logique pour votre projet. Dans cet exemple, nous allons utiliser
SampleWorkflowActivity.Cliquez sur Créer.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, sélectionnez Propriétés. Sous l’onglet Application , vérifiez que .NET Framework 4.6.2 est défini comme framework cible.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Gérer les packages NuGet... .
Recherchez le package NuGet Microsoft.CrmSdk.Workflow et installez-le.
Note
Assurez-vous que le package que vous installez appartient à crmsdk. Ce package contiendra le fichier
Microsoft.Xrm.Workflow.dllavec une dépendance sur le package Microsoft.CrmSdk.CoreAssemblies afin que l’assemblyMicrosoft.Xrm.Sdk.dllrequis soit également inclus.Vous devez cliquer sur J’accepte dans la boîte de dialogue Acceptation de licence .
Renommer le fichier de classe
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier par défaut Class1.cs, puis sélectionnez Renommer.
Note
Choisissez un nom de classe qui est logique pour votre activité. Dans cet exemple, nous allons nommer la classe
IncrementByTen.Sélectionnez Oui dans la boîte de dialogue qui vous demande si vous souhaitez également renommer la classe.
Ouvrez le fichier IncrementByTen.cs et ajoutez ce qui suit à l’aide des instructions :
using System.Activities; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Workflow;Faites en sorte que la classe hérite de la classe CodeActivity et lui donne un modificateur d’accès public, comme indiqué ici :
public class IncrementByTen: CodeActivity { }Ajoutez la méthode Execute à partir de la classe
CodeActivityà l’aide d’Actions rapides Visual Studio ou manuellement :
La classe ressemble maintenant à ceci :
public class IncrementByTen : CodeActivity { protected override void Execute(CodeActivityContext context) { throw new NotImplementedException(); } }
Définir des paramètres d’entrée et de sortie
Ajoutez un ensemble de paramètres d’entrée et de sortie où la valeur du paramètre de sortie sera la valeur du paramètre d’entrée incrémenté de 10.
public class IncrementByTen : CodeActivity { [RequiredArgument] [Input("Decimal input")] public InArgument<decimal> DecInput { get; set; } [Output("Decimal output")] public OutArgument<decimal> DecOutput { get; set; } protected override void Execute(CodeActivityContext context) { } }Note
Notez comment les attributs .NET sont utilisés pour fournir des métadonnées sur les paramètres de l’assembly. Pour plus d’informations, voir : Ajouter des paramètres
Ajoutez votre logique métier
Ajoutez la logique dans la méthode Execute pour incrémenter la valeur d’entrée de 10.
protected override void Execute(CodeActivityContext context)
{
decimal input = DecInput.Get(context);
DecOutput.Set(context, input + 10);
}
Signer et générer l’assembly
Les assemblys d’activité de workflow personnalisées (et les plug-ins) doivent être signés. Dans les propriétés du projet, sous l’onglet Signature , sélectionnez Signer l’assembly. Sous Choisir un fichier de clé de nom fort, sélectionnez l’option <Nouveau...>. Vous n’avez pas besoin de définir un mot de passe à l’intention de ce didacticiel. Pour cet exemple, nous avons créé un nouveau fichier de clé de nom fort nommé
SampleWorkflowActivity.snk
Générez la solution en mode Débogage et vérifiez que l’assembly
SampleWorkflowActivity.dllse trouve dans le/bin/Debugdossier.
Note
Lors du développement d’un assembly, il est correct d’utiliser la configuration de build Debug . Lorsque vous déployez votre assembly sur un serveur de production ou dans une solution, vous devez utiliser la configuration de build Release .
Enregistrer votre assembly
Des assemblys d’activités de workflow personnalisées sont inscrites à l’aide de l’outil Plug-in Registration. L’outil fournit une interface utilisateur graphique et prend en charge l’inscription d’assemblys qui contiennent des plug-ins ou des activités de flux de travail personnalisées. Pour obtenir l’outil d’inscription de plug-in, consultez : Outils de développement Dataverse
Se connecter à l’aide de l’outil de Plug-in Registration.
Ouvrez l’outil d’inscription de plug-in en exécutant la commande PAC CLI
pac tool prt.Sélectionnez +Créer une connexion pour vous connecter à votre environnement Dataverse.
Vérifiez qu’Office 365 est activé.
Si vous vous connectez à l’aide d’un compte Microsoft autre que celui que vous utilisez actuellement, sélectionnez Afficher avancé et entrez vos informations d’identification. Sinon, laissez la connexion en tant qu’utilisateur actuel sélectionnée.
Note
Si votre compte d’utilisateur utilise l’authentification multifacteur (MFA), vérifiez que la case à cocher Afficher avancé n’est pas cochée.
Si votre compte Microsoft fournit l’accès à plusieurs environnements, sélectionnez Afficher la liste des organisations disponibles.
Sélectionnez Connexion.
Si vous avez sélectionné Afficher la liste des organisations disponibles, sélectionnez l’organisation à laquelle vous souhaitez vous connecter et sélectionnez Connexion.
Une fois connecté, vous verrez les plug-ins inscrits existants, les activités de flux de travail personnalisées et les fournisseurs de données.
Enregistrer votre assembly
Sélectionnez Inscrire>Inscrire un nouvel assembly
Dans la boîte de dialogue Inscrire un nouvel assembly, cliquez sur les points de suspension (…) et accédez à
SampleWorkflowActivity.dlldans le dosser/bin/Debug.
Note
Remarque : Avec Dataverse, les seules options valides pour les étapes 3 et 4 sont sélectionnées et les options non valides sont désactivées.
Cliquez sur Inscrire les plug-ins sélectionnés. Une boîte de dialogue de confirmation doit s’afficher.
Cliquez sur OK pour fermer la boîte de dialogue Inscrire un nouvel assembly .
Configurer les noms d’activité
Dans la liste des Plug-ins inscrits et activités de workflow personnalisées localisez l’assembly (Assembly) SampleWorkflowActivity et développez-le pour afficher l’activité de workflow (Activité de workflow) SampleWorkflow.Activity.IncrementByTen - Isolable.
Sélectionnez l’activité de workflow (Activité de workflow) SampleWorkflow.Activity.IncrementByTen - Isolable et dans la zone Propriétés, modifiez les Propriétés modifiables à l’aide des valeurs du tableau suivant :
Champ modifiable Valeur d’origine Nouvelle valeur Descriptif Descriptif Retourne la valeur du paramètre d’entrée plus 10. Non visible dans l’interface utilisateur du concepteur de processus, mais peut être utile lors de la génération de la documentation à partir de données tirées de l’entité PluginType qui stocke ces informations. FriendlyName valeur GUID IncrementByTen Nom de plug-in convivial. Nom SampleWorkflowActivity.IncrementByTen Incrémenter de 10 Nom du menu représenté WorkflowActivityGroupName SampleWorkflowActivity (1.0.0.0) Sample Nom du sous-menu ajouté au menu principal du concepteur de procédure Dataverse. Note
Si nom etworkflowActivityGroupName sont définis sur null, l’activité personnalisée n’est pas visible dans le concepteur de processus.
Cliquez sur l’icône Enregistrer (icône) pour enregistrer les modifications.
Testez votre assembly
Vous pouvez tester votre nouvelle activité de flux de travail en créant un processus qui l’utilisera. Procédez comme suit pour créer le processus de flux de travail décrit dans la section Objectif ci-dessus :
Ouvrir Power Apps
Sélectionnez Solutions.
Ouvrez la solution cdS Default Publisher .
Dans le menu, développez ... et choisissez Basculer vers le classique.
Sélectionner processus dans la liste Composants
Sélectionnez Nouveau et dans la boîte de dialogue Créer un processus , entrez les éléments suivants :
Champ Valeur Nom du processus Test de SampleWorkflowActivity.IncrementByTen Catégorie Flux de travail Entité Compte Exécuter ce flux de travail en arrière-plan (recommandé) Désélectionné Note
L’option d’exécution de ce flux de travail en arrière-plan a été désélective pour en faire un flux de travail en temps réel (synchrone). Cela simplifie les tests.
Cliquez sur OK
Appliquez les modifications suivantes :
Champ Valeur Scope Organisation Commencer lorsque : Les champs d’enregistrement changent sélectionné et spécifié dans le champ namede la boîte de dialogue.
Note
La définition de l’étendue sur Organisation crée un workflow qui peut être appliqué à tout membre de l’organisation.
Ajoutez l’étape suivante :
Définissez la description de l’étape pour obtenir la limite de crédit de compte incrémentée , puis cliquez sur Définir les propriétés.
Définissez la valeur de la propriété d’entrée décimale sur la limite de crédit du compte avec la valeur par défaut 0.
Cliquez sur Enregistrer et fermer.
Ajoutez une étape d’enregistrement de mise à jour :
Cliquez sur Définir les propriétés et réglez la valeur de la limite de crédit sur celle de l’étape Obtenez la limite de crédit du compte incrémentée.
Les étapes de flux de travail doivent ressembler à ceci :
Cliquez sur Enregistrer et fermer.
Activez le flux de travail en cliquant sur Activer dans le menu...
Cliquez sur Activer dans la boîte de dialogue Activer la confirmation du processus .
Accédez à une application pilotée par modèle et affichez une liste de comptes.
Sélectionnez un compte.
Modifiez la valeur du champ Nom du compte .
Enregistrez le compte.
Vérifiez que le compte que vous avez modifié a une valeur de limite de crédit a augmenté de 10.
Ajouter votre assembly à une solution
Pour distribuer une activité de flux de travail personnalisée dans une solution, vous devez ajouter l’assembly inscrit qui le contient à une solution non managée.
Ouvrez la solution non managée à laquelle vous souhaitez ajouter l’assembly à l’aide de Power Apps
Sélectionnez Ajouter existant>Autre>Assembly du plug-in
Recherchez l’assembly de plug-in par nom, dans ce cas « SampleWorkflowActivity ».
Sélectionnez l’assembly de plug-in, puis sélectionnez Ajouter.
Voir aussi
Extensions de flux de travail
Exemple : créer une activité de workflow personnalisée
Exemple : mettre à jour l’anniversaire suivant à l’aide d’une activité de workflow personnalisée
Exemple : calculer un score de crédit avec une activité de workflow personnalisée