Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
Scaricare il modello CRM SDK. Fare doppio clic sul file CRMSDKTemplates.vsix per installare il modello in Visual Studio.
Scaricare ed estrarre il pacchetto CRM SDK. Passare alla cartella SDK\Templates nell'SDK e fare doppio clic sul file CRMSDKTemplates.vsix per installare il modello in Visual Studio.
Passaggio 1: sviluppare un'applicazione esterna di esempio
Fare doppio clic sul file di pacchetto per estrarre il contenuto.
Passare alla cartella <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp e aprire il file Microsoft.Uii.QuickStarts.QsExternalApp.csproj in Visual Studio.
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.
.jpeg)
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.
Accedere a Microsoft Dynamics 365.
Sulla barra di spostamento toccare o fare clic su Microsoft Dynamics 365, quindi selezionare Impostazioni.
Toccare o fare clic su Impostazioni > Unified Service Desk > Controlli ospitati.
Fare clic su Nuovo.
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
.jpeg)
.jpeg)
Fare clic su Salva.
Passaggio 3: testare l'applicazione esterna
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.
Eseguire il client Unified Service Desk per connettersi al server Microsoft Dynamics 365.
Una volta completato l'accesso viene visualizzato il pulsante Esempio di applicazione esterna sul desktop.
Selezionare Esempio di applicazione esterna per visualizzare l'applicazione esterna ospitata in Unified Service Desk.
.jpeg)
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
Avviare Microsoft Visual Studio e creare un nuovo progetto.
Nella finestra di dialogo Nuovo progetto:
Nell'elenco dei modelli installati a sinistra, espandi Visual C# e seleziona Modelli Dynamics 365 SDK > Unified Service Desk > Adapter dell'applicazione UII.
Specificare il nome e il percorso del progetto e fare clic su OK per creare un nuovo progetto.
.jpeg)
In Esplora soluzioni, espandere la sezione Riferimenti per garantire la risoluzione corretta di tutti i riferimenti all'assembly.
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;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); }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); }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
Accedere a Microsoft Dynamics 365.
Sulla barra di spostamento scegliere Microsoft Dynamics 365, quindi selezionare Impostazioni.
Scegliere Impostazioni > Unified Service Desk > Controlli ospitati.
Nell'elenco di controlli ospitati, selezionare il controllo ospitato QsExternalApp.
.jpeg)
Nella sezione Configurazione adapter, specificare i seguenti valori:
Campo
Valore
Adapter
Usa adapter
URI
ExternalApplicationAdapter
Tipo
ExternalApplicationAdapter.AppAdapter
.jpeg)
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.
Fare clic su Salva per salvare le modifiche.
Passaggio 5: testare l'adapter dell'applicazione
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.
Eseguire il client Unified Service Desk per connettersi al server Microsoft Dynamics 365.
Una volta completato l'accesso viene visualizzato Esempio di applicazione esterna sul desktop.
Scegliere Cerca, quindi Contatti e selezionare un contatto. In questo caso, selezionare Patrick Sands.
.jpeg)
Fare clic su Esempio di applicazione esterna per visualizzare il nome, il cognome, l'indirizzo e l'ID del cliente nei campi.
.jpeg)
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