Del via


Gennemgang: Oprette et UII-programkort

 

Udgivet: november 2016

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Du kan oprette en programadapter, hvis du vil integrere et eksternt program i Unified Service Desk.Microsoft Dynamics 365 indeholder en Microsoft Visual Studio skabelon til oprettelse af et programkort. Skabelonen indeholder grundlæggende kode som kommentarer, der kan hjælpe dig i gang med at oprette programadapteren.

I denne gennemgang skal du bygge et eksternt program, QsExternalApp, som Unified Service Desk skal være vært for. Du skal derefter oprette og konfigurere en programadapter, ExternalApplicationAdapter, så det eksterne program kan kommunikere med Unified Service Desk. Det eksterne program har fire etiketter: én til kundens fornavn, efternavn, adresse og id og fire tilsvarende tekstfelter, som kan vise værdier fra Unified Service Desk.

Dette afsnit indeholder

Forudsætninger

Trin 1: Byg et eksternt eksempelprogram

Trin 2: Konfigurer det eksterne program i Microsoft Dynamics 365.

Trin 3: Test det eksterne program

Trin 4: Opret programkortet

Trin 4: Konfigurer programkortet i Dynamics 365

Trin 5: Test programkortet

Forudsætninger

  • Microsoft .NET Framework 4.5.2

  • Unified Service Desk-klientprogram. Bruges til at teste det tilknyttede kontrolelement.

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

  • NuGet Package Manager for Visual Studio 2012, Visual Studio 2013 eller Visual Studio 2015

  • Microsoft Dynamics 365-SDK-skabeloner til Visual Studio, der indeholder UII-projektskabelonen for det tilknyttede kontrolelement. Du kan få den på en af følgende måder:

Trin 1: Byg et eksternt eksempelprogram

  1. Download UII SDK-pakken.

  2. Dobbeltklik på pakkefilen for at pakke indholdet ud.

  3. Gå til mappen <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp, og åbn filen Microsoft.Uii.QuickStarts.QsExternalApp.csproj i Visual Studio.

  4. Tryk på F5, eller vælg Debug > Start Debugging for at oprette et eksternt eksempelprogram. Programmet (Microsoft.Uii.QuickStarts.QsExternalApp.exe) oprettes i mappen /bin/debug for projektet.

    Eksempel på ekstern app

Trin 2: Konfigurer det eksterne program i Microsoft Dynamics 365.

I dette trin skal du oprette et tilknyttet kontrolelement af typen Eksternt hostet program for at få vist Windows-formularprogrammet.

  1. Log på Microsoft Dynamics 365.

  2. Klik eller tryk på Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.

  3. Klik eller tryk på Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.

  4. Klik på Ny.

  5. På siden Nyt tilknyttet kontrolelement skal du angive følgende værdier:

    Felt

    Værdi

    Navn

    QsExternalApp

    USD-komponent

    CCA-hostet program

    Hostet program

    Eksternt hostet program

    Programmet er globalt

    Markeret

    Visningsgruppe

    MainPanel

    Kort

    Brug ikke kort

    Programmet er dynamisk

    Nej

    URI til ekstern app

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    Konfigurationsskærm for programkort

    hostingindstillinger for ekstern Unified Service Desk-app

  6. Klik på Gem.

Trin 3: Test det eksterne program

  1. Kopier programmet fra dit Visual Studio-projekts outputmappe (<ProjectFolder>\bin\debug) til programmappen for Unified Service Desk. I dette tilfælde kopierer vi Microsoft.Uii.QuickStarts.QsExternalApp.exefile til mappen C:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.

  3. Når du har logget på, kan du se knappen Eksternt eksempelprogram på skrivebordet.

  4. Vælg Eksternt eksempelprogram for at se dit eksterne program med Unified Service Desk som vært.

Eksempel på ekstern app i Unified Service Desk

System_CAPS_noteBemærkning

På dette tidspunkt er felterne tomme, fordi programmet kun har værten Unified Service Desk. Hvis du vil udfylde dem med værdier fra Unified Service Desk, skal du oprette en programadapter, som beskrevet i næste trin.

Trin 4: Opret programkortet

  1. Start Microsoft Visual Studio, og opret et nyt projekt.

  2. I dialogboksen Nyt projekt:

    1. Fra listen over installerede skabeloner skal du udvide Visual C# og vælge Dynamics 365 SDK-skabeloner > Unified Service Desk > UII-programkort.

    2. Angiv navnet på og placeringen af projektet, og klik på OK for at oprette et nyt projekt.

      Eksternt programkort i Visual Studio

  3. I Løsningsoversigt skal du udvide afsnittet References for at sikre, at alle assemblyreferencer løses korrekt.

  4. Åbn filen AppAdapter.cs, og tilføj følgende kodelinjer for at angive placeringen af hver komponent på siden i klassedefinitionen.

    // 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. Føj følgende kode til definition af NotifyContextChange for at underrette det program, der har ændret konteksten. Du kan finde flere oplysninger under 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. Føj følgende kode til tilsidesættelsesdefinitionen for DoAction for at opdatere formularfelterne med værdier fra 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. Gem projektet, og byg det (Build > Build Solution). Når projektet et bygget, genereres en assembly (ExternalApplicationAdapter.dll) i mappen \bin\debug i projektmappen. Du skal bruge denne assembly senere til test og brug af dit programkort.

Trin 4: Konfigurer programkortet i Dynamics 365

  1. Log på Microsoft Dynamics 365.

  2. Vælg Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.

  3. Vælg Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.

  4. På listen over tilknyttede kontrolelementer skal du vælge det tilknyttede QsExternalApp-kontrolelement.

    Tilknyttet kontrolelement i Unified Service Desk

  5. I afsnittet Kortkonfiguration skal du angive følgende værdier:

    Felt

    Værdi

    Kort

    Brug kort

    URI

    ExternalApplicationAdapter

    Type

    ExternalApplicationAdapter.AppAdapter

    Konfiguration af eksternt kort i Dynamics 365

    System_CAPS_noteBemærkning

    URI er navnet på assemblyfilen, og Type er navnet på din assembly (dll) efterfulgt af et punktum (.) og derefter navnet på klassen i dit Visual Studio-projekt. I dette eksempel er navnet på assemblyen ExternalApplicationAdapter, og navnet på klassen er AppAdapter, som er standardklassenavnet, når du opretter et programkort.

  6. Klik på Gem for at gemme ændringerne.

Trin 5: Test programkortet

  1. Kopier den assembly, der indeholder din programkortdefinition fra dit Visual Studio-projekts outputmappe (<ProjectFolder>\bin\debug), til Unified Service Desk-programmappen. I dette tilfælde kopierer vi filen ExternalApplicationAdapter.dll til mappen c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.

  3. Når du har logget på, kan du se det eksterne eksempelprogram på skrivebordet.

  4. Vælg Search og vælg derefter Contacts og vælg en kontakt. I dette tilfælde vælger vi Patrick Sands.

    Liste over kontaktpersoner i Unified Service Desk

  5. Klik på Eksternt eksempelprogrammet, og du vil se kundens fornavn, efternavn, adresse og id udfyldt.

    Kundeoplysninger i eksternt program

System_CAPS_noteBemærkning

Denne gennemgang viser, hvordan du får vist eller læser data fra Unified Service Desk i det eksterne program. For at forstå, hvordan du opdaterer dataene i Unified Service Desk fra det eksterne program, skal du se Gennemgang: Oprette et tilknyttede UII Windows Forms-kontrolelement

Se også

Bruge UII-kort til kommunikation med eksterne programmer og webprogrammer

Unified Service Desk 2.0

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret