Compartir a través de


Tutorial: Cree un adaptador de la aplicación de UII

 

Publicado: noviembre de 2016

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Puede crear un adaptador de aplicación si desea integrar una aplicación externa con Unified Service Desk.Microsoft Dynamics 365 proporciona una plantilla de Microsoft Visual Studio para crear un adaptador de la aplicación. La plantilla proporciona código básico como comentarios para ayudarle a comenzar a crear un adaptador de aplicación.

En este tutorial, creará una aplicación externa QsExternalApp y la hospedará en Unified Service Desk. Después creará y configurará un adaptador de la aplicación ExternalApplicationAdapter para que la aplicación externa interactúe con Unified Service Desk. La aplicación externa tiene cuatro etiquetas: para el nombre del cliente, apellidos, dirección, e Id., y cuatro cuadros de texto correspondientes para mostrar los valores de Unified Service Desk.

En esta sección

Requisitos previos

Paso 1: Crear una aplicación externa de ejemplo

Paso 2: Configure la aplicación externa en Microsoft Dynamics 365.

Paso 3: Pruebe la aplicación externa

Paso 4: Cree el adaptador de la aplicación

Paso 4: Configure el adaptador de la aplicación en Dynamics 365

Paso 5: Pruebe el adaptador de la aplicación

Requisitos previos

  • 4.5.2 Microsoft .NET Framework

  • Aplicación cliente deUnified Service Desk; requerida para probar el control hospedado.

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

  • Administrador del paquete de Administrador de paquetes de NuGet para Visual Studio 2012, Visual Studio 2013, o Visual Studio 2015

  • Plantillas de SDK de Microsoft Dynamics 365 para Visual Studio que contiene la plantilla de proyecto de control hospedado de la UII. Puede obtenerla de una de las siguientes formas:

Paso 1: Crear una aplicación externa de ejemplo

  1. Descargue el paquete de SDK de UII.

  2. Para extraer el contenido, haga doble clic en el archivo del paquete.

  3. Desplácese hasta la carpeta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsExternalApp y abra el archivo Microsoft.Uii.QuickStarts.QsExternalApp.csproj en Visual Studio.

  4. Presione F5 o elija Depurar > Iniciar depuración para crear una aplicación externa de ejemplo. La aplicación (Microsoft.Uii.QuickStarts.QsExternalApp.exe) se crea en la carpeta /bin/debug del proyecto.

    Ejemplo de aplicación externa

Paso 2: Configure la aplicación externa en Microsoft Dynamics 365.

En este paso, creará un control hospedado del tipo Aplicación hospedada externa para mostrar la aplicación de Windows Forms.

  1. Inicie sesión en Microsoft Dynamics 365.

  2. En la barra de navegación, haga clic o pulse en Microsoft Dynamics 365, y luego seleccione Configuración.

  3. Haga clic o pulse en Configuración > Servicios unificados > Controles hospedados.

  4. Haga clic en Nuevo.

  5. En la página Nuevo control hospedado, especifique los siguientes valores:

    Campo

    Valor

    Nombre

    QsExternalApp

    Componente USD

    Aplicación hospedada de CCA

    Aplicación hospedada

    Aplicación hospedada externa

    La aplicación es global

    Activado

    Grupo de presentación

    MainPanel

    Adaptador

    No usar adaptador

    La aplicación es dinámica

    No

    URI de aplicación externa

    Microsoft.Uii.QuickStarts.QsExternalApp.exe

    Pantalla de configuración del adaptador de aplicación

    Configuración de hospedaje de aplicaciones externas de Unified Service Desk

  6. Haga clic en Guardar.

Paso 3: Pruebe la aplicación externa

  1. Copie la aplicación que se generó en la carpeta de salida del producto de Visual Studio (<ProjectFolder>\bin\debug) al directorio de aplicaciones de Unified Service Desk. En este caso, copiaremos el Microsoft.Uii.QuickStarts.QsExternalApp.exefile al directorio C:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Ejecute el cliente de Unified Service Desk para conectarse al servidor de Microsoft Dynamics 365.

  3. Después de iniciar sesión correctamente, verá el botón Ejemplo de la aplicación externa en el escritorio.

  4. Seleccione Ejemplo de la aplicación externa para ver la aplicación externa hospedada en Unified Service Desk.

Aplicación externa de ejemplo en Unified Service Desk

Nota

En este punto los campos están vacíos ya que sólo está hospedando la aplicación en Unified Service Desk. Para rellenarlos con valores de Unified Service Desk, tendrá que crear un adaptador de aplicación como se describe en el siguiente paso.

Paso 4: Cree el adaptador de la aplicación

  1. Inicie Microsoft Visual Studio y cree un nuevo proyecto.

  2. En el cuadro de diálogo Nuevo proyecto:

    1. En la lista de plantillas instaladas de la izquierda, expanda Visual C#, y seleccione Plantillas SDK de Dynamics 365 > Servicios unificados > Adaptador de aplicación de UII

    2. Especifique el nombre y la ubicación del proyecto y haga clic en Aceptar para crear un nuevo proyecto.

      Adaptador externo de la aplicación en Visual Studio

  3. En Explorador de soluciones, expanda la sección Referencias para asegurarse de que todas las referencias de ensamblados se resuelven correctamente.

  4. Abra el archivo AppAdapter.cs y agregue las siguientes líneas de código para establecer las ubicaciones de cada componente en la página en la definición de clase.

    // 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. Agregue el siguiente código a la definición de NotifyContextChange para notificar a la aplicación que el contexto ha cambiado. Para obtener más información, consulte 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. Agregue el siguiente código en la definición de reemplazo de DoAction para actualizar los campos de formulario con valores de 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. Guarde el proyecto y créelo (Generar > Generar solución). Después de generar el proyecto correctamente, se genera un ensamblado (ExternalApplicationAdapter.dll) en la carpeta \bin\debug de su carpeta del proyecto. Necesitará este ensamblado más adelante para probar y usar el adaptador de la aplicación.

Paso 4: Configure el adaptador de la aplicación en Dynamics 365

  1. Inicie sesión en Microsoft Dynamics 365.

  2. En la barra de navegación, elija Microsoft Dynamics 365 y luego seleccione Configuración.

  3. Elija Configuración > Servicios unificados > Controles hospedados.

  4. En la lista de controles hospedados, seleccione el control hospedado QsExternalApp.

    Control hospedado en Unified Service Desk

  5. En la sección Configuración del adaptador, especifique los siguientes valores:

    Campo

    Valor

    Adaptador

    Usar adaptador

    URI

    ExternalApplicationAdapter

    Tipo

    ExternalApplicationAdapter.AppAdapter

    Configuración del adaptador externo en Dynamics 365

    Nota

    URI es el nombre del ensamblado y Tipo es el nombre del ensamblado (dll) seguido de un punto (.) y luego el nombre de clase en el proyecto de Visual Studio. En este ejemplo, el nombre del ensamblado es ExternalApplicationAdapter y el nombre de la clase es AppAdapter, que es el nombre de clase predeterminado cuando se crea un adaptador de aplicación.

  6. Para guardar los cambios, haga clic en Guardar.

Paso 5: Pruebe el adaptador de la aplicación

  1. Copie el ensamblado que contiene la definición del adaptador de la aplicación web de la carpeta de salida del proyecto de Visual Studio(<ProjectFolder>\bin\debug) al directorio de aplicaciones de Unified Service Desk. En este caso, copiará el archivo ExternalApplicationAdapter.dll al directorio c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Ejecute el cliente de Unified Service Desk para conectarse al servidor de Microsoft Dynamics 365.

  3. Después de iniciar sesión correctamente, verá ejemplo de la aplicación externa en el escritorio.

  4. Elija Buscar y luego elija Contactos y seleccione un contacto. En este caso, seleccionaremos Patrick Sands.

    Lista de contactos en Unified Service Desk

  5. Haga clic en Ejemplo de la aplicación externa y verá el nombre, apellidos, dirección, y el Id. de cliente rellenados.

    Información de clientes en aplicación externa

Nota

Este tutorial demuestra cómo leer y mostrar datos de Unified Service Desk en la aplicación externa. Para comprender cómo actualizar los datos en Unified Service Desk desde la aplicación externa, vea Tutorial: Crear un control hospedado de Windows Forms de UII

Ver también

Uso de adaptadores de UII para interactuar con aplicaciones externas y web

Unified Service Desk 2.0

© 2017 Microsoft. Todos los derechos reservados. Copyright