mardi 1 août 2017

#Tip29 Dynamics 365 : Cacher des sections sur un formulaire

Sur certains formulaires, il peut être utile de masquer ou d’afficher des sections entières. L’article suivant vous permet de masquer ou d’afficher des sections avec du Javascript.
Avec les règles métiers standards, si la section ne contient que des champs, et que tous les champs sont masqués alors la section est masquée. Or si la section contient une sous-grille, c’est pour le moment impossible à appliquer…

Conseil : Il est préférable de donner des noms logiques à vos onglets et à vos sections. Il sera plus facile de se repérer dans le code en cas de mise à jour.

Le code ci-dessous décrit comment masquer ou afficher des sections en fonction de la valeur d’un champ :
function setSectionVisibleAccountType() {
var type = Xrm.Page.getAttribute("NomTechniqueDuChamp").getValue();
if (type == "Valeur") {
        Xrm.Page.ui.tabs.get("NomDeL’Onglet").sections.get("NomDeLaSection").setVisible(true);
    }
else {
        Xrm.Page.ui.tabs.get("NomDeL’Onglet").sections.get("NomDeLaSection").setVisible(false);
    }
}

Pour déterminer l’affichage ou le masquage de la section :
  • Si setVisible = true alors la section est visible.
  • Si setVisible = false alors la section est masquée.
La fonction peut être appelée sur les évènements :
  • OnLoad : Au chargement du formulaire
  • OnChange : A la modification du champ
  • OnSave : A la sauvegarde du formulaire
Voici un exemple d’utilisation de cette fonction pour plusieurs sections d’un formulaire (Entité Compte personnalisée).
  • Cas de l’affichage des sections : Il faut que la valeur du champ Type de compte = Société
image
  • Cas de masquage des sections : Il faut que la valeur soit différente de Société
image


mardi 25 juillet 2017

#Tip28 Dynamics 365 : Ajouter un workflow déclenché dans un BPF

Depuis la version Dynamics 365 CE, il est possible de déclencher des workflows depuis un processus d’entreprise (Ou BPF pour Business Process Flow). Le déclenchement d’un workflow standard automatiquement étend énormément les possibilités d’actions automatiques liées au BPF :
  • Envoyer des notifications lors du changement d’une étape
  • Mise à jour d’un statut
  • Création d’activités
  • Etc.
Le déclenchement de ces workflows peut être planifié :
  • en entrée de phase : Dès l’entrée dans la phase du processus, le processus se déclenche
  • ou en sortie de phase : Dès que l’utilisateur clique sur Etape suivante, le workflow se déclenche
Remarque : Pour mettre en place un workflow dans un BPF, il faut que le workflow ait l’option Déclencher à la demande d’activer.
Pour ajouter un workflow dans un BPF, il faut ouvrir la configuration du BPF. Se rendre dans Paramètre / Processus, double cliquer sur le processus cible :

image

Une nouvelle fenêtre s’ouvre avec toutes les étapes de votre BPF. Pour ajouter un workflow en sortie ou entrée de phase, il faut sélectionner une Phase (Object en bleu contenant les champs obligatoires ou non) :

image

En dépliant la phase (Ici Projet), il y a  la section Etape qui contient les champs obligatoires ou non de la phase du BPF ET la section Workflows. Pour ajouter un processus, cliquer glisser le composant Workflow depuis la droite de l’écran :

image

Une fois le composant ajouté, il faut maintenant choisir :
  • Le déclenchement en entrée ou sortie de phase
  • Le processus cible à déclencher
Pour mon exemple, je vais choisir la sortie de phase. La liste de processus disponible est l’ensemble des processus à la demande lié à l’entité concernée (ici Projet). Cliquer ensuite sur Appliquer.

image

Pour appliquer la modification au niveau du BPF, cliquer sur Mettre à jour :

image

Maintenant pour l’ensemble des projets dont le BPF est activé, à la sortie de la phase Projet, le processus se déclenchera automatiquement.