Ajouter un champ à une table standard D365 F&O et l'afficher
Ajouter un champ à une table standard D365 F&O par extension, l'ajouter à un groupe de champs et l'afficher sur le formulaire, sans over-layering. Étapes.
La réponse courte
Dans Dynamics 365 Finance & Operations, on n'ajoute pas un champ en modifiant la table Microsoft : on crée une extension de table dans son propre modèle (par exemple InventTable.MonModele), on y ajoute le champ, idéalement on le place dans un groupe de champs, puis on compile et on synchronise la base. Pour l'afficher, on crée une extension du formulaire et on y ajoute un contrôle lié au champ ou au groupe de champs.
Si le formulaire standard affiche déjà un groupe de champs, ajouter votre champ à ce groupe suffit souvent à le faire apparaître, sans toucher au formulaire. C'est pour cela que Microsoft recommande de toujours construire formulaires et états à partir de groupes de champs.
Étape 1 : l'extension de table
- Dans l'Application Explorer, clic droit sur la table (ex. InventTable) > Create extension, dans votre modèle.
- Dans le designer, clic droit sur Fields > New > le type voulu, ou glissez un type de données étendu (EDT) ou une énumération de votre projet sur le nœud Fields. Préférez un EDT : il porte libellé, taille et aide.
- Renseignez les propriétés (libellé, aide). Créez les libellés dans un fichier de libellés plutôt qu'en texte en dur.
- Ajoutez le champ à un groupe de champs existant ou à un nouveau groupe.
- Compilez, puis synchronisez la base : le champ est alors visible et modifiable dans l'interface s'il fait partie d'un groupe déjà affiché.
Une extension de table permet aussi d'ajouter groupes de champs, index, relations, mappings et méthodes (via une classe d'extension), de changer le libellé d'un champ existant ou de remplacer son EDT par un EDT dérivé.
Étape 2 : l'afficher sur le formulaire
Si le champ n'apparaît pas via un groupe existant, créez une extension du formulaire (clic droit > Create extension). Une extension de formulaire permet d'ajouter un contrôle, d'activer ou masquer un contrôle, de changer son libellé, d'ajouter une source de données ou un form part. Ajoutez un contrôle dans l'onglet ou le groupe voulu, et liez-le à la source de données et au champ (ou au groupe de champs).
Pour réagir à la saisie ou initialiser la valeur, utilisez Chain of Command ou les événements de table et de source de données (ValidatedWrite, Inserting, ModifiedField…). Voir Chain of Command ou event handlers.
Erreurs fréquentes
- Oublier la synchronisation de la base : le champ n'existe pas en SQL.
- Ajouter le champ sans groupe de champs : il faut alors étendre chaque formulaire et état un par un.
- Créer un champ texte « nu » sans EDT : libellé, taille et aide sont à redéfinir partout.
- Vouloir modifier un index unique standard : les extensions ne le permettent pas.
- Utiliser doInsert / doUpdate dans votre code : ces méthodes ne déclenchent pas les événements de données et rendent la table plus difficile à étendre.
- Oublier d'exposer le champ dans la data entity si les intégrations en ont besoin. Voir créer et exporter une data entity avec DMF.
Faire générer ce développement
Ajouter un champ, son EDT, son libellé, le formulaire et la data entity : c'est un ticket typique. Skalp AI rédige la spécification, génère le code X++ et les tests unitaires, compile en contrôlant les bonnes pratiques, puis livre par pull request dans votre Azure DevOps : rien n'est fusionné sans la validation de votre architecte technique. Voir extensions D365 F&O sur mesure, le cadre général dans développer en X++ sans consultant en 2026, et les offres Basic, Pro et Max (1 crédit, ≈ 400 € en Basic, 200 € en Pro, consommé seulement à la génération du code).
À lire aussi : champ calculé dans une data entity.
Sources
- Microsoft Learn, « Add fields to tables through extension », mise à jour du 06/03/2026, consultée le 18/10/2026.
- Microsoft Learn, « Customize through extension and overlayering », mise à jour du 27/03/2026, consultée le 18/10/2026.
- Microsoft Learn, « Write extensible tables », mise à jour du 27/03/2026, consultée le 18/10/2026.
Questions fréquentes
Faut-il modifier la table Microsoft pour ajouter un champ ?
Non. On crée une extension de table dans son propre modèle ; l'over-layering n'est plus la méthode prévue.
Pourquoi mon nouveau champ n'apparaît-il pas sur le formulaire ?
Soit il n'est dans aucun groupe de champs affiché par le formulaire, soit la base n'a pas été synchronisée. Ajoutez-le à un groupe affiché ou créez une extension de formulaire avec un contrôle lié.
Peut-on changer le type d'un champ standard par extension ?
Seulement vers un EDT dérivé de l'EDT actuel, selon Microsoft Learn. On peut aussi changer son libellé.
Prêt à transformer votre D365 ?
Rejoignez les DSI qui développent leurs tickets D365 en 2 à 4 h pour 1 crédit (≈ 400 € en Basic, 200 € en Pro).