Share via


Écrire et déboguer des scripts pour CRM pour tablettes

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Microsoft Dynamics CRM pour tablettes utilise les mêmes définitions de formulaire que celles utilisées dans l’application Web. Tout code JavaScript que vous ajoutez aux gestionnaires d’événements de formulaire ou aux commandes du ruban dans l’application Web peut également s’exécuter dans CRM pour tablettes. Il existe des différences que vous devez connaître.

Contenu de la rubrique

Certaines fonctions d’objet Xrm.Page ou de fenêtre ne fonctionnent pas dans CRM pour tablettes

Spécifier le code qui s’exécute dans CRM pour tablettes

Spécifier les commandes qui s’affichent dans CRM pour tablettes

Connaître les différences entre CRM pour tablettes et l’application Web dans un navigateur

Débogage de scripts pour CRM pour tablettes

Certaines fonctions d’objet Xrm.Page ou de fenêtre ne fonctionnent pas dans CRM pour tablettes

CRM pour tablettes n’autorise pas les fonctions qui peuvent bloquer l’exécution des scripts. Les fonctions JavaScript courantes telles que window.alert, window.confirm et window.prompt ne fonctionnent pas comme prévu ou génèrent simplement des erreurs.

Utilisez les fonctions Xrm.UtilityalertDialog et confirmDialog pour afficher les messages aux utilisateurs. Ces fonctions fonctionnent différemment des fonctions de fenêtre, car elles n’arrêtent pas le traitement des scripts tant que l’utilisateur ne les ferme pas. Elles fournissent des fonctions de rappel pour autoriser une réponse asynchrone à l’entrée d’utilisateur. L’utilisation de window.confirm, de window.prompt ou de toute autre fonction de fenêtre native qui bloque l’exécution des scripts génère une erreur.

Notes

Si vous utilisez window.alert dans vos scripts de formulaire, le message que vous définissez est automatiquement affiché à l’aide de Xrm.Utility.alertDialog sans une fonction de rappel spécifiée, mais il est temporaire et doit toujours être considéré comme obsolète. Tout code qui utilise window.alert doit utiliser Xrm.Utility.alertDialog à la place.

Les méthodes suivantes ne fonctionnent pas dans CRM pour tablettes.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiMéthodes ViewPort

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlMéthodes relatives aux contrôles de ressources Web et IFRAME

Méthodes d’objet Xrm.Page.ui.formSelector

Xrm.Page.ui tab.setDisplayState

Collection Xrm.Page.ui.navigation.items

Xrm.Utility.openWebResource

La plupart de ces fonctions exécutent simplement une fonction vide et ne retournent aucune valeur. Si votre code attend une valeur de retour de l’une de ces fonctions, celle-ci n’est pas définie.

Spécifier le code qui s’exécute dans CRM pour tablettes

Lorsque les fonctionnalités de l’API cliente sont différentes, vous devez inclure un code similaire au code suivant pour séparer la logique que vous appliquez pour chaque utilisateur.

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.

Spécifier les commandes qui s’affichent dans CRM pour tablettes

Lorsque vous utilisez l’action <JavaScriptFunction> (RibbonDiffXml) dans vos commandes personnalisées de la barre de commandes (ruban), vous pouvez également séparer votre code à l’aide de Xrm.Page.context.client.getClient. Si l’action à exécuter ne fonctionne pas avec CRM pour tablettes, vous devez inclure des règles d’affichage de sorte que les commandes n’apparaissent pas dans CRM pour tablettes. Par défaut, toute commande définie s’affiche dans CRM pour tablettes sauf si vous la configurez explicitement pour qu’elle ne s’affiche pas. En règle générale, vous devez définir la règle d’affichage suivante et l’inclure dans chaque commande sauf si vous savez qu’elle fonctionne avec CRM pour tablettes.

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

Connaître les différences entre CRM pour tablettes et l’application Web dans un navigateur

Outre les fonctions décrites dans Certaines fonctions d’objet Xrm.Page ou de fenêtre ne fonctionnent pas dans CRM pour tablettes, vous devez également savoir qu’il existe d’autres différences.

  • Champs composés
    CRM pour tablettes implémente différemment les champs composites.CRM pour tablettes ne contient pas d'attributs composites. Il substitue automatiquement les attributs constitutifs et les affiche à la place.Pour plus d'informations :Écrire des scripts pour les attributs composés.

  • Ressources Web et IFRAME
    CRM pour tablettes ne prend pas en charge l’affichage de ressources Web ou d’IFRAMEs dans les formulaires. Si l’un de vos codes interagit avec ces types de contrôles, vous pouvez supposer que les contrôles n’apparaissent pas dans un formulaire CRM pour tablettes et vous devez appliquer les instructions dans Spécifier le code qui s’exécute dans CRM pour tablettes pour exécuter ce code uniquement dans le client du navigateur Web.

Débogage de scripts pour CRM pour tablettes

Dans la mesure où CRM pour tablettes est une application, les outils de débogage JavaScript normaux que vous pouvez utiliser dans le navigateur ne sont pas disponibles. Nous vous recommandons la procédure suivante pour tester et déboguer vos scripts de formulaire et vos commandes du ruban

  1. Testez vos scripts de manière approfondie à l’aide de l’application Web.

  2. Dans le cadre des tests avec le navigateur Web, inversez les critères lorsque vous recherchez le client avec Xrm.Page.context.client.getClient et vérifiez que la logique est appropriée à l’expérience des utilisateurs qui utilisent CRM pour tablettes. Les API disponibles pour CRM pour tablettes sont un sous-ensemble des API disponibles pour le navigateur Web. Vous devriez donc pouvoir tester l’autre flux dans le navigateur Web.

  3. Si possible, installez CRM pour tablettes sur un ordinateur où Windows 8 et Microsoft Visual Studio sont installés. Incluez les instructions du débogueur à l’emplacement où vous souhaitez lancer le débogueur avec Visual Studio.

  4. Enfin, utilisez Xrm.Utility.alertDialog pour afficher les valeurs de votre code dans CRM pour tablettes.

Voir aussi

Écrire du code pour les formulaires Microsoft Dynamics CRM 2015
Utiliser des événements de formulaire et de champ
Utiliser le modèle d’objet Xrm.Page
Écrire des scripts pour les attributs composés
Référence rapide des scripts de formulaires
Référence par programmation côté client
Présentation de la barre de commandes et du ruban

© 2017 Microsoft. Tous droits réservés. Copyright