Dynamics 365 – Gérer les champs dans les formulaires, entête et BPF en JavaScript

Formulaire, Header et Business Process Flow

Dans Microsoft Dynamics 365, un même champ peut être affiché à plusieurs endroits :

  • dans le corps du formulaire

  • dans le header

  • dans le Business Process Flow (BPF)

👉 Côté métier, l’attente est simple :

“Si le champ devient obligatoire ou masqué, ça doit être cohérent partout.”

👉 Côté technique, la réalité est plus subtile.
Et mal la comprendre conduit à des incohérences UI et des tickets inutiles.

🎯 Cas concret

Champ Dataverse : p365_age

Il est affiché :

  • dans le body du formulaire

  • dans le header

  • dans le BPF

Objectif :

  • masquer / afficher le champ

  • le rendre obligatoire ou non

  • avec un comportement prévisible et maîtrisé

🧠 Principe fondamental

La visibilité est une propriété du contrôle.

L’obligation est une propriété de l’attribut.

🧩 Noms réels des contrôles Dynamics

Pour le champ logique p365_age :

Emplacement : Formulaire —> p365_age

Emplacement : Header—> header_p365_age

Emplacement : Formulaire —> header_process_p365_age

⚠️ Ces noms sont générés par Dynamics.

🔹 1. Gérer la visibilité (setVisible)

Règle clé

👉 La visibilité se gère au niveau des contrôles

🔹 2. Gérer le caractère obligatoire (setRequiredLevel)

Règle clé

👉 L’obligation est portée par l’attribut, pas par le contrôle

🧪 Cas spécifiques à anticiper

🔹 Le BPF n’est pas chargé

header_process_p365_age peut être null


🔹 Étape BPF inactive

🔹 Exécution trop tôt (OnLoad)

🔹 Utiliser le même Javascript pour un formulaire qui ne possède pas de BPF

Attention dans la réutilisation de vos formulaires.

Un Javascript qui gère l’affiche d’une segmentation dans un BPF sur une opportunité, alors que le BPF n’existe pas dans un formulaire compte vous posera des problèmes.





Suivant
Suivant

Augmentation des quotas Dataverse : de 10 Go à 30 Go pour Dynamics 365 & Power Platform (Décembre 2025)