Introduction
Acumatica a passé beaucoup de temps à penser à rendre son cadre xRP aussi convivial que possible pour les développeurs. Dans de nombreux endroits différents, des efforts ont été faits pour réduire la duplication du code et pour fournir des méthodes quasi « orientées objet » pour la gestion des éléments du cadre. L’un de ces endroits que je vais vous montrer aujourd’hui est la définition des pages ASPX.
Lorsque l’on écrit des pages ASPX personnalisées dans Acumatica ERP, le framework xRP permet de référencer les définitions ASPX réutilisées à partir d’un fichier commun, au lieu d’avoir à copier et coller un contrôle commun encore et encore sur plusieurs pages. Imaginez que vous avez trois pages, toutes avec le même contrôle contextup.
C’est un peu dangereux car si vous avez un jour besoin d’apporter une modification à la définition de la fenêtre contextuelle, vous devez copier les modifications dans 3 fichiers différents et vous souvenir de tous les fichiers dans lesquels la modification doit être effectuée! Cela ressemble à une recette pour un bug.
GIST: https://gist.github.com/lekker-solutions/39bf17b24bd304dcbbc45469c7d9cd13
Ce que vous pouvez faire à la place, c’est extraire la définition contextuelle des fichiers ASPX et dans son propre fichier include (utilisez l’extension de fichier .inc)
Acumatica extraira la définition ASPX du fichier PopupDefinition.inc et la combinera avec les fichiers IN000000.aspx, IN000001.aspx et IN000002.aspx. Par conséquent, vous n’avez besoin d’apporter des modifications à la définition de la fenêtre contextuelle qu’à 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 sur plusieurs écrans Acumatica. Avec les extensions de logique métier courantes, on peut écrire une définition unique pour la logique métier et la présentation, et l’utiliser sur de nombreuses pages.
Bravo à un autre outil pour éviter la duplication de code!
J’espère que cela a été utile et toujours...
Bon codage!