Créer une extension Business Central dans Visual Studio Code
Toutes les fonctionnalités de Dynamics 365 Business Central sont codées dans des objets. Pour modifier des objets existants (tels que des tables, des pages, etc.), vous devez créer des extensions. Les extensions font partie d’un modèle de programmation basé sur des objets. Vous pouvez créer des objets ou étendre des objets existants, en fonction de ce que vous souhaitez que votre extension exécute. Une extension définit des fonctionnalités supplémentaires qui modifient le comportement de l’application Business Central.
Tous les objets sont stockés sous forme de code, appelé code de langage d’application (code AL). Chaque objet est enregistré dans des fichiers dotés d’une extension de fichier .al. Vous pouvez placer plusieurs objets dans un même fichier .al, mais nous vous recommandons d’utiliser un seul fichier pour chaque objet.
En utilisant l’extension AL Language pour Visual Studio Code, vous profitez des avantages d’un environnement de développement moderne et d’une intégration fluide de fonctionnalités de publication, de débogage et d’implémentation à Business Central.
Une fois votre extension compilée, vous obtenez un fichier de package .app, qui peut être déployé sur Business Central Server. Vous pouvez même soumettre votre package d’extension sur AppSource, d’où vous pourrez proposer votre solution à des milliers de clients potentiels dans le monde entier.
Après avoir installé l’extension AL dans Visual Studio Code, vous pouvez commencer à créer des extensions pour Business Central en procédant comme suit :
Ouvrez Visual Studio Code.
Sélectionnez Affichage dans la barre de menus, puis Palette de commandes. Vous pouvez également utiliser le raccourci clavier Ctrl+Maj+P.
Dans le menu qui s’affiche, saisissez AL: Go, puis sélectionnez la commande AL: Go! (ou utilisez le raccourci clavier Alt+A Alt+L). Cette action crée une extension AL.

Spécifiez un chemin d’accès pour stocker vos fichiers de code d’extension. Visual Studio Code suggère un chemin dans votre dossier Documents.
L’extension AL Language permet de développer des extensions pour différentes versions de Business Central. Visual Studio Code vous demande de sélectionner la version que vous souhaitez cibler.
Sélectionnez l’instance à laquelle vous connecter pour développer et tester votre extension. Sélectionnez Bac à sable cloud Microsoft si vous vous connectez au bac à sable cloud en ligne, ou sélectionnez Votre propre serveur si vous utilisez un conteneur Docker ou une version locale. Sélectionnez Bac à sable cloud Microsoft si vous configurez cette instance pour réaliser ce module, car vous devez effectuer les exercices à l’aide d’un bac à sable cloud en ligne.

Vous devez préciser vos informations d’identification utilisateur pour vous connecter au bac à sable cloud.
Visual Studio Code ne sait pas quels objets (tables, pages, etc.) sont déjà disponibles dans Business Central. Par conséquent, une fois que vous fournissez vos informations d’identification, Visual Studio Code tente de télécharger les symboles de référence. Ces symboles sont des fichiers .app téléchargés dans un dossier .alpackages de votre dossier AL Extension. Les symboles comportent des références sur la structure des objets, par exemple les champs définis dans une table client, la définition de la disposition d’une fiche fournisseur, etc.
Avant de démarrer le développement, veillez à télécharger ces fichiers de symboles. Si Visual Studio Code n’a pas téléchargé automatiquement les symboles, vous pouvez demander à Visual Studio Code de les télécharger depuis votre bac à sable cloud.
Pour télécharger les symboles, procédez comme suit :
Sélectionnez Affichage dans la barre de menus, puis Palette de commandes. Vous pouvez également utiliser le raccourci clavier Ctrl+Maj+P.
Dans le menu qui s’affiche, saisissez AL: Download Symbols, puis sélectionnez la commande AL: Download Symbols.
Cette opération peut prendre quelques minutes. Une fois les symboles téléchargés, vous voyez un nouveau dossier intitulé
.alpackagesdans l’Explorateur de fichiers. Ce dossier comporte au moins ces fichiers .app :Application
Base Application
System Application
System
Business Foundation
Dans la fenêtre de sortie de Visual Studio Code, un message s’affiche également indiquant que Tous les symboles de référence ont été téléchargés.
Si Visual Studio Code a rencontré une erreur, un message d’erreur s’affiche dans la fenêtre de sortie. Vous pouvez ouvrir la fenêtre de sortie en sélectionnant Affichage > Sortie, ou vous pouvez utiliser le raccourci clavier Ctrl+Maj+U.
Pour déployer votre application, appuyez sur la touche F5 et attendez que l’application Business Central se lance dans votre navigateur web par défaut. Si aucun problème ne se produit, le message suivant devrait s’afficher : Application publiée : Hello World.
Si vous revenez à votre application Visual Studio Code, vous voyez une barre d’outils supplémentaire indiquant que vous êtes en mode débogage. Un appui sur la touche F5 dans Visual Studio Code entraîne le déploiement et le lancement du débogueur. Vous pouvez cliquer sur l’icône rouge Arrêter pour arrêter votre session de débogage.

Lorsque vous créez une extension avec AL: Go!, un fichier HelloWorld.al est toujours créé par défaut. Ce fichier comporte du code qui affiche la boîte de message de l’exemple précédent. L’extension de fichier .al indique que ce fichier comporte du code AL. Nous vous recommandons de supprimer ce fichier chaque fois que vous démarrez une nouvelle extension.
Fichier Microsoft_Application.app
Le fichier Microsoft_Application.app est inclus avec Business Central et se trouve dans le dossier \Applications\Application\Source. Le fichier Microsoft_Application.app encapsule logiquement toutes les extensions constituant une solution, par exemple, la version 16.0.0.0 des fichiers de package d’application de base et système. Il constitue un moyen pratique de définir et faire référence à cette identité de solution.
Dans les versions précédentes, les références à l’application de base et système étaient indiquées explicitement sous les dépendances dans le fichier app.json de l’extension. Vous devez désormais utiliser la propriété Version de l’application dans le fichier app.json.
Le nom de fichier de la référence est Microsoft_Application.app et, dans le fichier app.json du fichier de package d’application, le nom est Application. Pour les applications de base personnalisées par code dotées de leur propre appId, le fichier Microsoft_Application.app peut être modifié de sorte à référencer plutôt l’appId des applications de base personnalisées par code. Cela permet de résoudre toutes les extensions qui dépendent de l’application en appId personnalisé.
Lorsque vous démarrez un nouveau projet AL dans Visual Studio Code à l’aide du modèle AL:Go, les instructions de code WITH implicites sont désormais désactivées par défaut pour encourager l’utilisation d’instructions WITH explicites à l’avenir. Pour ce faire, ajoutez l’option NoImplicitWith à la propriété features dans le fichier app.json généré.
Stocker des fichiers d’application
Par défaut, lorsque vous créez des projets AL, le fichier d’application de sortie est stocké dans le dossier du projet. Toutefois, si vous travaillez sur plusieurs applications qui ne se trouvent pas dans le même espace de travail et dépendent les unes des autres, la sortie vers un dossier d’application partagé peut être un avantage.
Dans les paramètres al.compilerOptions, la propriété outFolder vous permet désormais de spécifier le dossier de sortie à utiliser lors de la génération d’un fichier d’application dans le cadre de la création d’un projet AL.
Cela facilite la gestion et la réutilisation des applications générées à un seul emplacement. Le projet AL dans Visual Studio Code comporte toujours un nœud pour le fichier de sortie, mais le fichier est ensuite physiquement stocké en dehors du dossier du projet.
Voici un exemple d’enregistrement de fichiers d’application créés dans « myappfolder » sur le lecteur C de l’utilisateur :
Emplacement du dossier par défaut
L’extension AL Language pour Microsoft Dynamics 365 Business Central dispose d’une commande permettant de générer un projet AL. Depuis le début, l’emplacement du dossier des projets a été fixé dans le dossier Documents des utilisateurs sous Windows. En fonction des demandes, nous avons ajouté la possibilité pour les partenaires de définir un emplacement par défaut différent pour les projets AL dans les paramètres, ce qui facilite le flux de travail de création de projet.
Un paramètre al.algoSuggestedFolder permet de spécifier l’emplacement du dossier par défaut pour les nouveaux projets AL. Cela peut être défini par utilisateur ou par espace de travail, offrant ainsi une certaine flexibilité quant à l’emplacement des nouveaux projets.


