Partager via


Guide pas-à-pas : créer un adaptateur d’application UII

 

Date de publication : novembre 2016

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Vous pouvez créer un adaptateur d’application si vous souhaitez intégrer une application externe avec Unified Service Desk.Microsoft Dynamics 365 fournit un modèle Microsoft Visual Studio pour créer un adaptateur d'application. Le modèle fournit un code de base sous forme de commentaires pour vous aider à créer l’adaptateur d’application.

Dans ce guide pas-à-pas, vous allez créer une application externe QsExternalApp et l’héberger dans le Unified Service Desk. Vous allez ensuite créer et configurer un adaptateur d’application ExternalApplicationAdapter pour que l’application externe puisse interagir avec le Unified Service Desk. L’application externe a quatre étiquettes, respectivement pour le prénom, le nom, l’adresse et l’ID du client, et quatre zones de texte correspondantes pour afficher les valeurs du Unified Service Desk.

Contenu de la section

Configuration requise

Étape 1 : créer un exemple d’application externe

Étape 2 : configurer l’application externe dans Microsoft Dynamics 365.

Étape 3 : tester l’application externe

Étape 4 : créer l’adaptateur d’application

Étape 4 : configurer l’adaptateur d’application dans Dynamics 365

Étape 5 : tester l’adaptateur d’application

Configuration requise

Étape 1 : créer un exemple d’application externe

  1. Téléchargez le package Kit de développement logiciel (SDK) UII.

  2. Double-cliquez sur le fichier du package pour extraire le contenu.

  3. Accédez au dossier <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp et ouvrez le fichier Microsoft.Uii.QuickStarts.QsExternalApp.csproj dans Visual Studio.

  4. Appuyez sur F5 ou choisissez Débogage > Démarrer le débogage pour créer un exemple d’application externe. L’application (Microsoft.Uii.QuickStarts.QsExternalApp.exe) est créée dans le dossier /bin/debug du projet.

    Exemple d'application externe

Étape 2 : configurer l’application externe dans Microsoft Dynamics 365.

Dans cette étape, vous allez créer un contrôle hébergé de type Application hébergée externe pour afficher l’application Windows Forms.

  1. Connectez-vous à Microsoft Dynamics 365.

  2. Sur la barre de navigation, cliquez ou appuyez sur Microsoft Dynamics 365, puis sélectionnez Paramètres.

  3. Cliquez ou appuyez sur Paramètres > Centre de services unifié > Contrôles hébergés.

  4. Cliquez sur Nouveau.

  5. Dans la page Nouveau contrôle hébergé, spécifiez les valeurs suivantes :

    Champ

    Valeur

    Nom

    QsExternalApp

    Composant USD

    Application hébergée CCA

    Application hébergée

    Application hébergée externe

    Application globale

    Activée

    Afficher le groupe

    MainPanel

    Adaptateur

    N'utiliser aucun adaptateur

    Application dynamique

    Non

    URI d'application externe

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    Écran de configuration de l'adaptateur d'application

    Paramètres d'hébergement d’applications externes dans Unified Service Desk

  6. Cliquez sur Enregistrer.

Étape 3 : tester l’application externe

  1. Copiez l’application depuis le dossier de sortie de votre projet Visual Studio (<ProjectFolder>\bin\debug) vers le répertoire de l’application Unified Service Desk. Dans ce cas, nous copierons le fichier Microsoft.Uii.QuickStarts.QsExternalApp.exefile dans le répertoire C:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Exécutez le client Unified Service Desk pour vous connecter à votre serveur Microsoft Dynamics 365.

  3. Une fois connecté, vous verrez le bouton Exemple d’application externe sur votre bureau.

  4. Choisissez Exemple d’application externe pour afficher votre application externe hébergée dans le Unified Service Desk.

Exemples d’applications externes dans Unified Service Desk

Notes

À ce stade, les champs sont vides car vous hébergez uniquement l’application dans le Unified Service Desk. Pour les remplir avec les valeurs du Unified Service Desk, vous devrez créer un adaptateur d’application comme décrit dans l’étape suivante.

Étape 4 : créer l’adaptateur d’application

  1. Démarrez Microsoft Visual Studio et créez un projet.

  2. Dans la boîte de dialogue Nouveau projet :

    1. Dans la liste des modèles installés, développez Visual C#, puis sélectionnez Modèles Dynamics 365 SDK > Unified Service Desk > Adaptateur d’application UII.

    2. Spécifiez le nom et l'emplacement du projet, puis cliquez sur OK pour créer un nouveau projet.

      Adaptateur d'application externe dans Visual Studio

  3. Dans l’Explorateur de solutions, développez la section Références pour vous assurer que toutes les références d’assembly sont correctement résolues.

  4. Ouvrez le fichier AppAdapter.cs et ajoutez les lignes de code suivantes pour définir les emplacements de chaque composant dans la page de la définition de la classe.

    // Set up your locations for each component on the page.
            // If you wish, you could use Spy++ to get the actual names as well.
            // First Name text box
            int intFirstNameCoordX = 47;
            int intFirstNameCoordY = 32;
            // Last Name text box
            int intLastNameCoordX = 223;
            int intLastNameCoordY = 32;
            // Address Text box
            int intAddressCoordX = 47;
            int intAddressCoordY = 81;
            // Customer ID text box
            int intIDCoordX = 47;
            int intIDCoordY = 126;
    
  5. Ajoutez le code suivant à la définition de NotifyContextChange pour informer l’application que le contexte a changé. Pour plus d'informations, consultez la rubrique NotifyContextChange.

    public override bool NotifyContextChange(Context context)
            {
                IntPtr ptr = MainWindowHandle;
                // Find the control (first name) by position
                IntPtr childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY));
                // Fill data out
                Win32API.SetWindowTextAny(childHwnd, context["firstname"]);
                // Find the control (last name) by position
                childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY));
                // Fill out the data
                Win32API.SetWindowTextAny(childHwnd, context["lastname"]);
                childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intAddressCoordX, intAddressCoordY));
                Win32API.SetWindowTextAny(childHwnd, context["address1_line1"]);
                childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intIDCoordX, intIDCoordY));
                Win32API.SetWindowTextAny(childHwnd, context["CustomerID"]);
                // Hands control back over to the base class to notify next app of context change.
                return base.NotifyContextChange(context);
    
            }
    
  6. Ajoutez le code suivant à la définition remplacée de DoAction pour mettre à jour les champs de formulaire avec les valeurs du Unified Service Desk.

    public override bool DoAction(Microsoft.Uii.Csr.Action action, RequestActionEventArgs args)
            {
                IntPtr ptr;
                IntPtr childHwnd;
                switch (args.Action)
                {
                    case "UpdateFirstName":
                        // Get locations of what you want to update and handles
                        ptr = MainWindowHandle;
                        childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intFirstNameCoordX, intFirstNameCoordY));
                        // Populate data into fields
                        Win32API.SetWindowTextAny(childHwnd, args.Data);
                        break;
                    case "UpdateLastName":
                        // Get locations of what you want to update and handles
                        ptr = MainWindowHandle;
                        childHwnd = Win32API.FindWindowByPosition(ptr, new Point(intLastNameCoordX, intLastNameCoordY));
                        // Populate data into fields
                        Win32API.SetWindowTextAny(childHwnd, args.Data);
                        break;
                }
                return base.DoAction(action, args);
            }
    
  7. Enregistrez votre projet, puis générez-le (Générer > Générer la solution). Lorsque le projet se génère correctement, un assembly (ExternalApplicationAdapter.dll) est généré dans le dossier \bin\debug de votre dossier de projets. Vous aurez besoin de cet assembly ultérieurement pour tester et utiliser votre adaptateur d’application.

Étape 4 : configurer l’adaptateur d’application dans Dynamics 365

  1. Connectez-vous à Microsoft Dynamics 365.

  2. Sur la barre de navigation, choisissez Microsoft Dynamics 365, puis sélectionnez Paramètres.

  3. Choisissez Paramètres > Centre de services unifié > Contrôles hébergés.

  4. Dans la liste des contrôles hébergés, sélectionnez le contrôle hébergé QsExternalApp.

    Contrôle hébergé dans Unified Service Desk

  5. Dans la section Configuration de l’adaptateur, spécifiez les valeurs suivantes :

    Champ

    Valeur

    Adaptateur

    Utiliser un adaptateur

    URI

    ExternalApplicationAdapter

    Type

    ExternalApplicationAdapter.AppAdapter

    Configuration de l'adaptateur externe dans Dynamics 365

    Notes

    URI est le nom de votre assembly et Type est le nom de votre assembly (dll) suivi d'un point (.), puis du nom de la classe dans votre projet Visual Studio. Dans cet exemple, le nom de l’assembly est ExternalApplicationAdapter et le nom de la classe est AppAdapter, qui est le nom de classe par défaut lorsque vous créez un adaptateur d’application.

  6. Cliquez sur Enregistrer pour enregistrer les modifications.

Étape 5 : tester l’adaptateur d’application

  1. Copiez l’assembly contenant la définition de votre adaptateur d’application depuis le dossier de sortie de votre projet Visual Studio(<ProjectFolder>\bin\debug) vers le répertoire de l’application Unified Service Desk. Dans ce cas, nous copierons le fichier ExternalApplicationAdapter.dll dans le répertoire c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Exécutez le client Unified Service Desk pour vous connecter à votre serveur Microsoft Dynamics 365.

  3. Une fois connecté, vous verrez l’exemple d’application externe sur votre bureau.

  4. Choisissez Rechercher, puis Contacts et sélectionnez un contact. Dans ce cas, nous sélectionnerons Patrick Sands.

    Liste des contacts dans Unified Service Desk

  5. Cliquez sur Exemple d’application externe. Le prénom, le nom, l’adresse et l’ID du client sont renseignés.

    Informations des clients dans l'application externe

Notes

Ce guide pas-à-pas montre comment afficher ou lire les données du Unified Service Desk dans l’application externe. Pour comprendre comment mettre à jour les données du Unified Service Desk à partir de l’application externe, consultez Guide pas-à-pas : créer un contrôle hébergé Windows Forms UII

Voir aussi

Utiliser les adaptateurs UII pour interagir avec les applications externes et Web

Unified Service Desk 2.0

© 2017 Microsoft. Tous droits réservés. Copyright