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:
Download CRM SDK-skabeloner. Dobbeltklik på CRMSDKTemplates.vsix filen for at installere skabelonen i Visual Studio.
Download og udpak CRM SDK-pakken. Gå til mappen SDK\Templates i SDK, og dobbeltklik på filen CRMSDKTemplates.vsix for at installere skabelonen i Visual Studio.
Trin 1: Byg et eksternt eksempelprogram
Dobbeltklik på pakkefilen for at pakke indholdet ud.
Gå til mappen <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp, og åbn filen Microsoft.Uii.QuickStarts.QsExternalApp.csproj i Visual Studio.
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.
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.
Log på Microsoft Dynamics 365.
Klik eller tryk på Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.
Klik eller tryk på Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.
Klik på Ny.
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
Klik på Gem.
Trin 3: Test det eksterne program
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.
Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.
Når du har logget på, kan du se knappen Eksternt eksempelprogram på skrivebordet.
Vælg Eksternt eksempelprogram for at se dit eksterne program med Unified Service Desk som vært.
![]() |
---|
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
Start Microsoft Visual Studio, og opret et nyt projekt.
I dialogboksen Nyt projekt:
Fra listen over installerede skabeloner skal du udvide Visual C# og vælge Dynamics 365 SDK-skabeloner > Unified Service Desk > UII-programkort.
Angiv navnet på og placeringen af projektet, og klik på OK for at oprette et nyt projekt.
I Løsningsoversigt skal du udvide afsnittet References for at sikre, at alle assemblyreferencer løses korrekt.
Å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;
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); }
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); }
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
Log på Microsoft Dynamics 365.
Vælg Microsoft Dynamics 365 på navigationslinjen, og vælg derefter Indstillinger.
Vælg Indstillinger > Unified Service Desk > Tilknyttede kontrolelementer.
På listen over tilknyttede kontrolelementer skal du vælge det tilknyttede QsExternalApp-kontrolelement.
I afsnittet Kortkonfiguration skal du angive følgende værdier:
Felt
Værdi
Kort
Brug kort
URI
ExternalApplicationAdapter
Type
ExternalApplicationAdapter.AppAdapter
Bemæ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.
Klik på Gem for at gemme ændringerne.
Trin 5: Test programkortet
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.
Kør Unified Service Desk-klienten for at oprette forbindelse til Microsoft Dynamics 365-serveren.
Når du har logget på, kan du se det eksterne eksempelprogram på skrivebordet.
Vælg Search og vælg derefter Contacts og vælg en kontakt. I dette tilfælde vælger vi Patrick Sands.
Klik på Eksternt eksempelprogrammet, og du vil se kundens fornavn, efternavn, adresse og id udfyldt.
![]() |
---|
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