jeudi 2 novembre 2017

#Tip37 Dynamics 365 : Formulaires principaux - Partie 2 : Personnalisations du corps

Dans l’article intitulé #Tip36 Dynamics 365 : Formulaires principaux – Partie 1 : Description générale, l’objectif était d’apporter des précisions et définir ce qu’est un formulaire Dynamics.
Dans cette partie 2, voici la liste des fonctionnalités clés qu’il est possible à mettre en place dans le corps d’un formulaire Dynamics :
  • Gestion des onglets / sections et placement des champs
  • Faire des appels d’une fonction Javascript
  • Activer les rôles de sécurité
  • Modifier le ruban du formulaire
Et ceci n’est qu’une petite liste des options possibles mais il s’agit des principales.

Avant propos


Avant de décrire les quelques personnalisations listées ci-dessus, il est bien  important de bien comprendre l’enjeu de la configuration d’un formulaire Dynamics. Avant de se lancer tête baissée dans la configuration, je vous conseille de bien préparer les réponses aux questions suivantes :
  • A quoi sert mon entité ?
  • Quels sont les utilisateurs qui vont utiliser le formulaire ? Quelles sont leurs fonctions ?
  • Mon entité fait-elle partie d’un processus métier global ? Est-ce le point de démarrage ou la “page d’atterrissage” ?
  • D’où viennent les informations enregistrées ? Uniquement de Dynamics ou d’un autre système (par flux) ?
  • Quelles sont les actions que peuvent faire les utilisateurs ? Quelles sont les plus importantes ?
  • Etc.
Ces 4 premières questions sont capitales pour bien construire votre formulaire. Il est commun de voir des formulaires Dynamics beaucoup trop chargés en champs vides ou contenant une information non-exploitée (voir même non exploitable car mal renseignée).
De plus, cette démarche a pour but d’impliquer les futurs utilisateurs dès le début de la mise en route de votre projet Dynamics, ce qui vous permet de multiplier vos chances de créer une forte adhérence au projet et donc à Dynamics.
Je reviendrai sur l’optimisation de Dynamics pour améliorer l”adhérence au produit dans un prochain article.


Gestion des onglets, des sections et le placement de champs


Comme vu dans la partie 1, un formulaire peut contenir un ou plusieurs onglets, un onglet peut contenir une ou plusieurs sections, une section peut contenir un ou plusieurs composants de base (Sous-grille, champs, Ressources Web, Iframe…)
Pour ajouter un onglet, cliquer sur Insérer puis sur Une colonne  (Sachant qu’il est possible de cliquer sur les boutons permettant d’ajouter plus de colonnes dans l’onglet)


image

L’onglet est ajouté au formulaire. On peut remarquer qu’une section par défaut est ajoutée.

image

Conseil : Une des premières manipulations à réaliser est de changer le nom technique de vos onglets ou sections. Ce n’est pas obligatoire mais si un de ces composants est utilisé dans du code spécifique, avoir un nom technique logique sera plus clair.
Vous pouvez utiliser le format suivant :
  • Pour les onglets : NameTab
  • Pour les sections : NameSection

image

Les options complémentaires sont : Rendre invisible l’onglet / Replier l’onglet par défaut / Masquer l’étiquette / Activer la disponibilité par téléphone.
Il est possible de modifier le nombre de colonnes de l’onglet. Double cliquer au niveau du nom de l’onglet, se rendre dans Mise en forme, choisir la nouvelle disposition :

SNAGHTML693918d9

Voici la nouvelle disposition de l’onglet : (En sélectionnant deux colonnes, une nouvelle section a été ajoutée automatiquement)

image

Au niveau des sections, il y a une option supplémentaire, la largeur des zones d’étiquettes. La largeur doit être modifiée si la taille de l’étiquette du champ est trop grande. Sinon le nom du champ est coupé, ce qui eut être gênant pour les utilisateurs.
Conseil : Si la taille des étiquettes dépassent les 250 pixels (Taille max.), il est possible de placer l’intitulé des champs au dessus des valeurs :

image

Comme pour un onglet, il est possible de mettre plusieurs colonnes dans une section, de 1 à 4 colonnes. Comme indiqué précédemment, c’est à niveau de la structure du formulaire que s’ajoute les éléments suivants :
  • Champs
  • Sous-grilles
  • Ressources Web
  • Iframe
  • Panneau social (Notes, activités, flux social, OneNote)
  • Des espacements
  • Etc.
Pour ajouter un champ dans une section, vous pouvez suivre les manipulations via cette vidéo :






Pour modifier les propriétés du champ, double cliquer  sur le champ placé dans la section. Les propriétés suivantes sont modifiables :
  • Etiquette : Par défaut, il s’agit du nom du champ. Une étiquette est propre à un formulaire et non à tous les formulaire !
  • Afficher ou non l’étiquette
  • Mettre le champ en lecture seule ou non
  • Verrouiller le champ sur le formulaire
  • Rendre le champ visible ou non par défaut : Souvent rendu invisible s’il est lié à des règles métiers ou Javascript gérant l’affichage.
  • Disponibilité par téléphone ou non
  • Le champ peut être étalé sur une ou plusieurs colonnes

image

  • Faire des appels à des fonction Javascript via les bibliothèques disponibles
  • Ajouter des règles métiers
  • Ajouter des contrôles
A la fin de vos modifications, cliquer sur OK.


Appels aux fonctions Javascript


Le Javascript permet d’étendre les possibilités de paramétrage de votre formulaire. Certaine actions sont maintenant réalisables via des règles métiers mais si un formulaire inclut des bibliothèques Javascript, je vous conseille de tout centraliser au même endroit, sinon a gestion des règles métiers devient très compliquer…
Dans l’exemple ci-dessus, il s’agit d’un fonction appelée sur l’évènement OnChange, c’est à dire, à la modification de la valeur du champ.
Pour mettre en place la fonction, double cliquer sur le champ, se rendre dans Evènements, ajouter une bibliothèque à votre formulaire :


image

Rechercher et ajouter votre ressource web déjà existante :


image

Une fois la bibliothèque ajoutée, il faut maintenant appeler la fonction sur l’évènement Onchange du champ Revenus en cours. Cliquer sur Ajouter, sélectionner la bibliothèque cible et ajouter le nom de votre fonction :

image

Cliquer ensuite sur OK.
Voici le résultat obtenu :




Les appels de fonction Javascript vous permettent d’étendre les possibilités de configurations de manières exponentielles.

Activer les rôles de sécurité


Par défaut, un nouveau formulaire est accessible par tous les utilisateurs ayant de privilèges sur l’entité cible. En revanche il est possible que des profils utilisateurs aient accès à un périmètre d’action ou d’informations plus limitées.
Exemple :
Un directeur commerciale doit être en mesure de modifier n’importe quelle opportunité de Dynamics, un stagiaire, lui n’aura droit qu’à la modification d’un périmètre de champs très limité.
On peut imaginer un formulaire spécifique aux directeurs commerciaux, où les champs sont modifiables et un autre formulaire dédié aux stagiaires où la majorité des champs est en lecture seule.
Pour déterminer quels sont le rôle ou les rôles ayant accès à un formulaire, il suffit de cliquer sur Activer les rôles de sécurité, puis choisir les rôles souhaités :

image

Sélectionner les rôles de sécurité :

image

En cliquant sur OK, le formulaire n’est uniquement accessible qu’aux utilisateurs possédant au moins un de ces rôles.
Note : Par défaut, toujours laisser le rôle Administrateur système. En laissant l’option Activé pour le formulaire de base, les rôles qui peuvent voir l’entité mais aucun formulaire verront par défaut l’unique formulaire principal disponible.

Modification du ruban


Pour la modification du ruban, vous pouvez vous inspirer de mon article : #Tip05 Dynamics 365 : Masquer des boutons du ruban.
Il est possible de faire les configurations suivantes :
  • Créer un bouton : Ce bouton peut appeler des workflows, des boites de dialogue, ouvrir des pages web, etc…
  • Masquer / Afficher un bouton en fonction de valeurs sur le formulaire
  • Déplacer les boutons
  • Créer des listes de boutons
  • Etc.
L’ensemble des informations concernant la modification des rubans est centralisée ici.

Dans la prochaine partie de cette suite d'articles consacrées aux formulaires principaux, les sujets suivants seront traités :
  • La navigation du formulaire
  • Gestion de l'entête et du pied de page
  • La définition et la gestion des processus d'entreprise