Découvrir la base de données logique et ses objets

Effectué

À l’instar de nombreuses autres applications cloud, Dynamics 365 Business Central est créé à partir d’une base de données. Cette base de données contient non seulement les données (clients, fournisseurs ou produits, par exemple), mais également tous les objets utilisés dans l’application. Lorsque vous demandez des données client, ces données sont affichées à l’écran sous forme de page avec une certaine structure.

La base de données de Business Central stocke également la structure de cette page, ce qui permet aux développeurs d’ajouter et de modifier des objets existants, et de déployer rapidement de nouvelles solutions. Vous n’avez pas besoin de créer une nouvelle version du produit lorsque vous voulez déplacer certains champs de saisie à l’écran.

Chaque solution est créée à partir d’un ou de plusieurs objets. Vous avez besoin de tables pour stocker vos données, de pages pour présenter vos données, de la possibilité d’autoriser l’interaction des utilisateurs, d’états à présenter et de la capacité d’imprimer des données dans des dispositions spécifiques.

Avec les codeunits, vous pouvez regrouper des fonctions afin de les réutiliser à différents endroits. L’objet Query permet d’interroger la base de données, tandis que l’objet XMLPort permet d’importer ou d’exporter des fonctionnalités dans votre solution.

Voici quelques-uns des types d’objets couramment utilisés :

  • Table : décrit la façon dont les données sont stockées et récupérées.

  • Page : permet aux utilisateurs d’afficher, d’ajouter, de modifier ou de supprimer des enregistrements dans une table.

  • Report : permet d’imprimer, de traiter ou de prévisualiser les données.

  • Codeunit : conteneur de code de programmation. Les codeunits sont appelés à partir d’autres objets pour effectuer une tâche spécifique.

  • Query : modèle de données relationnel permettant d’interroger directement et efficacement la base de données sous-jacente.

  • XMLPort : permet d’importer ou d’exporter des données au format XML ou texte.

Business Central intègre de nombreux objets de fonctionnalité. Vous ne pouvez pas modifier le code source des objets, mais vous pouvez modifier le comportement en étendant les objets intégrés.

Voici trois autres types d’objets que vous pouvez utiliser :

  • Table Extension : permet d’étendre la fonctionnalité des tables existantes.

  • Page Extension : permet d’étendre la fonctionnalité des pages existantes.

  • Report Extension : permet d’étendre la fonctionnalité des états existants.

Base de données logique

Dans la base de données Business Central, vous pouvez configurer différentes sociétés. Les données d’une société sont stockées sous forme d’enregistrements dans différentes tables. Chaque enregistrement est créé à partir de plusieurs champs.

Les sociétés constituent la plus grande structure logique d’une base de données. Les données sont et doivent être essentiellement spécifiques de l’entreprise. Si les données sont essentiellement spécifiques de l’entreprise, ce n’est pas le cas des objets. En tant que développeur, vous allez créer et modifier/étendre des objets. Les objets seront alors applicables à toutes les sociétés d’une même base de données.

Illustration montrant une conception de base de données logique.

Gérer les objets

Avant de commencer à créer des objets pour vos solutions personnalisées, tenez compte des conventions de numérotation des objets. Chaque objet de votre solution Business Central est identifié par un numéro unique. Les conventions de numérotation vous aident à organiser la gestion, la localisation et la personnalisation des versions, et vous garantissent des mises à niveau réussies.

Les numéros d’objet compris entre 0 et 49 999 désignent des objets qui sont utilisés par Microsoft dans les versions internationales. La plage de numéros compris entre 100 000 et 999 999 contient les objets localisés. Ces objets sont généralement conçus pour différents pays et différentes régions du monde. Ces objets spécifiques à une zone sont également créés par Microsoft.

Lorsque vous développez une application pour Business Central Online, vous devez demander une plage d’objets en matière de licence. Le développement pour Business Central est effectué à l’aide de Visual Studio Code avec l’extension AL Language pour Microsoft Dynamics 365 Business Central.

Vous pouvez actuellement demander deux plages disponibles. Les deux présentent certaines caractéristiques à garder à l’esprit :

  • Plage d’objets RSP (plage d’ID 1 000 000 - 69 999 999) : cette plage d’objets est liée au programme RSP. Vous devez vous connecter pour afficher ces informations à l’aide d’un compte professionnel ou scolaire. Nous conseillons actuellement aux nouveaux éditeurs de ne pas demander une plage d’objets RSP.

  • Plage d’objets d’application (plage d’ID 70 000 000 - 74 999 999) : cette plage d’objets a été conçue à l’origine uniquement pour les applications de la marketplace commerciale Microsoft à utiliser dans Business Central Online. Nous conseillons actuellement aux nouveaux éditeurs de demander une plage d’objets d’application.

À l’heure actuelle, vous pouvez implémenter des applications développées à la fois dans la plage RSP et dans la plage d’objets d’application dans Business Central Online et On-premises, ainsi que des applications hébergées par des partenaires.

Pour en savoir plus, consultez Demande d’une plage d’objets.

Les sections suivantes décrivent les différentes plages d’objets que vous pouvez trouver dans l’application de base et les extensions.

0 - 49 999

Cette plage est affectée aux fonctionnalités de l’application de base Business Central et ne doit pas être utilisée dans les extensions ou les personnalisations.

50 000 - 99 999

Cette plage est destinée aux personnalisations et aux tests. Pour Business Central Online, un partenaire peut développer une extension adaptée à l’abonné individuel afin de répondre aux besoins. Le partenaire développe l’extension en utilisant un abonné de bac à sable ou en obtenant une image Docker. Une fois le développement terminé, l’extension peut être déployée sur l’abonné individuel.

En outre, vous pouvez utiliser cette plage dans le cadre d’une formation et/ou d’activités similaires, par exemple si vous utilisez un abonné de bac à sable ou une build de Business Central sur Docker.

100 000 - 999 999

Les objets de cette plage sont conçus lorsque l’équipe Microsoft localise Business Central pour un pays ou une région spécifique. Ces objets ne peuvent pas être utilisés par des partenaires.

1 000 000 - 69 999 999

Cette plage d’objets est destinée au programme RSP (Registered Solution Program). Le partenaire peut choisir de développer des extensions utilisables dans Business Central Online ou On-premises à l’aide de cette plage. Lorsque ces extensions sont utilisées dans Business Central Online, elles sont obtenues en tant qu’applications auprès d’AppSource.

70 000 000 - 74 999 999

Les partenaires peuvent obtenir des ID de cette plage pour des extensions pour Business Central Online. Ces extensions sont également obtenues en tant qu’applications auprès d’AppSource. Pour en savoir plus, consultez Prise en main de la création d’applications.

Consultez Guides des licences pour télécharger le guide des licences Business Central.

Préfixe et suffixe

Dans votre extension, le nom de chaque nouvel objet applicatif (table, page, codeunit) doit comporter un préfixe ou suffixe. Cette règle s’applique à tous les objets. Vous pouvez utiliser les valeurs Légende pour ce que vous décidez de présenter à l’utilisateur. Lorsque vous modifiez un objet Dynamics 365 de base à l’aide d’une extension de table ou de page, le préfixe/suffixe doit être défini au niveau du contrôle/du champ/de l’action/du groupe.

Avantages

L’utilisation d’un préfixe/suffixe réduit les collisions de noms avec des objets définis dans d’autres extensions. Les environnements ayant des extensions avec des collisions de noms peuvent rencontrer des problèmes lors du déploiement de nouvelles extensions, de la mise à niveau de l’environnement ou de la création d’un bac à sable en tant que copie de l’environnement actuel (pour les environnements de production).

Règles générales

Voici quelques règles générales à suivre :

  • Le préfixe/suffixe doit comporter au moins trois caractères.

  • Le nom de l’objet/du champ doit commencer ou se terminer par le préfixe/suffixe.

  • En cas de conflit, celui qui a enregistré le préfixe/suffixe est toujours considéré comme le gagnant.

  • Pour vos propres objets, vous devez définir le préfixe/suffixe au niveau de l’objet supérieur.

  • Pour les pages/tables/énumérations/états/ensembles d’autorisations de l’application de base ou d’autres applications que vous étendez, vous devez définir le préfixe/suffixe au niveau de l’objet supérieur et du contrôle/du champ/de l’action/de la procédure/des valeurs/de l’élément de données/de la colonne.

  • Trouvez tous les préfixes et/ou suffixes manquants à l’aide de l’outil AppSourceCop. Les options de configuration de cet outil ainsi qu’une section de règles se trouvent sur la page Règles de l’analyseur AppSourceCop. La section Règles explique les différentes vérifications que l’analyseur effectue. Pour la détection du préfixe/suffixe, consultez la section Configuration. Elle explique comment définir votre préfixe/suffixe dans le fichier AppSourceCop.json.

Exigences relatives aux préfixes et suffixes pour les extensions

Il existe certaines exigences pour les extensions AppSource et d’abonné.

Pour les extensions AppSource

L’utilisation d’un préfixe/suffixe pour les noms d’objets est requise pour les soumissions AppSource dans le cadre de la liste de contrôle Validation technique.

Afin de répondre aux exigences de la validation technique AppSource, vous devez avoir un préfixe/suffixe de trois lettres enregistré pour l’éditeur de votre extension et vous devez l’utiliser dans votre extension.

Si vous n’avez pas encore de préfixe/suffixe enregistré, envoyez un e-mail à Microsoft (d365val@microsoft.com) et fournissez les informations suivantes pour réserver le préfixe/suffixe de votre choix :

  • Votre ID MPN

  • Le nom de l’éditeur que vous utilisez dans vos extensions (dans le fichier app.json)

  • Vous devez fournir au moins cinq suggestions de préfixes/suffixes. Chacune doit comporter exactement trois caractères.

Les préfixes/suffixes ne respectent pas la casse. Autrement dit, par exemple, « ABC », « abc » et « AbC » sont traités de la même manière. Fournir à la fois « ABC » et « abc » compte uniquement comme une seule de vos suggestions.

Notez que vous n’êtes pas obligé de modifier les préfixes/suffixes déjà enregistrés ; vous pouvez continuer à les utiliser. Les recommandations ne s’appliquent qu’aux nouveaux enregistrements.

Pour les extensions par abonné

Les extensions par abonné ne sont pas tenues d’utiliser un préfixe ou un suffixe, mais nous vous recommandons fortement de le faire. Vous pouvez utiliser pte comme préfixe ou suffixe pour éviter les conflits avec des applications AppSource ou des objets de base.

Si votre extension par abonné provoque un conflit avec un nouvel objet dans l’application de base ou une application AppSource mise à jour, l’extension par abonné doit effectuer la modification.

Pour en savoir plus sur l’utilisation de préfixes ou suffixes, consultez Avantages et recommandations relatifs à l’utilisation d’un préfixe ou suffixe.