Ajouter une méthode d'affichage ou de modification via une extension dans Dynamics 365
Publié : 16 février 2025 à 11:55:32 UTC
Dernière mise à jour : 12 janvier 2026 à 08:57:19 UTC
Dans cet article, j'explique comment utiliser une extension de classe pour ajouter une méthode d'affichage à un tableau et à un formulaire dans Dynamics 365 for Operations, avec des exemples de code X++.
Add Display or Edit Method via Extension in Dynamics 365
Bien que la planification de l'utilisation des méthodes d'affichage ou d'édition dans Dynamics doive généralement vous amener à vous demander si vous ne pourriez pas concevoir votre solution d'une autre manière, il arrive que ce soit la meilleure solution.
Dans les versions précédentes de Dynamics et d'Axapta, il était très facile de créer des méthodes d'affichage ou de modification sur les tables et les formulaires, mais lorsque j'ai récemment dû créer ma première méthode de modification dans Dynamics 365, j'ai découvert que la procédure à suivre est quelque peu différente.
Il existe manifestement plusieurs approches valables, mais celle que je trouve la plus efficace (tant en termes d'intuitivité que de clarté du code) consiste à utiliser une extension de classe. Certes, on peut utiliser les extensions de classe pour ajouter des méthodes à d'autres types d'éléments que les classes – ici, un tableau –, mais cela fonctionne également pour les formulaires.
Commencez par créer une nouvelle classe. Vous pouvez la nommer comme vous le souhaitez, mais elle doit obligatoirement se terminer par « _Extension ». Par exemple, si vous devez ajouter une méthode d'affichage à la classe CustTable, vous pourriez la nommer MyCustTable_Extension.
La classe doit être décorée avec ExtensionOf pour indiquer au système ce que vous étendez, comme ceci :
public final class MyCustTable_Extension
{
}
Vous pouvez maintenant implémenter votre méthode d'affichage dans cette classe, comme vous l'auriez fait directement sur la table dans les versions précédentes de Dynamics ; « this » fait même référence à la table, vous pouvez donc accéder aux champs et autres méthodes.
Par exemple, une classe dotée d'une méthode d'affichage simple (et totalement inutile) qui renvoie simplement le numéro de compte du client pourrait ressembler à ceci :
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Pour ajouter la méthode d'affichage à un formulaire (ou à une extension de formulaire, si vous ne pouvez pas modifier le formulaire directement), vous devez ajouter manuellement un champ au formulaire et veiller à utiliser le type correct (chaîne de caractères dans cet exemple).
Ensuite, dans le contrôle, vous définirez DataSource sur CustTable (ou quel que soit le nom de votre source de données CustTable) et DataMethod sur MyCustTable_Extension.displayAccountNum (assurez-vous d'inclure le nom de la classe, sinon le compilateur ne pourra pas trouver la méthode).
Et voilà ! :-)
Mise à jour : Il n’est plus nécessaire d’indiquer le nom de la classe d’extension lors de l’ajout de la méthode d’affichage à un formulaire, contrairement à la version originale. Je laisse cette information au cas où certains utilisateurs utiliseraient encore d’anciennes versions.
Lectures complémentaires
Si vous avez apprécié cet article, vous aimerez peut-être aussi ces suggestions :
- Visual Studio se bloque au démarrage lors du chargement des projets récents
- Créer un champ de recherche pour une dimension financière dans Dynamics 365
- Mettre à jour la valeur de la dimension financière à partir du code X++ dans Dynamics 365
