Compartilhar via


Criar um evento definido pelo usuário

 

Publicado: novembro de 2016

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

O Unified Service Desk fornece eventos predefinidos para os controles hospedados baseados no tipo do controle hospedado. Independentemente desses eventos predefinidos, também é possível criar seus próprios eventos no Unified Service Desk, que são chamadas de eventos definidos pelo usuário. Você pode usar a ação de FireEvent ou o moniker do evento para executar eventos definidos pelo usuário.

Neste tópico

Usar a ação FireEvent

Usar o moniker de evento

Usar a ação FireEvent

Todos os tipos de controle hospedado predefinidos e personalizadas do Unified Service Desk, com exceção de Aplicativo hospedado CCA, possuem uma ação da UII especial chamada FireEvent. Você pode chamar essa ação para iniciar um evento definido pelo usuário a partir desse controle. Essa é uma forma prática para agrupar várias chamadas de ação em uma única chamada, criando com eficácia uma função no Unified Service Desk. Também é uma maneira razoável para testar eventos e as sequências de suas ações antes da implantação.

O primeiro parâmetro para FireEvent é o nome do evento:

name=MyEvent

Todos os pares subsequentes de nome/valor se tornam os parâmetros do evento e, portanto, podem ser usados como parâmetros de substituição dentro das ações que são chamadas como um resultado. Por exemplo, se você transmitir a seguinte lista de parâmetros:

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

Isso acionará o evento personalizado MeuEvento, permitindo criar uma chamada de ação que usa o parâmetro var1 conforme a seguir:

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

Isso transmite o parâmetro do evento como um parâmetro de dados para a ação do controle hospedado. Nesse exemplo, isso significa que o parâmetro de dados para o controle hospedado será o valor account.name da sessão.

Usar o moniker de evento

Você pode criar um evento personalizado em um controle hospedado e, em seguida, nomeá-lo usando a sintaxe de moniker de evento a seguir:

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

Na sintaxe, você especifica o par de key=value para passar a lista de parâmetros a ser usada quando o evento for disparado.

Considere um exemplo onde você deseja criar um evento definido pelo usuário sempre que o título do caso no formulário de caso mudar no Dynamics 365. Para fazer isto:

  1. Crie um novo evento, chamado TitleChanged, para o controle hospedado de Incidente no Microsoft Dynamics 365.

  2. Crie uma chamada de ação, denominada Action Call for Title Change, com os seguintes valores:

    Campo

    Valor

    Nome

    Action Call for Title Change

    Controle Hospedado

    Incidente

    Ação

    RunXrmCommand

    Dados

    function titleChangeReaction() 
    { 
       window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue()));
    }
    Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
  3. Adicione a nova chamada de ação que você criou ao evento do BrowserDocumentComplete do controle hospedado do Incidente.Para obter mais informações:Adicionar chamadas de ação a um evento

    Quando o evento TitleChanged for disparado, a solicitação a seguir será gerada: http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>

    Isso fará com que o evento TitleChanged seja disparado com o seguinte parâmetro de dados: NewTitle=<NEW_TITLE>

Se você usar o JavaScript no Dynamics 365 para invocar um evento no Unified Service Desk usando um moniker de evento (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…), poderá usar a propriedade window.IsUSD para determinar se o código JavaScript está sendo executado no Unified Service Desk quando o evento é invocado. O exemplo de código a seguir pode ser incluído em seu código JavaScript para garantir que o evento seja invocado apenas quando o JavaScript de chamada estiver sendo executado no Unified Service Desk.

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

Confira Também

Eventos
Tipos de controle hospedado e referência de ação/evento
Gerenciar controles, ações e eventos hospedados
MSDN: Use o JavaScript com o Microsoft Dynamics CRM

Unified Service Desk 2.0

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais