Partager via


Tutoriel : Créer une extension de flux de travail

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 :

  1. Accepter un paramètre d’entrée décimal
  2. 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’objectif de ce didacticiel.

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.

L'incrémentation par pas 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 .

Définition d’une entrée décimale.

É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.

Mettez à jour la limite de crédit.

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.

  1. Démarrez Visual Studio.

  2. Dans le menu Fichier , cliquez sur Nouveau, puis sur Projet.

  3. Recherchez la bibliothèque de classes et sélectionnez Bibliothèque de classes (.NET Framework).

    Recherche de bibliothèque de classes (.NET Framework).

  4. Cliquez sur Suivant.

  5. Spécifiez un nom et un emplacement pour la solution.

    Configurez la boîte de dialogue de votre nouveau projet dans Visual Studio 2019.

    Note

    Choisissez un nom de projet qui est logique pour votre projet. Dans cet exemple, nous allons utiliser SampleWorkflowActivity.

  6. Cliquez sur Créer.

  7. 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.

    définissez les propriétés du projet.

  8. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Gérer les packages NuGet... .

    gérer les packages nuget.

  9. Recherchez le package NuGet Microsoft.CrmSdk.Workflow et installez-le.

    Installez le package NuGet du flux de travail Microsoft.CrmSdk.Workflow.

    Note

    Assurez-vous que le package que vous installez appartient à crmsdk. Ce package contiendra le fichier Microsoft.Xrm.Workflow.dll avec une dépendance sur le package Microsoft.CrmSdk.CoreAssemblies afin que l’assembly Microsoft.Xrm.Sdk.dll requis soit également inclus.

  10. Vous devez cliquer sur J’accepte dans la boîte de dialogue Acceptation de licence .

    Acceptez le contrat de licence.

Renommer le fichier de classe

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le fichier par défaut Class1.cs, puis sélectionnez Renommer.

    Renommez le fichier Class1.cs.

    Note

    Choisissez un nom de classe qui est logique pour votre activité. Dans cet exemple, nous allons nommer la classe IncrementByTen.

  2. Sélectionnez Oui dans la boîte de dialogue qui vous demande si vous souhaitez également renommer la classe.

    Sélectionnez Oui pour renommer également la classe.

  3. 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;
    
  4. 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
        {
    
        }
    
  5. Ajoutez la méthode Execute à partir de la classe CodeActivity à l’aide d’Actions rapides Visual Studio ou manuellement :

    implémenter l’interface codeactivity.

  6. 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

  1. 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

  1. 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

    signer l’assembly.

  2. Générez la solution en mode Débogage et vérifiez que l’assembly SampleWorkflowActivity.dll se trouve dans le /bin/Debug dossier.

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.

  1. Ouvrez l’outil d’inscription de plug-in en exécutant la commande PAC CLI pac tool prt .

  2. Sélectionnez +Créer une connexion pour vous connecter à votre environnement Dataverse.

  3. Vérifiez qu’Office 365 est activé.

  4. 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.

  5. Si votre compte Microsoft fournit l’accès à plusieurs environnements, sélectionnez Afficher la liste des organisations disponibles.

    Connexion à l’aide de l’outil d’inscription de plugin.

  6. Sélectionnez Connexion.

  7. Si vous avez sélectionné Afficher la liste des organisations disponibles, sélectionnez l’organisation à laquelle vous souhaitez vous connecter et sélectionnez Connexion.

  8. 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.

    Afficher les plug-ins existants d’activités de flux de travail personnalisées.

Enregistrer votre assembly

  1. Sélectionnez Inscrire>Inscrire un nouvel assembly

    commande d'assemblage du registre.

  2. Dans la boîte de dialogue Inscrire un nouvel assembly, cliquez sur les points de suspension () et accédez à SampleWorkflowActivity.dll dans le dosser /bin/Debug.

    boîte de dialogue Inscrire un assembly.

    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.

  3. Cliquez sur Inscrire les plug-ins sélectionnés. Une boîte de dialogue de confirmation doit s’afficher.

    boîte de dialogue Plug-in inscrit.

  4. Cliquez sur OK pour fermer la boîte de dialogue Inscrire un nouvel assembly .

Configurer les noms d’activité

  1. 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.

  2. 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.

  3. Cliquez sur l’icône Enregistrer (icône) pour enregistrer les modifications.

    Enregistrez les propriétés de l’activité de flux de travail.

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 :

  1. Ouvrir Power Apps

  2. Sélectionnez Solutions.

  3. Ouvrez la solution cdS Default Publisher .

  4. Dans le menu, développez ... et choisissez Basculer vers le classique.

    Basculez vers l’interface utilisateur classique.

  5. Sélectionner processus dans la liste Composants

  6. 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.

    Création d’un processus.

  7. Cliquez sur OK

  8. Appliquez les modifications suivantes :

    Champ Valeur
    Scope Organisation
    Commencer lorsque : Les champs d’enregistrement changent sélectionné et spécifié dans le champ name de la boîte de dialogue.

    configuration d’un flux de travail de test.

    Note

    La définition de l’étendue sur Organisation crée un workflow qui peut être appliqué à tout membre de l’organisation.

  9. Ajoutez l’étape suivante :

    Ajoutez l’étape SampleWorkflowActivity.IncrementByTen.

  10. 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.

  11. 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.

    Définissez la propriété d’entrée décimale.

  12. Cliquez sur Enregistrer et fermer.

  13. Ajoutez une étape d’enregistrement de mise à jour :

    Ajoutez une étape d’enregistrement de mise à jour.

  14. 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.

    Définissez la valeur de la limite de crédit.

    Les étapes de flux de travail doivent ressembler à ceci :

    Flux de travail terminé.

  15. Cliquez sur Enregistrer et fermer.

  16. Activez le flux de travail en cliquant sur Activer dans le menu...

    activer la commande de flux de travail.

  17. Cliquez sur Activer dans la boîte de dialogue Activer la confirmation du processus .

    Boîte de dialogue Confirmation d’activation de processus.

  18. Accédez à une application pilotée par modèle et affichez une liste de comptes.

  19. Sélectionnez un compte.

  20. Modifiez la valeur du champ Nom du compte .

  21. Enregistrez le compte.

  22. Vérifiez que le compte que vous avez modifié a une valeur de limite de crédit a augmenté de 10.

    Vérification de l'augmentation de la limite de crédit du compte.

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.

  1. Ouvrez la solution non managée à laquelle vous souhaitez ajouter l’assembly à l’aide de Power Apps

  2. Sélectionnez Ajouter existant>Autre>Assembly du plug-in

    Ajoutez un assembly de plug-in existant.

  3. Recherchez l’assembly de plug-in par nom, dans ce cas « SampleWorkflowActivity ».

  4. 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