Ajouter une méthode d'affichage ou de modification via une extension dans Dynamics 365
Publié : 16 février 2025 à 12 h 00 min 25 s UTC
Dernière mise à jour : 12 janvier 2026 à 08 h 57 min 58 s 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, y compris des exemples de code X++.
Add Display or Edit Method via Extension in Dynamics 365
Bien que planifier d’utiliser des méthodes d’affichage ou d’édition dans Dynamics soit généralement quelque chose qui devrait vous faire réfléchir à la possibilité de concevoir votre solution différemment, parfois elles sont la meilleure option.
Dans les versions précédentes de Dynamics et Axapta, il était très facile de créer des méthodes d’affichage ou d’édition sur des tableaux et des formulaires, mais lorsque j’ai récemment dû faire ma première méthode d’édition dans Dynamics 365, j’ai découvert que la procédure pour y parvenir était un peu différente.
Il y a manifestement plusieurs approches valides, mais celle que je trouve la meilleure (tant en termes d’intuitivité que de qualité de code) est d’utiliser une extension de classe. Oui, vous pouvez utiliser des extensions de classes pour ajouter des méthodes à d’autres types d’éléments que des classes — dans ce cas, une table, mais ça fonctionne aussi pour les formulaires.
D’abord, créez une nouvelle classe. Vous pouvez l’appeler comme vous voulez, mais pour une raison quelconque, il doit être suffixé « _Extension ». Disons que vous devez ajouter une méthode d’affichage à CustTable, vous pourriez par exemple la nommer MyCustTable_Extension.
La classe doit être décorée d’ExtensionOf pour indiquer au système ce que vous étendez, comme ceci :
public final class MyCustTable_Extension
{
}
Maintenant, tu peux simplement implémenter ta méthode d’affichage dans cette classe, comme tu l’aurais fait directement sur la table dans les versions précédentes de Dynamics – « this » fait même référence à la table, donc tu peux accéder aux champs et autres méthodes.
Par exemple, une classe avec une méthode d’affichage simple (et complètement inutile) qui retourne simplement le numéro de compte du client pourrait ressembler à ceci :
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Maintenant, 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 un champ manuellement au formulaire et vous assurer d’utiliser le bon type (chaîne dans cet exemple).
Ensuite, sur la commande, vous définiriez DataSource sur CustTable (ou peu importe 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 trouvera pas la méthode).
Et c’est fini :-)
Mise à jour : Il n’est plus nécessaire d’inclure le nom de la classe d’extension lors de l’ajout de la méthode d’affichage à un formulaire, mais au moment original de la publication, c’était le cas. Je laisse l’information ici au cas où certains lecteurs utiliseraient encore des versions plus anciennes.
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
- Mettre la machine virtuelle Dynamics 365 FO Dev ou Test en mode maintenance
- Créer un champ de recherche pour une dimension financière dans Dynamics 365
