Expertises et services, Solutions

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Wassim HAMAMA, Xavier GARONNAT17/02/2023

Temps de lecture : 5min

Qu’est-ce que les tables virtuelles et à quoi servent-elles ?

D’après la documentation Microsoft  Une table virtuelle est une table personnalisée dans Microsoft Dataverse qui dispose de colonnes contenant des données issues d’une source de données externe. Les tables virtuelles apparaissent aux utilisateurs comme des table normales, mais elles contiennent des données qui proviennent d’une base de données externe, telle qu’une base de données Azure SQL. Les basées dans les tables virtuelles sont disponibles dans tous les clients, y compris les clients personnalisés développés à l’aide des services Web Dataverse.

Ces tables ne stockent pas de données elles-mêmes. Elles nous permettent de les utiliser comme toute autre table de Dataverse, c'est-à-dire afficher leurs contenus, créer et modifier leurs vues, leurs formulaires, et les connecter à d’autres tables.

Voici une architecture simplifiée de l’interaction entre les sources de données externes et les applications se basant sur Dataverse à travers les tables virtuelles.

intégrer business central et microsoft dataverse avec les tables virtuelles

Le cas de Business Central

La table virtuelle de Microsoft Dynamics 365 Business Central est une source de données virtuelle dans Microsoft Dataverse permettant des opérations de création, de lecture, de mise à jour et suppression depuis Microsoft Dataverse vers Dynamics 365 Business Central. Cependant, les données des tables virtuelles ne résident pas dans Dataverse mais dans Business Central.

Les tables virtuelles sont activées pour les API de Business Central, ce qui les rend disponibles dans Microsoft Dataverse en tant que tables virtuelles. Les API personnalisées et standard exposées dans Business Central sont consommables sur Microsoft Dataverse, et peuvent être exposées en tant que tables virtuelles. La nouvelle version ajoute la prise en charge des événements de changement de données (événements CUD) afin que les tables virtuelles Dataverse puissent être utilisées dans les flux Power Automate.

Comment faire l’intégration Business Central Dataverse à travers les tables virtuelles ?

La première chose à faire est d’installer l’application "Business Central Virtual Table" à partir de Microsoft AppSource.

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Une fois l’application installée, nous allons sur Business central et nous activons l’option "tables virtuelles".

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles
Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles
Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Du côté Dataverse, nous devons ajouter les tables virtuelles que l’on souhaite utiliser :

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Pour rendre une table virtuelle visible dans Dataverse, il suffit de passer l’interrupteur sur "oui" :

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Il est fortement recommandé d’utiliser les dernières versions d’API (v2.0 actuellement)

Pour vérifier si notre table a été bien ajoutée, nous nous rendons à la liste des tables Dataverse :

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Maintenant que notre table est disponible, nous pouvons effectuer plusieurs opérations.

L’exemple ci-dessus ne concerne que les tables standard Business Central (qui possèdent déjà des API). Dans le cas d’une table personnalisée, nous devons créer une nouvelle API du côté Business Central pour pouvoir l’exposer en tant que table virtuelle dans Dataverse.

Comment représenter les données depuis les tables virtuelles dans Microsoft Dynamics 365 Customer Engagement ?

2 exemples : affichage simple d’un tableau + affichage sous forme de sous grille

Pour illustrer l’utilisation des tables virtuelles dans Dataverse, nous allons utiliser la table Business Central variante article. Variante article est une table BC qui représente les variantes d’un produit. Cette table est représentée dans Business Central de cette façon :

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

A partir de l’API de cette table, nous allons devoir récupérer les informations suivantes :

Intégrer Business Central et Microsoft Dataverse a

L’id, l’itemId (Id du produit), itemNumber (Numéro de l’article), code (code ou nom du variant) et sa description.

N.B : Pour lister toutes les API disponibles, il faut utiliser le endpoint $metadata

Afficher cette table virtuelle dans Dataverse va nous permettre de l’utiliser comme toute autre table Dataverse. Nous pouvons par exemple :

  • Afficher la table et son contenu dans Dynamics 365 Customer Engagement ou dans notre application pilotée par modèle.
  • Créer des nouvelles lignes
  • Modifier des lignes
  • Supprimer des lignes

Nous pouvons également créer des nouvelles vues et des formulaires, ou modifier ceux qui existent déjà.

Pour afficher la table, rien de plus simple. Il suffit de l’ajouter dans la barre de navigation de l’application Customer Engagement.

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Autre cas très utile

Par exemple, nous voulons afficher par exemple les variantes d’un produit dans le formulaire de ce même produit. Ici, les tables virtuelles nous permettent de créer des relations avec les autres tables. Nous créons donc une relation entre notre table et la table produit, et nous ajoutons une sous-grille qui affiche les variantes de notre produit.

La sous-grille est un composant qui permet d’afficher le contenu d’une table dans le formulaire d’une autre table.

Ceci nous permet d’avoir une vision globale de notre produit avec tous ces détails au même endroit, en utilisant des tables provenant de différentes sources de données.

Intégrer Business Central et Microsoft Dataverse avec les tables virtuelles

Partager l'article

Contact us
Xavier Garronat
Author:
Xavier GARONNAT
Architecte
Contact us
Wassim HAMAMA
Author:
Wassim HAMAMA
Consultant CRM