Executar scripts utilizando scriptlets no Unified Service Desk
Scriptlets são excertos de Javascript executados quando utilizar uma sintaxe especial para o parâmetro de substituição. Por vezes os parâmetros de substituição gerados pelo sistema contêm os dados apropriados necessários para estas funções, mas não podem conter dados neste formato. Por exemplo, no CTI (Computer Telephone Integration ), os números de telefone chegam normalmente do sistema telefónico como uma cadeia de dígitos como “3035551212 ", sem formatação. Contudo, o Microsoft Dynamics CRM armazena números de telefone como uma cadeia que inclui normalmente caracteres de formatação, como traços, como em (303) 555-1212. Se procurar a entidade do CRM utilizando os dados fornecidos diretamente pelo sistema telefónico, é pouco provável que encontre uma correspondência. Pode resolver isto usando scriptlets no Unified Service Desk.
Neste Tópico
Como utilizar a scriplets?
Referenciar controlos alojados globais nos scriptlets
Como utilizar a scriplets?
Define um scriptlet na área de Scriptlets (Definições > Scriptlets) no Microsoft Dynamics CRM. Depois de definir um scriptlet, utilize o scriptlet no seguinte formato como parâmetro de substituição nas consultas ou parâmetros das chamadas de ação.
[[script.<Scriptlet_Name>]]
Quando o sistema vê um parâmetros de substituição começado com script., procurará um script com o nome que corresponde ao texto a seguir na lista de scriptlet. Se encontra um scriptlet com o nome especificado, substituirá primeiro parâmetros nesse script e depois executa o script como uma exppressão de Javascript. O valor de expressão será utilizado para substituir o valor de substituição acima.
Aviso
Se os parâmetros de substituição no scriptlet contêm outra substituição de scriptlet, e assim consecutivamente criando um ciclo, farão com que o sistema substitua continuamente parâmetros até que ocorra a ultrapassagem da capcidade da pilha. Consequentemente, é vivamente recomendado que nunca utilize [[script.ReplacementParameters]]
nos scriptlets.
Referenciar controlos alojados globais nos scriptlets
Os scriptlets podem referenciar controlos alojados globais durante a execução. Todos os controlos alojados globais (não dinâmico) são adicionados como objetos de script para o motor de scriptlet no arranque. Como o Javascript não pode referenciar nomes com espaços, o motor de scriptlet substitui espaços automaticamente no nome do controlo alojado global por carateres de sublinhado "_". Consequentemente pode utilizar o seguinte Javascript válido.
Connection_Manager.ConfigurationReader.ReadAppSettings(“maxNumberOfSessions”);
Existe um cenário de caso especial para o gestor global. Também pode ser referido através de CRMGlobalManager, independentemente do que é indicado na configuração.
If (CRMGlobalManager.SessionCount == 0) // não são carregadas sessões de cliente. Apenas é carregada uma sessão global.
Nota
Apenas as funções públicas são acedidos através deste método.
Vamos supor que pretende apresentar informações de descrição geral de sessão no componente Linhas de Sessão mas as informações residem atualmente num sistema externo que é acessível através dos serviços Web em vez de estar disponível no servidor do CRM. Pode criar um controlo alojado que expõe uma função pública, que irá chamar o serviço Web externo. Pode configurar este controlo alojado como um controlo alojado global e colocá-lo em HiddenPanel. Este função e chamada de serviço Web pode agora ser utilizada num scriptlet. Pode depois criar o seguinte scriptlet para chamar a função nova.
My_Global_Application.CallExternalWebService(“[[account.accountnumber]$]”);
Este código passa o número de conta para a função como primeiro parâmetro. Se chamar ao scriptlet Chamada de serviço Web, poderá utilizar a Linha de sessão seguinte para apresentar o resultado de uma chamada ao serviço 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>
Consulte Também
Referência
Controlos alojados do Unified Service Desk globais e baseados na sessão
Conceitos
Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.