Partager via


Créer un événement défini par l’utilisateur

Unified Service Desk vous propose des événements prédéfinis pour les contrôles hébergés selon le type du contrôle hébergé. Indépendamment de ces événements prédéfinis, vous pouvez également créer vos propres événements dans Unified Service Desk, qui sont appelés événements définis par l'utilisateur. Vous pouvez utiliser l’action FireEvent ou le moniker d’événement pour exécuter des événements définis par l’utilisateur.

Utiliser l’action FireEvent

Tous les types de contrôle hébergés Unified Service Desk prédéfinis et personnalisés, sauf l’Application hébergée CCA, ont une action UII spéciale appelée FireEvent. Vous pouvez appeler cette action pour lancer un événement défini par l’utilisateur à partir de ce contrôle. Cette méthode est très pratique pour regrouper plus appels à l’action en un même appel, en créant efficacement une fonctionnalité dans Unified Service Desk. C’est aussi une façon raisonnable de tester les événements et leurs séquences d’action avant le déploiement.

Le premier paramètre du FireEvent est le nom de l’événement :

name=MyEvent  

Toutes les paires nom/valeur suivantes deviennent les paramètres de l’événement et peuvent ainsi être utilisées comme paramètres de remplacement dans les actions appelées en conséquence. Par exemple, si vous passez la liste de paramètres suivante :

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

Cette opération déclenchera l’événement personnalisé MyEvent qui permettra de créer un appel à l’action qui utilise le paramètre var1 comme suit :

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

Le paramètre d’événement est passé comme paramètre de données à une action de contrôle hébergé. Dans cet exemple, cela signifie que le paramètre de données du contrôle hébergé sera la valeur account.name de la session.

Utiliser le moniker d’événement

Vous pouvez créer un événement personnalisé sur un contrôle hébergé, puis l’appeler à l’aide de la syntaxe de moniker d’événement suivante :

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

Dans la syntaxe, vous spécifiez la paire key=value pour transmettre la liste de paramètres à utiliser lorsque l’événement est déclenché.

Prenons le cas où vous souhaitez déclencher un événement défini par l’utilisateur chaque fois que le titre de l’incident sur le formulaire d’incident est modifié dans Microsoft Dataverse. Pour ce faire :

  1. Créez un événement, appelé TitleChanged, pour le contrôle hébergé Incident dans Dataverse.

  2. Créez un appel à l’action, appelé Action Call for Title Change, avec les valeurs suivantes :

    Champ Valeur
    Nom Appel à l’action pour la modification du titre
    Contrôle hébergé Incident
    Pour RunXrmCommand
    Données function titleChangeReaction() {
    window.open(http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue()));
    }
    Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
  3. Ajoutez le nouvel appel à l’action que vous avez créé dans l’événement BrowserDocumentComplete du contrôle hébergé Incident. En savoir plus : Ajouter des appels à l’action à un événement

    Lorsque l’événement TitleChanged est déclenché, la demande suivante est émise : http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>

    Cela provoquera le déclenchement de l'événement TitleChanged avec le paramètre de données suivant : NewTitle=<NEW_TITLE>

    Si vous utilisez JavaScript dans la plateforme Dataverse pour appeler un événement dans Unified Service Desk à l’aide du moniker d’événement (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…), vous pouvez utiliser la propriété window.IsUSD pour déterminer si le code JavaScript s’exécute sous Unified Service Desk lorsque l’événement est appelé. L’exemple de code suivant peut être inclus dans votre code JavaScript pour garantir que l’événement est appelé uniquement lorsque le code JavaScript d’appel s’exécute dans Unified Service Desk.

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

Voir aussi

Événements
Types de contrôle hébergé et référence d'action/événement
Gérer les contrôles hébergés, les actions et les événements
MSDN : Utiliser JavaScript avec Microsoft Dynamics CRM