Introduction
Acumatica a consacré beaucoup de temps à rendre son xRP Framework aussi convivial que possible pour les développeurs. En de nombreux endroits, des efforts ont été faits pour réduire la duplication du code et pour fournir des méthodes quasi "orientées objet" pour gérer les éléments du framework. L'un de ces endroits que je vais vous présenter aujourd'hui est la définition des pages ASPX.
Lorsque l'on écrit des pages ASPX personnalisées dans Acumatica ERP, le cadre xRP permet de référencer des définitions ASPX réutilisées à partir d'un fichier commun, au lieu d'avoir à copier et coller un contrôle commun sur plusieurs pages. Imaginez que vous ayez trois pages, toutes avec le même contrôle popup.
C'est un peu dangereux parce que si vous devez un jour apporter une modification à la définition de la fenêtre contextuelle, vous devez copier les modifications dans trois fichiers différents et vous souvenir de tous les fichiers dans lesquels la modification doit être apportée ! Cela ressemble à une recette pour un bogue.
GIST : https://gist.github.com/lekker-solutions/39bf17b24bd304dcbbc45469c7d9cd13
Ce que vous pouvez faire à la place, c'est extraire la définition de la fenêtre contextuelle des fichiers ASPX et la placer dans son propre fichier d'inclusion (utilisez l'extension de fichier .inc).
Acumatica va extraire la définition ASPX du fichier PopupDefinition.inc et la combiner avec les fichiers IN000000.aspx, IN000001.aspx et IN000002.aspx. Par conséquent, vous n'avez qu'à apporter des modifications à la définition de la fenêtre contextuelle à un seul endroit, et elle sera incluse partout où elle est référencée !
GIST : https://gist.github.com/lekker-solutions/163b69bd328f4414459a66ca8e1d3a1e
Conclusion
Il s'agit d'un outil très utile pour créer des définitions ASPX communes à plusieurs écrans Acumatica. Avec des extensions de logique métier communes, on peut écrire une définition unique pour la logique métier et la présentation, et l'utiliser sur plusieurs pages.
Un outil de plus pour éviter la duplication du code !
J'espère que cela vous a été utile, et toujours...
Bon codage !