Partager via


Exécuter des scripts à l’aide de scriptlets dans Unified Service Desk

Les scriptlets sont des extraits de code JavaScript qui sont exécutés lorsque vous utilisez une syntaxe spéciale pour votre paramètre de remplacement. Il arrive que les paramètres de remplacement générés par le système contiennent les données nécessaires à ces fonctionnalités, mais ces données ne sont pas nécessairement au format voulu. Par exemple, dans le couplage téléphonie-informatique (CTI), les numéros de téléphone arrive généralement d'un système téléphonique sous forme de chaîne de chiffres, telle que « 3035551212 ", sans aucune mise en forme. Cependant, Microsoft Dataverse stocke les numéros de téléphone sous forme de chaînes contenant généralement des caractères de mise en forme tels que les tirets comme dans (303) 555-1212. Si vous devez rechercher votre entité à l'aide des données fournies directement par le système téléphonique, les probabilités qu'une correspondance soit trouvée sont très minces. Vous traitez cela à l’aide de scriptlets dans Unified Service Desk.

Utilisation des scriptlets

Vous définissez un scriptlet dans la zone Scriptlets (Paramètres>Scriptlets) de Dataverse. Après avoir défini un scriptlet, vous utilisez ce dernier au format suivant comme paramètre de remplacement dans vos requêtes ou vos paramètres liés aux appels à l'action.

[[script.<Scriptlet_Name>]]  

Lorsque le système voit ce paramètre de remplacement commençant par script., il recherche un script dont le nom correspond au texte qui le suit, dans votre liste de scriptlets. S'il trouve un scriptlet avec le nom spécifié, il remplace d'abord les paramètres dans ce script, puis il exécute le script comme une expression JavaScript. La valeur de l'expression sera utilisée pour remplacer la valeur du remplacement ci-dessus.

Avertissement 

Si vos paramètres de remplacement du scriptlet contiennent un autre remplacement de scriptlet, et ainsi de suite, jusqu'à ce qu'une boucle soit créée, le système ne cessera de remplacer les paramètres, jusqu'au dépassement de la capacité de la pile. Par conséquent, il est fortement recommandé de ne jamais utiliser [[script.ReplacementParameters]] dans vos scriptlets.

Référence aux contrôles hébergés globaux à partir de vos scriptlets

Les scriptlets peuvent référencer les méthodes de contrôle hébergés globaux au moment de l'exécution. Tous les contrôles hébergés (non dynamiques) globaux sont ajoutés en tant qu'objets « scriptables » au moteur de scriptlet, lors du démarrage. Étant donné que JavaScript ne peut pas faire référence aux noms contenant des espaces, le moteur de scriptlet remplace automatiquement les espaces du nom du contrôle hébergé global par des traits de soulignement « _ ». Vous pouvez donc utiliser le code JavaScript valide suivant.

Connection_Manager.ConfigurationReader.ReadAppSettings(“maxNumberOfSessions”);  

Il y existe un scénario d'incident spécifique pour le Gestionnaire global. Il peut également être référencé via CRMGlobalManager, indépendamment du nom qui lui est attribué dans la configuration.

Si (CRMGlobalManager.SessionCount == 0) // aucune session client n’est chargée. Seule une session globale est chargée.

Note

Seules les fonctionnalités publiques sont accessibles via cette méthode.

Supposons que vous souhaitiez afficher les informations de vue d’ensemble de la session dans le composant Lignes de session, mais que les informations soient en fait stockées dans un système externe accessible via les services Web au lieu d’être disponibles dans votre serveur Dataverse. Vous pouvez créer un contrôle hébergé qui expose une fonctionnalité publique qui appelle le service Web externe. Vous configurez ensuite ce contrôle hébergé comme contrôle hébergé global, puis le placez sur HiddenPanel. Cet appel de fonctionnalités et de service web est désormais accessible à partir d'un scriptlet. Vous pouvez ensuite créer le scriptlet suivant pour appeler votre nouvelle fonction.

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

Ce code fait passer le numéro de compte du compte dans votre fonctionnalité comme premier paramètre. Si vous nommez votre scriptlet Service web d'appel, vous pouvez ensuite utiliser la ligne de session suivante pour afficher le résultat de l'appel du service web.

<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>  

Voir aussi

Paramètres de remplacement
Contrôles hébergés Unified Service Desk globaux et basés sur une session