Condividi tramite


Procedura dettagliata: creare un adapter dell'applicazione UII

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Puoi creare un adapter dell'applicazione per integrare un'applicazione esterna con Unified Service Desk.Microsoft Dynamics 365 offre un modello di Microsoft Visual Studio per la creazione di un adapter dell'applicazione. Il modello contiene codice di base, ad esempio commenti che consentono di iniziare a creare l'adapter dell'applicazione.

In questa procedura dettagliata, viene sviluppata un'applicazione esterna QsExternalApp che viene ospitata in Unified Service Desk. Quindi viene creato e configurato un adapter dell'applicazione ExternalApplicationAdapter per l'applicazione esterna per interagire con Unified Service Desk. L'applicazione esterna include quattro etichette, una per il nome, il cognome, l'indirizzo e l'ID del cliente e quattro caselle di testo corrispondenti per visualizzare i valori di Unified Service Desk.

In questa sezione

Prerequisiti

Passaggio 1: sviluppare un'applicazione esterna di esempio

Passaggio 2: configurare l'applicazione esterna in Microsoft Dynamics 365.

Passaggio 3: testare l'applicazione esterna

Passaggio 4: creare l'adapter dell'applicazione

Passaggio 4: configura l'adapter dell'applicazione in Dynamics 365

Passaggio 5: testare l'adapter dell'applicazione

Prerequisiti

  • Microsoft .NET Framework 4.5.2

  • Applicazione client Unified Service Desk, necessaria per il test del controllo ospitato.

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

  • NuGet Package Manager per Visual Studio 2012, Visual Studio 2013 o Visual Studio 2015

  • Modelli Microsoft Dynamics 365 SDK per Visual Studio che contengono il modello del progetto di controllo ospitato UII. È possibile ottenere il modello, in uno dei modi seguenti:

Passaggio 1: sviluppare un'applicazione esterna di esempio

  1. Scaricare il pacchetto UII SDK.

  2. Fare doppio clic sul file di pacchetto per estrarre il contenuto.

  3. Passare alla cartella <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e aprire il file Microsoft.Uii.QuickStarts.QsExternalApp.csproj in Visual Studio.

  4. Premere F5 o scegliere Debug > Avvia debug per creare un'applicazione esterna di esempio. L'applicazione (Microsoft.Uii.QuickStarts.QsExternalApp.exe) viene creata nella cartella /bin/debug del progetto.

    App esterna di esempio

Passaggio 2: configurare l'applicazione esterna in Microsoft Dynamics 365.

In questo passaggio verrà creato un controllo ospitato di tipo Applicazione ospitata esterna per visualizzare l'applicazione Windows Forms.

  1. Accedere a Microsoft Dynamics 365.

  2. Sulla barra di spostamento toccare o fare clic su Microsoft Dynamics 365, quindi selezionare Impostazioni.

  3. Toccare o fare clic su Impostazioni > Unified Service Desk > Controlli ospitati.

  4. Fare clic su Nuovo.

  5. Nella pagina Nuovo controllo ospitato specificare i valori seguenti:

    Campo

    Valore

    Nome

    QsExternalApp

    USD Component

    Applicazione ospitata di CCA

    Applicazione ospitata

    Applicazione ospitata esterna

    L'applicazione è globale

    Selezionato

    Gruppo di visualizzazione

    MainPanel

    Adapter

    Non usare alcun adapter

    L'applicazione è dinamica

    No

    URI app esterna

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    schermata di configurazione dell'adapter dell'applicazione

    Impostazioni hosting di app esterne in Unified Service Desk

  6. Fare clic su Salva.

Passaggio 3: testare l'applicazione esterna

  1. Copiare l'applicazione dalla cartella di output del progetto Visual Studio (<ProjectFolder>\bin\debug) nella directory dell'applicazione Unified Service Desk. In questo caso, si copia il file Microsoft.Uii.QuickStarts.QsExternalApp.exefile nella directory C:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Eseguire il client Unified Service Desk per connettersi al server Microsoft Dynamics 365.

  3. Una volta completato l'accesso viene visualizzato il pulsante Esempio di applicazione esterna sul desktop.

  4. Selezionare Esempio di applicazione esterna per visualizzare l'applicazione esterna ospitata in Unified Service Desk.

App esterne di esempio in Unified Service Desk

Nota

In questa fase i campi sono vuoti perché si sta solo ospitando l'applicazione in Unified Service Desk. Per popolarli con i valori di Unified Service Desk, è necessario creare un adapter dell'applicazione come descritto nel prossimo passaggio.

Passaggio 4: creare l'adapter dell'applicazione

  1. Avviare Microsoft Visual Studio e creare un nuovo progetto.

  2. Nella finestra di dialogo Nuovo progetto:

    1. Nell'elenco dei modelli installati a sinistra, espandi Visual C# e seleziona Modelli Dynamics 365 SDK > Unified Service Desk > Adapter dell'applicazione UII.

    2. Specificare il nome e il percorso del progetto e fare clic su OK per creare un nuovo progetto.

      Adattatore applicazione esterna in Visual Studio

  3. In Esplora soluzioni, espandere la sezione Riferimenti per garantire la risoluzione corretta di tutti i riferimenti all'assembly.

  4. Aprire il file AppAdapter.cs e aggiungere le seguenti righe di codice per impostare le posizioni di ogni componente nella pagina nella definizione della 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. Aggiungere il codice seguente alla definizione di NotifyContextChange per notificare all'applicazione che il contesto è cambiato. Per ulteriori informazioni, vedere 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. Aggiungere il codice seguente nella definizione di override di DoAction per aggiornare i campi del modulo con i valori di 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. Salvare il progetto e compilarlo (Compila > Compila soluzione). Una volta compilato il progetto, viene generato un assembly (ExternalApplicationAdapter.dll) nella cartella \bin\debug della cartella del progetto. Questo assembly sarà necessario più avanti per testare e utilizzare l'adapter dell'applicazione.

Passaggio 4: configura l'adapter dell'applicazione in Dynamics 365

  1. Accedere a Microsoft Dynamics 365.

  2. Sulla barra di spostamento scegliere Microsoft Dynamics 365, quindi selezionare Impostazioni.

  3. Scegliere Impostazioni > Unified Service Desk > Controlli ospitati.

  4. Nell'elenco di controlli ospitati, selezionare il controllo ospitato QsExternalApp.

    Controllo ospitato in Unified Service Desk

  5. Nella sezione Configurazione adapter, specificare i seguenti valori:

    Campo

    Valore

    Adapter

    Usa adapter

    URI

    ExternalApplicationAdapter

    Tipo

    ExternalApplicationAdapter.AppAdapter

    Configurazione dell'adapter esterno in Dynamics 365

    Nota

    URI è il nome dell'assembly e Tipo è il nome dell'assembly (dll) seguito da un punto (.) e dal nome della classe del progetto Visual Studio. In questo esempio il nome dell'assembly è ExternalApplicationAdapter e il nome della classe è AppAdapter, ovvero il nome della classe predefinita quando si crea un adapter dell'applicazione.

  6. Fare clic su Salva per salvare le modifiche.

Passaggio 5: testare l'adapter dell'applicazione

  1. Copiare l'assembly che contiene la definizione dell'adapter dell'applicazione Web dalla cartella di output del progetto di Visual Studio(<ProjectFolder>\bin\debug) nella cartella dell'applicazione Unified Service Desk. In questo caso, si copia il file ExternalApplicationAdapter.dll nella directory c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Eseguire il client Unified Service Desk per connettersi al server Microsoft Dynamics 365.

  3. Una volta completato l'accesso viene visualizzato Esempio di applicazione esterna sul desktop.

  4. Scegliere Cerca, quindi Contatti e selezionare un contatto. In questo caso, selezionare Patrick Sands.

    Elenco di contatti in Unified Service Desk

  5. Fare clic su Esempio di applicazione esterna per visualizzare il nome, il cognome, l'indirizzo e l'ID del cliente nei campi.

    Informazioni sui clienti nell'applicazione esterna

Nota

In questa procedura dettagliata viene illustrato come visualizzare o leggere i dati da Unified Service Desk nell'applicazione esterna. Per comprendere come aggiornare i dati in Unified Service Desk dall'applicazione esterna, vedere Procedura dettagliata: creare un controllo ospitato Windows Form UII

Vedere anche

Utilizzare gli adapter UII per l'interazione con le applicazioni Web ed esterne

Unified Service Desk 2.0

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright