Condividi tramite


Eseguire script utilizzando gli scriptlet in Unified Service Desk

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Gli scriptlet sono frammenti di codice JavaScript da eseguire quando si utilizza una sintassi speciale per il parametro sostitutivo. Talvolta i parametri sostitutivi generati dal sistema contengono i dati appropriati necessari per queste funzioni, ma il formato di tali dati potrebbe non essere quello desiderato. In Computer Telephone Integration (CTI), ad esempio, i numeri di telefono provengono in genere dal sistema telefonico sotto forma di stringhe di cifre come "3035551212“, senza formattazione. Microsoft Dynamics 365, tuttavia, archivia i numeri di telefono come stringhe contenenti in genere caratteri di formattazione come trattini, ad esempio (303) 555-1212. Se fosse necessario eseguire una ricerca nell'entità Dynamics 365 utilizzando i dati forniti direttamente dal sistema telefonico, le modifiche sarebbero minime e una corrispondenza verrebbe senz'altro trovata. Questo problema può essere risolto utilizzando gli scriptlet in Unified Service Desk.

In questo argomento

Come utilizzare gli scriptlet?

Riferimento ai controlli ospitati globali dagli scriptlet

Come utilizzare gli scriptlet?

Gli scriptlet vengono definiti nell'area Scriptlet (Impostazioni > Scriptlet) in Microsoft Dynamics 365. Dopo aver definito uno scriptlet, utilizzarlo nel formato seguente come parametro sostitutivo nei parametri o nelle query agli inviti all'azione.

[[script.<Scriptlet_Name>]]

Quando il sistema vede un parametro sostitutivo che inizia con script., cercherà uno script con il nome corrispondente al testo che lo segue nell'elenco di scriptlet. Se trova uno scriptlet con il nome specificato, verranno innanzitutto sostituiti i parametri all'interno di questo script, dopodiché lo script verrà eseguito come espressione JavaScript. Il valore dell'espressione verrà utilizzato per sostituire il valore della sostituzione precedente.

Avviso

Se i parametri sostitutivi nello scriptlet contengono un'altra sostituzione di scriptlet, e così via fino a creare un ciclo, il sistema sostituirà continuamente i parametri finché non si crea un overflow dello stack. Pertanto, è consigliabile non utilizzare mai [[script.ReplacementParameters]] negli scriptlet.

Riferimento ai controlli ospitati globali dagli scriptlet

Gli scriptlet possono fare riferimento ai metodi dei controlli ospitati globali durante l'esecuzione. Tutti i controlli ospitati (non dinamici) globali vengono aggiunti come oggetti sottoponibili a script al motore degli scriptlet all'avvio. Poiché JavaScript non può fare riferimento ai nomi contenenti spazi, il motore degli scriptlet sostituisce automaticamente gli spazi nel nome del controllo ospitato globale con caratteri di sottolineatura "_". È pertanto possibile utilizzare il seguente codice JavaScript valido.

Connection_Manager.ConfigurationReader.ReadAppSettings(“maxNumberOfSessions”);

Esiste uno scenario di caso speciale per il Responsabile globale. È anche possibile fare riferimento a esso tramite CRMGlobalManager, indipendentemente da quanto indicato nella configurazione.

Se (CRMGlobalManager.SessionCount == 0) // non viene caricata alcuna sessione cliente. Viene caricata solo una sessione globale.

Nota

Solo le funzioni pubbliche sono accessibili tramite questo metodo.

Si supponga di voler visualizzare le informazioni generali sulla sessione nel componente Righe sessione, anche se le informazioni risiedono effettivamente in un sistema esterno accessibile tramite i servizi Web anziché essere disponibili nel server Dynamics 365. È possibile creare un controllo ospitato che espone una funzione pubblica, che chiama il servizio Web esterno. Configurare quindi il controllo ospitato come controllo ospitato globale e posizionarlo in HiddenPanel. Questa funzione e la chiamata al servizio Web sono ora utilizzabili da uno scriptlet. È quindi possibile creare lo scriptlet seguente per chiamare la nuova funzione.

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

Questo codice passa il numero account dall'account alla funzione come primo parametro. Se lo scriptlet viene chiamato Chiama servizio Web, è possibile utilizzare la Riga sessione seguente per visualizzare il risultato della chiamata al servizio 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>

Vedere anche

Parametri sostitutivi
Controlli ospitati di Unified Service Desk globali e basati sulla sessione

Unified Service Desk 2.0

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright