Freigeben über


Ausführen von Skripten mithilfe von Skriptlets in Unified Service Desk

Scriptlets sind JavaScript-Snippets, die ausgeführt werden, wenn eine spezielle Syntax für Ihren Ersetzungsparameter verwendet wird. Manchmal enthalten die vom System generierten Ersetzungsparameter die richtigen Daten, die für diese Funktionen benötigt werden, aber möglicherweise nicht im gewünschten Format. Bei der Computer-Telefonintegration (CTI) kommen Telefonnummern beispielsweise in der Regel als Ziffernfolge wie "3035551212" ohne Formatierung aus dem Telefonsystem an. Microsoft Dataverse speichert Telefonnummern jedoch als Zeichenfolge, die in der Regel Formatierungszeichen wie Bindestriche wie in (303) 555-1212 enthält. Wenn Sie Ihre Entität mit den Daten durchsuchen würden, die direkt vom Telefonsystem geliefert werden, sind die Änderungen so gering, dass jemals eine Übereinstimmung gefunden wird. Sie beheben dies mithilfe von Skriptlets in Unified Service Desk.

Wie verwende ich Scriptlets?

Sie definieren ein Scriptlet im Bereich Scriptlets (Einstellungen>Scriptlets) in Dataverse. Nachdem Sie ein Scriptlet definiert haben, verwenden Sie das Scriptlet im folgenden Format als Ersetzungsparameter in Ihren Abfragen oder Parametern für die Aktionsaufrufe.

[[script.<Scriptlet_Name>]]  

Wenn das System einen solchen Ersetzungsparameter sieht, der mit script. beginnt, sucht es nach einem Skript, dessen Name mit dem folgenden Text in Ihrer Scriptlet-Liste übereinstimmt. Wenn ein Skriptlet mit dem angegebenen Namen gefunden wird, werden zuerst die Parameter in diesem Skript ersetzt und dann das Skript als JavaScript-Ausdruck ausgeführt. Der Wert des Ausdrucks wird verwendet, um den Wert der Ersetzung oben zur zu ersetzen.

Warnung

Wenn die Ersetzungsparameter in dem Skriptlet eine andere Skriptletersetzung enthalten, usw. bis es eine Schleife erstellt, führt dies dazu, dass das System kontinuierlich Parameter ersetzt, bis der Stapel überläuft. Daher wird dringend empfohlen, dass Sie niemals in Ihren Skripten verwenden [[script.ReplacementParameters]] .

Verweisen auf global gehostete Steuerelemente aus Ihren Skriptlets

Skriptlets können während der Ausführung auf global gehostete Steuerelementmethoden verweisen. Alle globalen (nicht dynamischen) gehosteten Steuerelemente werden dem Skriptmodulmodul beim Start als skriptfähige Objekte hinzugefügt. Da JavaScript nicht auf Namen verweisen kann, die Leerzeichen enthalten, ersetzt das Skriptlet-Modul automatisch Leerzeichen im Namen des global gehosteten Steuerelements durch "_"-Unterstriche. Sie können daher das folgende gültige JavaScript verwenden.

Connection_Manager.ConfigurationReader.ReadAppSettings(“maxNumberOfSessions”);  

Es gibt ein Sonderfallszenario für den Globalen Manager. Es kann auch über CRMGlobalManagerverwiesen werden, unabhängig davon, wie es in der Konfiguration benannt ist.

If (CRMGlobalManager.SessionCount == 0) // Es werden keine Kundensitzungen geladen. Es wird nur eine globale Sitzung geladen.

Hinweis

Über diese Methode sind nur öffentliche Funktionen zugänglich.

Stellen Sie sich eine Situation vor, in der Sie Sitzungsübersichtsinformationen in Ihrer Sitzungszeilenkomponente anzeigen möchten, sich die Informationen jedoch tatsächlich in einem externen System befinden, auf das über Webdienste zugegriffen werden kann, anstatt auf Ihrem Dataverse-Server verfügbar zu sein. Sie können ein gehostetes Steuerelement erstellen, das eine öffentliche Funktion verfügbar macht, die den externen Webdienst aufruft. Anschließend konfigurieren Sie dieses gehostete Steuerelement als globales gehostetes Steuerelement und platzieren es auf dem HiddenPanel. Diese Funktion und dieser Webservice-Aufruf können nun aus einem Scriptlet heraus verwendet werden. Sie können dann das folgende Skriptlet erstellen, um die neue Funktion aufzurufen.

My_Global_Application.CallExternalWebService(“[[account.accountnumber]$]”);  

Dieser Code übergibt die Kontonummer aus dem Konto als ersten Parameter an Ihre Funktion. Wenn Sie Ihrem Scriptlet Call Web Service einen Namen geben, können Sie die folgende Session-Zeile verwenden, um das Ergebnis des Web-Service-Aufrufs anzuzeigen.

<Grid Margin="0"  
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"  
  xmlns:CCA="clr-namespace:Dynamics;assembly=Dynamics">  
<Grid.RowDefinitions>  
 <RowDefinition Height="auto" />  
</Grid.RowDefinitions>  
<Grid.ColumnDefinitions>  
 <ColumnDefinition Width="100"/>  
 <ColumnDefinition Width="*" />  
 <ColumnDefinition Width="auto" />  
</Grid.ColumnDefinitions>  
<Label Margin="3,0,5,3" Content="Web Service Data" Padding="0" Grid.Row="4" HorizontalAlignment="Right" FontFamily="Tohoma" FontSize="12" FontWeight="Bold" />  
<TextBlock Text="[[script.Call Web Service]]" Margin="0" Grid.Column="1" Grid.Row="4" Padding="3,0,0,3" FontFamily="Tohoma" FontSize="12"/>  
</Grid>  

Siehe auch

Parameter für den Austausch
Globale und sitzungsbasierte Unified Service Desk-gehostete Steuerelemente