Tutorial: Crear un control hospedado personalizado para Unified Service Desk

 

Publicado: noviembre de 2016

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

En este tema, aprenderá a crear un control personalizado hospedado llamado My Custom Control con una acción personalizada. El control hospedado personalizado tiene dos controles Windows Presentation Foundation (WPF): un botón que llama al control hospedado Debugger y una etiqueta de texto que muestra el nombre de usuario cuando se llama a una acción personalizada, MyCustomAction.

En esta sección

Requisitos previos

Cree un control hospedado personalizado

Pruebe el control hospedado personalizado

Requisitos previos

  • 4.5.2 Microsoft .NET Framework

  • Aplicación cliente deUnified Service Desk; la aplicación cliente se requiere para probar el control hospedado.

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

  • Administrador del paquete 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 personalizado. Puede obtenerla de una de las siguientes formas:

Cree un control hospedado personalizado

  1. Inicie Visual Studio y cree un nuevo proyecto.

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

    1. En la lista de plantillas instaladas, expanda Visual C#, y seleccione Plantillas SDK de Dynamics 365 > Unified Service Desk > Control hospedado personalizado USD.

    2. Asegúrese de que .NET Framework 4.5.2 está seleccionado.

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

    Plantilla para crear un control hospedado personalizado

  3. En Explorador de soluciones, haga doble clic en el archivo USDControl.xaml para activar el diseñador de XAML.

  4. En el diseñador, agregue los siguientes controles desde el Cuadro de herramientas:

    • Etiqueta: En el panel Propiedades, establezca el nombre del control como "myLabel".

    • Botón: En el panel Propiedades, establezca el nombre del control en “myButton,” y el contenido en “Iniciar Depurador.”

    Este es el aspecto que tienen los controles en el diseñador de XAML.

    Diseñador XAML con controles personalizados

  5. Haga doble clic en el botón para agregar código detrás de XAML. Esto le llevará a la definición del evento de clic de myButton en el archivo USDControl.xaml.cs. Agregue el siguiente comando.

    private void myButton_Click(object sender, RoutedEventArgs e)
    {
        if (!this.desktopAccess.AppExistsInUI("Debugger"))
        {
            this.desktopAccess.CreateDynamicApplication("Debugger");
        }
        this.FireRequestAction(new Microsoft.Uii.Csr.RequestActionEventArgs("Debugger", "default", null));
    }
    
  6. Defina una acción personalizada para el control hospedado. En el archivo USDControl.xaml.cs, vaya a la definición de sustitución de DoAction.

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. Agregue el siguiente código en la definición de sustitución de DoAction para definir una acción personalizada llamada MyCustomAction, que acepta un parámetro llamado username.

    if (args.Action.Equals("MyCustomAction", StringComparison.OrdinalIgnoreCase))
    {
        List<KeyValuePair<string, string>> actionDataList = Utility.SplitLines(args.Data, CurrentContext, localSession);
        string valueIwant = Utility.GetAndRemoveParameter(actionDataList, "username"); // assume there is a myKey=<value> in the data.
    
        if (!string.IsNullOrEmpty(valueIwant))
        {
            this.Dispatcher.Invoke(() => { this.myLabel.Content = valueIwant; });
        }
    }
    

    Sugerencia

    La plantilla ofrece la mayoría del código como comentario en la definición de sustitución de DoAction para ayudarle a comenzar a trabajar rápidamente en el desarrollo. Debe quitar la marca de comentario de la línea de código necesaria, y reemplazar los marcadores de posición por valores.

  8. Guarde el proyecto y genérelo (Generar > Generar solución) para comprobar si genera correctamente.

Pruebe el control hospedado personalizado

Cuando el proyecto se compile correctamente, pruebe el control hospedado personalizado. La prueba consta de dos partes: definición del control hospedado personalizado en el servidor y después conexión con Unified Service Desk en el servidor mediante la aplicación cliente.

Defina el control hospedado y la acción personalizados en el servidor de Dynamics 365

  1. Inicie sesión en Microsoft Dynamics 365.

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

  3. Elija Configuración > Unified Service Desk > Controles hospedados.

  4. Elija NUEVO, y después especifique los valores en la pantalla Nuevo control hospedado como se indica aquí.

    Nuevo control hospedado personalizado

    Nota

    URI de ensamblado es el nombre del ensamblado y Tipo de ensamblado 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 MyCustomControl y el nombre de la clase es USDControl, que es el nombre de clase predeterminado cuando se crea un control hospedado personalizado.

  5. Elija Guardar para crear el control hospedado.

  6. Cree la acción del control hospedado que definió en Visual Studio. En la barra de navegación, elija la flecha abajo junto al nombre del control hospedado y seleccione Acciones de UII.

  7. Elija Agregar nueva acción de UII.

  8. Escriba el MyCustomAction en el campo Nombre y elija Guardar.

Ahora ha configurado la control hospedado personalizado y la acción personalizada en el servidor de Dynamics 365.

Ejecute el cliente de Unified Service Desk para trabajar con control hospedado personalizado

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

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

  3. Si inicia la sesión correctamente, verá el control hospedado personalizado, Mi control hospedado personalizado, en el escritorio.

    Control hospedado personalizado

  4. Haga clic en Iniciar Depurador para iniciar el control hospedado Depurador.

  5. Para probar la acción personalizada, elija la pestaña Depurador, y luego haga clic en la flecha abajo sobre la pestaña Llamadas a la acción para mostrar el área donde puede probar llamadas a la acción y acciones de UII.

    Expanded testing area in debugger

  6. Elija la pestaña Acción directa.

  7. En la lista Control hospedado, seleccione Mi control hospedado personalizado, y en la lista Acción, seleccione MyCustomAction.

  8. Según la definición de acción personalizada, esta llamada a la acción espera un parámetro denominado username. Por tanto, agregue el siguiente valor en el campo Datos: username=Tracie Hamilton.

    Pruebe el control hospedado personalizado

  9. Haga clic en el icono Ejecutar acción directa (Botón Ejecutar llamada a la acción del depurador de USD) y luego haga clic en la pestaña Mi control hospedado personalizado. El nombre del usuario especificado se muestra en el campo de etiqueta.

    La pestaña Mi control hospedado personalizado muestra el nombre de usuario

Ver también

Control hospedado de USD (control hospedado)
Referencia de tipos de control hospedado y acciones/eventos
Tutoriales de configuración de Servicios unificados
Usar un control hospedado personalizado en Unified Service Desk

Unified Service Desk 2.0

© 2017 Microsoft. Todos los derechos reservados. Copyright