Apprendre les bases du langage de programmation AL
Un codeunit est un conteneur de code de langage d’application (AL) que vous pouvez utiliser dans de nombreux objets d’application. En général, vous implémentez la logique métier dans les codeunits et appelez le codeunit à partir de l’objet qui doit exécuter la logique spécifique.
La saisie du raccourci tcodeunit crée la disposition de base d’un objet codeunit lorsque vous utilisez l’extension AL Language dans Visual Studio Code.
AL est le langage de programmation permettant de manipuler les données (récupération, insertion et modification d’enregistrements, par exemple) dans une base de données Business Central. Il est également utilisé pour contrôler l’implémentation des divers objets d’application tels que les pages, les états ou les codeunits.
Avec AL, vous pouvez créer des règles métier pour vous assurer que les données stockées dans la base de données sont pertinentes et conformes à la façon de travailler des clients.
En général, vous écrivez le code dans des codeunits plutôt que sur l’objet sur lequel il opère. Cette approche favorise une conception propre et permet de réutiliser le code. Elle permet également de renforcer la sécurité. Par exemple, les utilisateurs n’ont généralement pas d’accès direct aux tables comportant des données sensibles, comme la table Écriture comptable. Ils ne sont pas non plus autorisés à modifier des objets. Si vous placez le code qui s’applique à la comptabilité dans un codeunit, donnez à ce dernier l’accès à la table et donnez à l’utilisateur l’autorisation d’exécuter ce codeunit. De cette façon vous ne compromettez pas la sécurité de la table et l’utilisateur peut y accéder.
Si vous devez placer du code sur un objet plutôt que dans un codeunit, placez ce code aussi près que possible de l’objet auquel il s’applique. Par exemple, placez le code qui modifie les enregistrements dans les déclencheurs des champs de table.
La réutilisation du code permet de développer des applications plus rapidement et plus facilement. De plus, si vous organisez le code AL comme suggéré, vos applications seront probablement moins sujettes aux erreurs. En centralisant le code, vous n’allez pas créer involontairement des incohérences en effectuant le même calcul à de nombreux endroits. Par exemple, vous déclenchez plusieurs déclencheurs qui ont le même champ de table que leur expression source. Si vous devez modifier le code, vous risquez soit d’oublier certains de ces déclencheurs, soit de commettre une erreur en modifiant l’un d’entre eux.
Lorsque vous créez de nouveaux objets, vous placez du code AL dans les déclencheurs de ces objets. Presque tous les objets dans Business Central comportent des déclencheurs dans lesquels vous pouvez ajouter votre code AL.
Des déclencheurs existent pour les objets suivants :
Tables et extensions de table
Champs de table
Pages et extensions de page
États
Éléments de données
XMLports
Requêtes
Codeunits
L’utilisation d’événements est un concept de programmation éprouvé et établi qui peut faciliter les mises à niveau des applications et limiter, voire éliminer, le recours aux modifications de code dans les applications personnalisées en raison de changements de la plateforme d’applications.
Vous pouvez utiliser des événements pour concevoir l’application afin qu’elle réagisse à des actions spécifiques ou à des comportements qui se produisent. Les événements vous permettent de séparer les fonctionnalités personnalisées de la logique métier de l’application. En utilisant des événements dans une application où des personnalisations sont généralement effectuées, vous pouvez réduire le coût des modifications et des mises à niveau du code de l’application d’origine en procédant comme suit :
Les modifications de code des fonctionnalités personnalisées peuvent être effectuées sans avoir à modifier l’application d’origine.
Les modifications de code de l’application d’origine peuvent être effectuées avec un impact minimal sur les personnalisations.
Les événements peuvent être utilisés à diverses fins, telles que la génération de notifications lorsque certains comportements se produisent ou que l’état d’une entité change. Les événements peuvent également être utilisés pour la diffusion d’informations et l’intégration à des systèmes et applications externes.