Overzicht: Een UII-toepassingsadapter maken

 

Gepubliceerd: november 2016

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

U kunt een toepassingadapter maken als u een externe toepassing wilt integreren met Unified Service Desk.Microsoft Dynamics 365 biedt een Microsoft Visual Studio-sjabloon voor het maken van een toepassingsadapter. De sjabloon bevat elementaire code als opmerkingen om u te helpen snel aan de slag te gaan met het maken van de toepassingsadapter.

In dit overzicht maakt u een externe toepassing genaamd QsExternalApp en host u deze in Unified Service Desk. U gebruikt en configureert vervolgens een toepassingadapter genaamd ExternalApplicationAdapter, waarmee de externe toepassing kan communiceren met Unified Service Desk. De externe toepassing heeft vier labels, voor de voornaam, de achternaam, het adres en de id van de klant, en vier corresponderende tekstvakken om de waarden uit Unified Service Desk weer te geven.

In deze sectie

Vereisten

Stap 1: Een externe voorbeeldtoepassing maken

Stap 2: De externe toepassing configureren in Microsoft Dynamics 365.

Stap 3: De externe toepassing testen

Stap 4: De toepassingsadapter maken

Stap 4: De toepassingadapter configureren in Dynamics 365

Stap 5: De toepassingsadapter testen

Vereisten

  • Microsoft .NET Framework 4.5.2

  • Unified Service Desk-clienttoepassing, vereist om het gehoste besturingselement te testen.

  • Microsoft Visual Studio 2012, Visual Studio 2013 of Visual Studio 2015

  • NuGet Pakketbeheer voor Visual Studio 2012, Visual Studio 2013 of Visual Studio 2015

  • Microsoft Dynamics 365 SDK-sjablonen voor Visual Studio die de projectsjabloon voor het gehoste UI-besturingselement bevatten. U kunt het via een van de volgende opties krijgen:

Stap 1: Een externe voorbeeldtoepassing maken

  1. Download het UII SDK-pakket.

  2. Dubbelklik op het pakketbestand om de inhoud uit te pakken.

  3. Navigeer naar de map <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp en open het bestand Microsoft.Uii.QuickStarts.QsExternalApp.csproj in Visual Studio.

  4. Druk op F5 of kies FoutopsporingFoutopsporing starten om een voorbeeld van een externe toepassing te maken. De toepassing (Microsoft.Uii.QuickStarts.QsExternalApp.exe) wordt gemaakt in de map /bin/debug van het project.

    Externe voorbeeldtoepassing

Stap 2: De externe toepassing configureren in Microsoft Dynamics 365.

In deze stap maakt u een gehost besturingselement van het type Externe gehoste toepassing om de Windows Forms-toepassing weer te geven.

  1. Aanmelden bij Microsoft Dynamics 365.

  2. Klik of tik op de navigatiebalk op Microsoft Dynamics 365 en selecteer Instellingen.

  3. Klik of tik op Instellingen > Volledige servicedesk > Gehost besturingselement.

  4. Klik op Nieuw.

  5. Geef op de pagina Nieuw gehost besturingselement de volgende waarden op:

    Veld

    Waarde

    Naam

    QsExternalApp

    USD-onderdeel

    CCA-gehoste toepassing

    Gehoste toepassing

    Externe gehoste toepassing

    Toepassing is algemeen

    Ingeschakeld

    Weergavegroep

    MainPanel

    Adapter

    Geen adapter gebruiken

    Toepassing is dynamisch

    Nee

    Externe toepassing URI

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    Configuratiescherm van toepassingsadapter

    Instellingen voor het hosten van externe apps in Unified Service Desk

  6. Klik op Opslaan.

Stap 3: De externe toepassing testen

  1. Kopieer de toepassing van de uitvoermap van het project Visual Studio (<ProjectFolder>\bin\debug) naar de toepassingsdirectory van Unified Service Desk. In dit geval kopieert u het bestand Microsoft.Uii.QuickStarts.QsExternalApp.exefile naar de directory C:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Voer de Unified Service Desk-client uit om verbinding te maken met uw Microsoft Dynamics 365-server.

  3. Als u met succes bent aangemeld, ziet u de knop Voorbeeld van externe toepassing op uw bureaublad.

  4. Kies Voorbeeld van externe toepassing om uw externe toepassing te bekijken, gehost in Unified Service Desk.

Voorbeeld van externe toepassing in Unified Service Desk

Notitie

Op dit moment zijn de velden leeg omdat u de toepassing alleen host in Unified Service Desk. Als u ze wilt vullen met waarden uit Unified Service Desk, moet u een toepassingadapter maken, zoals aangegeven in de volgende stap.

Stap 4: De toepassingsadapter maken

  1. Start Microsoft Visual Studio, en maak een nieuw project.

  2. In het dialoogvenster Nieuw project:

    1. Vouw in de lijst met geïnstalleerde sjablonen Visual C# uit en selecteer Dynamics 365 SDK-sjablonen > Unified Service Desk > UII Toepassingsadapter

    2. Geef de naam en locatie van het project op en klik op OK om een nieuw project te maken.

      Externe toepassingsadapter in Visual Studio

  3. Vouw in Oplossingenverkenner de sectie Verwijzingen uit om te zorgen dat alle assemblageverwijzingen goed worden opgelost.

  4. Open het bestand AppAdapter.cs en voeg de volgende regels code toe om de locaties in te stellen voor elke component op de pagina in de klassedefinitie.

    // 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. Voeg de volgende code toe aan de definitie van NotifyContextChange om de toepassing te melden dat de context is gewijzigd. Zie NotifyContextChange voor meer informatie

    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. Voeg de volgende code toe aan de overschrijvingsdefinitie van DoAction om de formuliervelden bij te werken met waarden uit 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. Sla uw project op en maak het (Maken > Oplossing maken). Nadat het project met succes is gemaakt, wordt een assembly (ExternalApplicationAdapter.dll) gegenereerd in de map \bin\debug van uw projectmap. U hebt deze assembly later nodig om uw toepassingsadapter te testen en te gebruiken.

Stap 4: De toepassingadapter configureren in Dynamics 365

  1. Aanmelden bij Microsoft Dynamics 365.

  2. Kies op de navigatiebalk Microsoft Dynamics 365 en selecteer Instellingen.

  3. Kies Instellingen > Unified Service Desk > Gehoste besturingselementen.

  4. Selecteer in de lijst met gehoste besturingselementen het gehoste besturingselement QsExternalApp.

    Gehost besturingselement in Unified Service Desk

  5. Geef in het gedeelte Adapterconfiguratie de volgende waarden op:

    Veld

    Waarde

    Adapter

    Adapter gebruiken

    URI

    ExternalApplicationAdapter

    Type

    ExternalApplicationAdapter.AppAdapter

    Externe adapterconfiguratie in Dynamics 365

    Notitie

    URI is de naam van uw assembly en het Type is de naam van uw assembly (dll) gevolgd door een punt (.) en vervolgens de klassenaam in uw Visual Studio-project. In dit voorbeeld is de naam van de assemblage ExternalApplicationAdapter en de naam van de klasse AppAdapter, wat de standaardklassenaam is wanneer u een toepassingsadapter maakt.

  6. Klik op Opslaan om de wijzigingen op te slaan.

Stap 5: De toepassingsadapter testen

  1. Kopieer de assembly die de definitie van uw toepassingadapter bevat uit uw Visual Studio-projectuitvoermap ((<ProjectFolder>\bin\debug) naar de toepassingsdirectory van Unified Service Desk. In dit geval kopieert u het bestand ExternalApplicationAdapter.dll naar de directory c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Voer de Unified Service Desk-client uit om verbinding te maken met uw Microsoft Dynamics 365-server.

  3. Als u met succes bent aangemeld, ziet u het voorbeeld van de externe toepassing op uw bureaublad.

  4. Kies Zoeken en vervolgens Contactpersonen en selecteer een contactpersoon. In dit geval selecteren we Patrick Sands.

    Lijst met contactpersonen in Unified Service Desk

  5. Klik op Voorbeeld van externe toepassing. U ziet dan dat de voornaam, de achternaam, het adres en de id van de klant gevuld worden.

    Klantgegevens in externe toepassingen

Notitie

Dit overzicht liet zien hoe u gegevens uit Unified Service Desk leest of weergeeft in de externe toepassing. Als u wilt weten hoe u de gegevens in Unified Service Desk bijwerkt vanuit de externe toepassing, raadpleegt u Overzicht: Een gehost UII Windows Forms-besturingselement maken

Zie ook

UII-adapters gebruiken om te communiceren met externe toepassingen en webtoepassingen

Unified Service Desk 2.0

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht