Freigeben über


Erstellen eines benutzerdefinierten Ereignisses

 

Veröffentlicht: November 2016

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Unified Service Desk stelt Ihnen vordefinierte Ereignisse für gehostete Steuerelemente basierend auf den Typ des gehosteten Steuerelements zur Verfügung. Abgesehen von diesen vordefinierten Ereignissen können Sie eigene Ereignisse in Unified Service Desk erstellen, die benutzerdefinierten Ereignisse genannt werden. Sie können die Aktion FireEvent oder den Ereignismoniker verwenden, um benutzerdefinierte Ereignisse auszuführen.

In diesem Thema

Verwenden der FireEvent-Aktion

Verwenden des Ereignismoniker

Verwenden der FireEvent-Aktion

Alle der vordefinierten und benutzerdefinierten Typen von gehosteten Unified Service Desk, Steuerelementtypen außer der gehosteten CCA-Anwendung verfügen über eine spezielle UII-Aktion, mit der Bezeichnung FireEvent. Sie können diese Aktion aufrufen, um ein benutzerdefiniertes von diesem Steuerelement aus einzuleiten. Dies ist eine bequeme Möglichkeit, mehrere Aktionsaufrufe in einen einzigen Aufruf zu gruppieren und effektiv eine Funktion in Unified Service Desk zu erstellen. Es ist ferner eine angemessene Methode, Ereignisse und ihre Aktionsreihenfolgen vor der Bereitstellung zu testen.

Der erste Parametern von FireEvent ist der Name des Ereignisses:

name=MyEvent

Alle folgenden Name-Wert-Paare werden zu Parametern für das Ereignis und können daher als Ersetzungsparameter innerhalb der Aktionen verwendet werden, die infolgesdessen aufgerufen werden. Angenommen, Sie übergeben die folgende Parameterliste:

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

Dies löst ein benutzerdefiniertes MyEvent-Ereignis aus, das die Möglichkeit gibt, einen Aktionsaufruf zu erstellen, der den var1-Parameter verwendet, wie folgt:

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

Dieses gibt den Ereignisparameter als Datenparameter ein zur Aktion des gehosteten Steuerelements. In diesem Beispiel bedeutet das, dass der Datenparameter für das gehostete Steuerelement der account.name-Wert von der Sitzung ist.

Verwenden des Ereignismoniker

Sie können ein benutzerdefiniertes Ereignis auf einem gehosteten Steuerelement erstellen und es dann mithilfe der folgenden Ereignismonikersyntax verwenden:

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

In die Syntax geben Sie das key=value-Paar an, um die zu verwendende Parameterliste zu übergeben, wenn das Ereignis ausgelöst wird.

Sehen Sie sich ein Beispiel an, in dem Sie ein benutzerdefiniertes Ereignis auslösen möchten, wann immer der Titel der Anfrage im Formular "Anfrage" in Dynamics 365 sich ändert. Um dies zu tun:

  1. Erstellen Sie ein neues Ereignis namens TitleChanged für Ereignis gehostete Steuerelement in Microsoft Dynamics 365.

  2. Erstellen Sie einen Aktionsaufruf namens Action Call for Title Change, mit den folgenden Werten:

    Feld

    Wert

    Name

    Action Call for Title Change

    Gehostetes Steuerelement

    Vorfall

    Aktion

    RunXrmCommand

    Daten

    function titleChangeReaction() 
    { 
       window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue()));
    }
    Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
  3. Fügen Sie den neuen Aktionsaufruf hinzu, den Sie für das BrowserDocumentComplete-Ereignis des Ereignis gehostete Steuerelement erstellt haben.Weitere Informationen:Fügen Sie Aktionsanrufe einem Ereignis hinzu

    Wenn das TitleChanged-Ereignis ausgelöst wird, wird die folgende Anforderung ausgelöst: http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>

    Dieses Ereignis führt dazu, dass das TitleChanged-Ereignis mit dem folgenden Datenparameter ausgelöst wird: NewTitle=<NEW_TITLE>

Wenn Sie JavaScript in Dynamics 365 zur Erstellung eines Ereignisses in Unified Service Desk über den Ereignis-Moniker (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…) nutzen, kölnnen Sie die window.IsUSD-Eigenschaft dazu nutzen, die Ausführung des JavaScript-Codes unter Unified Service Desk beim Ereignis festzulegen. Das folgende Codebeispiel können Sie zu Ihrem JavaScript-Code hinzufügen. Es stellt sicher, dass das Ereignis nur dann ausgelöst wird, wenn das aufrufende JavaScript in Unified Service Desk ausgeführt wird.

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

Siehe auch

Ereignisse
Typen gehosteter Steuerelemente und Referenz zu Aktionen/Ereignissen
Verwalten von gehosteten Steuerelementen, Aktionen und Ereignissen
MSDN: Verwendung von JavaScript mit Microsoft Dynamics CRM

Unified Service Desk 2.0

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright