Share via


Crear un evento definido por el usuario

 

Publicado: noviembre de 2016

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

Unified Service Desk proporciona eventos predefinidos para controles hospedados en función del tipo de control hospedado. Aparte de estos eventos predefinidos, también puede crear sus propios eventos en Unified Service Desk, que se denominan eventos definidos por el usuario. Puede usar la acción FireEvent o el moniker de eventos para ejecutar eventos definidos por el usuario.

En este tema

Usar la acción FireEvent

Usar el moniker de eventos

Usar la acción FireEvent

Todos los tipos de control hospedado de Unified Service Desk predefinidos y personalizados, excepto Aplicación hospedada de CCA tienen una acción de UII especial denominada FireEvent. Puede llamar a esta acción para iniciar un evento definido por el usuario desde ese control. Es una forma cómoda de agrupar múltiples llamadas a la acción en una sola llamada, creando en la práctica una función en Unified Service Desk. También es una forma razonable de probar eventos y sus secuencias de acción antes de la implementación.

El primer parámetro de FireEvent es el nombre del evento:

name=MyEvent

Todos los pares de nombre/valor posteriores se convierten en los parámetros del evento y, por tanto, se pueden usar como parámetros de sustitución dentro de las acciones a las que se llama como resultado. Por ejemplo, si pasa la siguiente lista de parámetros:

name=MyEvent
var1=[[account.name]]

Esto desencadenará el evento personalizado MyEvent, permitiendo la capacidad de crear una llamada a la acción que utiliza el parámetro var1 de este modo:

Hosted Control=Some Hosted Control
UII Action=Some action on the Hosted Control
Data=[[var1]]

Esto pasa el parámetro de evento como un parámetro de datos a la acción de control hospedado. En este ejemplo, eso significa que el parámetro de datos al control hospedado será el valor de account.name de la sesión.

Usar el moniker de eventos

Puede crear un evento personalizado en un control hospedado, y después llamarlo utilizando la siguiente sintaxis de moniker de eventos:

http://event/?EventName=<EVENT_NAME>&key=value&key=value&…

En la sintaxis, especifique el par key=value para pasar la lista de parámetros que se utilizará cuando se desencadene el evento.

Imagine un ejemplo donde desee generar un evento definido por el usuario siempre que el título del caso en el formulario del caso cambie en Dynamics 365. Para hacerlo:

  1. Cree un nuevo evento, llamado TitleChanged, para el control hospedado Incidente en Microsoft Dynamics 365.

  2. Cree una llamada a la acción, llamada Action Call for Title Change, con los siguientes valores:

    Campo

    Valor

    Nombre

    Action Call for Title Change

    Control hospedado

    Incidente

    Acción

    RunXrmCommand

    Datos

    function titleChangeReaction() 
    { 
       window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue()));
    }
    Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
  3. Agregue la nueva llamada a la acción que ha creado al evento BrowserDocumentComplete del control hospedado Incidente.Más información:Agregar llamadas a la acción a un evento

    Cuando se desencadena el evento TitleChanged, se genera la solicitud siguiente: http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>

    Esto producirá que el evento TitleChanged se desencadene con el siguiente parámetro de datos: NewTitle=<NEW_TITLE>

Si usa JavaScript en Dynamics 365 para invoca a un evento en Unified Service Desk mediante el moniker de eventos (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…), puede usar la propiedad window.IsUSD para determinar si el código JavaScript se ejecuta en Unified Service Desk cuando se invoca al evento. El siguiente ejemplo de código puede incluirse en el código JavaScript para asegurarse de que el evento se invoca solo cuando el JavaScript que llama se ejecuta en Unified Service Desk.

if ((window.IsUSD != null) && (window.IsUSD == true))
{
   window.open(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…);
}

Ver también

Eventos
Referencia de tipos de control hospedado y acciones/eventos
Administrar controles hospedados, acciones y eventos
MSDN: Uso de JavaScript con Microsoft Dynamics CRM

Unified Service Desk 2.0

© 2017 Microsoft. Todos los derechos reservados. Copyright