Scrivere ed eseguire il debug di script per Dynamics 365 per telefoni e tablet

 

Data di pubblicazione: gennaio 2017

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

Microsoft Dynamics 365 per telefoni e Microsoft Dynamics 365 per tablet utilizzano 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 nei client mobili (telefoni e tablet) Dynamics 365. È necessario tenere presenti alcune differenze.

In questo argomento

Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in Dynamics 365 per telefoni e tablet

Specifica quale codice sarà eseguito in Dynamics 365 per telefoni e tablet

Specifica quali comandi visualizzare in Dynamics 365 per telefoni e tablet

Tenere presente le differenze tra i client mobili di Dynamics 365 e l'applicazione Web in un browser

Esegui il debug di script per Dynamics 365 per telefoni e tablet

Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in Dynamics 365 per telefoni e tablet

I client mobili Dynamics 365 non consentono 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.

Anche i client mobili Dynamics 365 non supportano il metodo window.open. Se stai cercando di aprire un modulo di entità di un record nuovo o esistente, usa Xrm.Utility.openEntityForm.

I seguenti metodi non funzionano nei client mobili Dynamics 365 (telefoni e tablet).

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMetodi ViewPort

Xrm.Page.data.entity.getDataXml

Raccolta Xrm.Page.ui.navigation.items

Metodi di oggetto Xrm.Page.ui.formSelector

Xrm.Page.ui tab.setDisplayState

La maggior parte di queste funzioni eseguirà 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.

Inoltre, Dynamics 365 per smartphone non supporta le risorse Web e gli IFRAME in modo che le API client per questi controlli non funzionino. Tuttavia, le API client per le risorse Web e gli IFRAME sono supportati in Dynamics 365 per tablet. Per ulteriori informazioni, vedere Metodi dei controlli di risorsa Web e IFRAME

Specifica quale codice sarà eseguito in Dynamics 365 per telefoni e 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 isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
 // Code for CRM for phones and tablets only goes here.
}
else
{
 // Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.

Specifica quali comandi visualizzare in Dynamics 365 per telefoni e 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 i clienti mobili di Dynamics 365, devi includere delle regole di visualizzazione in modo che i controlli non appaiano in Dynamics 365 per tablet. Per impostazione predefinita, qualsiasi comando definito sarà visualizzato nei client mobili di Dynamics 365 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 i client mobili di Dynamics 365.

<DisplayRule Id="My.HideOnModern">
 <CommandClientTypeRule Type="Modern"
                        InvertResult="true" />
</DisplayRule>

Tenere presente le differenze tra i client mobili di Dynamics 365 e l'applicazione Web in un browser

Oltre alle funzioni descritte in Alcune funzioni di oggetto finestra o Xrm.Page non funzioneranno in Dynamics 365 per telefoni e tablet, è necessario tenere presente che esistono altre differenze.

  • Campi composti
    I client mobili di Dynamics 365 implementeranno i campi composti in modo diverso. I clienti mobili di Dynamics 365 non includeranno gli attributi compositi. Sostituiranno automaticamente gli attributi costituenti e li visualizzeranno.Ulteriori informazioni:Scrivere script per gli attributi compositi.

Esegui il debug di script per Dynamics 365 per telefoni e tablet

Dal momento che Dynamics 365 per smartphone o Dynamics 365 per tablet sono 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:

  1. Eseguire test accurati sugli script utilizzando l'applicazione Web

  2. Come parte dei test tramite il Web browser, riserva i criteri quando controlli il client utilizzando Xrm.Page.context.client.getClient e verifica che la logica sia appropriata all'esperienza che gli utenti dovrebbero avere utilizzando i clienti mobili di Dynamics 365. Le API disponibili per i client mobili di Dynamics 365 sono un sottoinsieme delle API disponibili per il Web browser, pertanto potrai eseguire i test del flusso alternativo nel Web browser.

  3. Se possibile, installa i client mobili di Dynamics 365 in un computer con Windows 10 e Microsoft Visual Studio. Includere le istruzioni del debugger dove si desidera avviare il debugger utilizzando Visual Studio.

  4. Infine, utilizza Xrm.Utility.alertDialog per visualizzare i valori dal codice all'interno dei client mobili di Dynamics 365.

Vedere anche

Creare il codice per moduli di Microsoft Dynamics 365
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

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright