Scrivere ed eseguire il debug di script per CRM per i tablet
Data di pubblicazione: novembre 2016
Si applica a: Dynamics CRM 2015
Microsoft Dynamics CRM per tablet utilizza le stesse definizioni dei moduli che sono utilizzate nell'applicazione Web. Qualsiasi codice JavaScript che si aggiunge per creare gestori eventi o comandi della barra multifunzione nell'applicazione Web possono essere eseguiti anche in CRM per tablet. È necessario tenere presenti alcune differenze.
In questo argomento
Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in CRM per tablet
Specificare quale codice sarà eseguito in CRM per tablet
Specificare quali comandi visualizzare in CRM per tablet
Tenere presente le differenze tra CRM per tablet e l'applicazione Web in un browser
Esecuzione del debug di script per CRM per i tablet
Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in CRM per tablet
CRM per tablet non consente l'utilizzo di funzioni che possono impedire l'esecuzione degli script. Le funzioni JavaScript comuni come window.alert, window.confirm e window.prompt non funzioneranno nel modo previsto o semplicemente genereranno errori.
Utilizzare le funzioni Xrm.UtilityalertDialog e confirmDialog per visualizzare i messaggi agli utenti. Queste funzioni operano in modo diverso rispetto alle funzioni di finestra in quanto non arrestano l'elaborazione degli script fino quando l'utente non li chiudi. Forniscono funzioni di callback per consentire una risposta asincrona all'input utente. L'utilizzo di window.confirm, window.prompt o di qualsiasi altra funzione di finestra nativa che blocca l'esecuzione di script genererà un errore.
Nota
Se si utilizza window.alert negli script di modulo, il messaggio che si imposta sarà automaticamente visualizzato utilizzando Xrm.Utility.alertDialog senza una funzione di callback specificata, ma ciò è temporaneo ed è già considerato deprecato. È consigliabile spostare un codice utilizzando window.alert invece di Xrm.Utility.alertDialog.
I seguenti metodi non funzionano in CRM per tablet.
Xrm.Page.context.getCurrentTheme |
Xrm.Page.uiMetodi ViewPort |
Xrm.Page.data.entity.getDataXml |
Xrm.Page.ui controlMetodi dei controlli di risorsa Web e IFRAME |
Metodi di oggetto Xrm.Page.ui.formSelector |
Xrm.Page.ui tab.setDisplayState |
Raccolta Xrm.Page.ui.navigation.items |
Xrm.Utility.openWebResource |
La maggior parte di queste funzioni eseguirà semplicemente una funzione vuota e non restituirà alcun valore. Se è previsto che il codice in uso debba restituire un valore da una di queste funzioni, il codice sarà indefinito.
Specificare quale codice sarà eseguito in CRM per tablet
Quando le funzionalità dell'API client sono diverse, è consigliabile includere codice simile al seguente per separare la logica che si applica per ogni client.
var isCrmForTablets = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForTablets)
{
// Code for CRM for tablets only goes here,
}
else
{
// Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.
Specificare quali comandi visualizzare in CRM per tablet
Quando si utilizza l'azione <JavaScriptFunction> (RibbonDiffXml) nei comandi della barra dei comandi (barra multifunzione) personalizzata, è possibile anche separare il codice utilizzando Xrm.Page.context.client.getClient. Se l'azione che si desidera eseguire non funziona con CRM per tablet, è necessario includere delle regole di visualizzazione in modo che i controlli non appaiano in CRM per tablet. Per impostazione predefinita, qualsiasi comando definito sarà visualizzato in CRM per tablet a meno che non venga esplicitamente configurato per non essere visualizzato. In genere, è consigliabile definire la seguente regola di visualizzazione e includerla in ogni comando a meno che non si sappia che funzionerà utilizzando CRM per tablet.
<DisplayRule Id="My.HideOnModern">
<CommandClientTypeRule Type="Modern"
InvertResult="true" />
</DisplayRule>
Tenere presente le differenze tra CRM per tablet e l'applicazione Web in un browser
Oltre alle funzioni descritte in Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in CRM per tablet, è necessario tenere presente che esistono altre differenze.
Campi composti
CRM per tablet implementa i campi composti in modo diverso.CRM per tablet non include gli attributi compositi. Sostituisce automaticamente gli attributi costituenti e li visualizza.Ulteriori informazioni:Scrivere script per gli attributi compositi.Risorse Web e IFRAME
CRM per tablet non supporta la visualizzazione delle risorse Web o di IFRAMEs nei moduli. Se uno dei codici in uso interagisce con questi tipi di controlli, è quasi certo che i controlli non appariranno in un modulo CRM per tablet e che occorrerà applicare le istruzioni in Specificare quale codice sarà eseguito in CRM per tablet in modo che il codice venga eseguito solo nel Web browser del client.
Esecuzione del debug di script per CRM per i tablet
Dal momento che CRM per tablet è un'app, i normali strumenti di debug JavaScript che si possono utilizzare nel browser non sono disponibili. Per eseguire i test e il debug degli script di modulo e dei comandi della barra multifunzione, si consiglia di attenersi alla seguente procedura.
Eseguire test accurati sugli script utilizzando l'applicazione Web
Come parte dei test tramite il Web browser, riservare i criteri quando si controlla il client utilizzando Xrm.Page.context.client.getClient e verificare che la logica sia appropriata all'esperienza che gli utenti dovrebbero avere utilizzando CRM per tablet. Le API disponibili per CRM per tablet sono un sottoinsieme delle API disponibili per il Web browser, pertanto sarà possibile eseguire i test del flusso alternativo nel Web browser.
Se possibile, installare CRM per tablet in un computer con Windows 8 e Microsoft Visual Studio. Includere le istruzioni del debugger dove si desidera avviare il debugger utilizzando Visual Studio.
Infine, utilizzare Xrm.Utility.alertDialog per visualizzare i valori dal codice all'interno di CRM per tablet.
Vedere anche
Creare il codice per moduli di Microsoft Dynamics CRM 2015
Utilizzare gli eventi di modulo e di campo
Utilizzare il modello a oggetti Xrm.Page
Scrivere script per gli attributi compositi
Riferimento rapido dello scripting dei moduli
Riferimento programmazione sul lato client
Barra dei comandi o presentazione barra multifunzione
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright