Ajouter une présentation Excel à un état
Lorsque vous créez un état, vous devez prendre en compte deux tâches principales. Tout d’abord, vous définissez le jeu de données d’état composé d’éléments de données et de colonnes. Ensuite, vous concevez la présentation de l’état.
Avec la présentation d’état Excel, vous pouvez créer un état de base qui imprime un jeu de données et laisser à l’utilisateur final le soin de le modifier davantage. Il peut concevoir l’état à l’aide de la palette complète de fonctionnalités d’Excel telles que les curseurs, les schémas, les graphiques, les tableaux croisés dynamiques et PowerQuery.
Ainsi, l’utilisateur final bénéficie d’une grande flexibilité et d’une liberté totale, car il peut modifier l’aspect d’un état, ajouter des vues supplémentaires et filtrer et trier les données. Une telle présentation conçue par l’utilisateur final peut être importée et utilisée comme une nouvelle présentation. Les informations suivantes vous permettent de créer un état de base en fonction d’une présentation Excel.
Examinons l’état suivant :
report 50101 ExampleEXCELLayout
{
Caption = 'ExampleEXCELLayout';
UsageCategory = ReportsAndAnalysis;
ApplicationArea = All;
DefaultRenderingLayout = ExampleEXCELLayout;
dataset
{
dataitem(Customer; Customer)
{
column(CustomerNo; "No.") { }
column(CustomerName; Name) { }
column(City; City) { }
column(BalanceLCY; "Balance (LCY)") { }
}
}
rendering
{
layout(ExampleEXCELLayout)
{
Type = Excel;
LayoutFile = './src/Reports/EXCEL/ExampleEXCELLayout.xlsx';
Caption = 'ExampleEXCELLayout';
Summary = 'An example of an EXCEL Layout.';
}
}
}
Pour activer plusieurs présentations, vous devez utiliser la section de rendu d’un objet d’état. Dans la section de rendu, vous définissez une ou plusieurs sections de présentation. Dans chacune des sections de présentation, vous spécifiez des détails sur le chemin d’accès au fichier de présentation et son nom et vous fournissez des propriétés Caption et Summary présentées à l’utilisateur sur la page Présentations d’état dans Business Central.
Si vous ne spécifiez pas de légende, le nom de la présentation est présenté à l’utilisateur.
La présentation par défaut peut être spécifiée avec la propriété d’état DefaultRenderingLayout. Cette propriété peut être définie uniquement sur les objets d’état, et non sur les objets d’extension d’état.
Les états utilisant la précédente spécification de présentation basée sur des propriétés peuvent être convertis pour utiliser la section de rendu à l’aide d’une action de code. Pour l’utiliser, assurez-vous que les actions sont activées dans les paramètres de votre extension AL et placez le curseur sur l’une des anciennes propriétés de présentation. Les présentations de type RDLC, Word, Excel et personnalisées peuvent être spécifiées avec la nouvelle syntaxe de rendu.
Pour générer la présentation, créez l’extension (Ctrl + Maj + B). Le fichier ExampleEXCELLayout.xlsx est créé à la racine du projet en cours.
Pour ouvrir le fichier de présentation d’état généré, cliquez avec le bouton droit sur le fichier ExampleEXCELLayout.xlsx, puis sélectionnez l’option Ouvrir en externe, comme illustré dans la capture d’écran suivante :
Vous pouvez maintenant modifier la présentation dans Microsoft Excel.
Dans Excel, vous voyez la présentation dans ce format :
Il est important de modifier uniquement la présentation, et non le jeu de données dans Excel.
Dans Excel, accédez à l’onglet Insérer et choisissez Tableau croisé dynamique, puis À partir d’un tableau ou d’une plage avec les options par défaut Données et Nouvelle feuille de calcul. Cliquez sur le bouton OK.
Dans le volet Champs du tableau croisé dynamique à droite, choisissez un nombre approprié de champs à ajouter à l’état.
Si le champ BalanceLCY est ajouté en tant que Nombre dans la section Valeurs du volet Champs du tableau croisé dynamique, vous pouvez le remplacer par le type Somme, ce qui est plus logique dans cet état :
À présent, fermez et enregistrez le fichier Excel.
De retour dans Visual Studio Code, appuyez sur Ctrl + F5 pour compiler et lancer Business Central.
Maintenant, pour choisir la présentation d’état modifiée, recherchez la page Sélection d’une présentation d’état, puis l’état.
Dans la colonne Type de présentation, choisissez Excel, puis Exécuter l’état dans la barre d’actions.
Sur la page de requête, cliquez sur le bouton Télécharger, puis une fois l’état téléchargé, ouvrez-le.
Un autre moyen de générer le jeu de données sur lequel créer une présentation consiste à exécuter un état dans Business Central et sur la page de requête, puis à sélectionner l’option Document Microsoft Excel (données uniquement). Vous obtenez alors le même point de départ. Vous pouvez ensuite concevoir la présentation, l’enregistrer en tant que nouvelle présentation et l’intégrer à votre projet AL.
Contrat de données de présentation Excel dans la première vague de lancement 2023 et les versions antérieures
Chaque fichier de présentation Excel doit comporter une feuille de calcul nommée Données. Cette feuille de calcul a un seul objectif : définir les champs de métadonnées de la définition du jeu de données de l’objet d’état que la présentation utilise, ce qui est parfois également appelé le contrat de données entre le fichier de présentation et la définition du jeu de données d’état. Le contrat de données comprend les règles suivantes :
Les champs de métadonnées doivent être écrits sur la première ligne de la feuille de calcul Données, à raison d’un dans chaque cellule.
Tous les champs de métadonnées de la feuille de calcul Données doivent exister en tant que champs de métadonnées dans la définition du jeu de données de l’objet d’état.
Vous ne pouvez pas renommer les champs de la feuille de calcul Données. Ils doivent correspondre aux champs de métadonnées dans la définition du jeu de données.
Vous n’êtes pas obligé d’utiliser tous les champs de métadonnées dans la définition du jeu de données dans la feuille de calcul Données.
Lors du développement de présentations Excel, vous pouvez ajouter des données de démonstration à la feuille de calcul Données pour faciliter la visualisation du résultat final lorsque l’état s’affiche avec la présentation. Les données sont supprimées lors de leur importation dans Business Central, mais si vous incluez des présentations Excel dans une application/extension, vous souhaiterez peut-être y conserver les données de démonstration pour une résolution des problèmes plus facile ultérieurement.
Contrat de données de présentation Excel dans la deuxième vague de lancement 2023 et les versions ultérieures
La propriété ExcelLayoutMultipleDataSheets vous permet d’utiliser des états qui affichent plusieurs feuilles de calcul pour les données d’état lorsque le jeu de données comporte plusieurs éléments de données. En définissant la propriété sur true, le runtime AL génère une feuille de calcul Excel pour chaque élément de données et y place ses données. Sinon, si la propriété est définie sur false, à savoir la valeur par défaut, une seule feuille est utilisée pour toutes les données (comme décrit dans la section précédente).
Chacune des multiples feuilles est nommée #DataItemName, où DataItemName est le nom donné à l’élément de données dans la conception de l’état. Lorsque de nouvelles présentations Excel vides sont ajoutées à l’état, la propriété permet de déterminer la structure des feuilles.
Avec des données dans plusieurs feuilles de calcul, la présentation d’état peut désormais facilement inclure des modèles de données définis avec la fonctionnalité PowerPivot dans Excel.
Valider une présentation Excel
Lors de l’importation d’une présentation Excel dans le cadre d’une application ou lorsqu’un utilisateur charge un fichier de présentation Excel, Business Central Server effectue les opérations suivantes :
Charge le fichier de présentation Excel et vérifie si le fichier est bien un fichier Excel (.xlsx) et qu’il n’est pas protégé par mot de passe. Si le fichier n’est pas un fichier Excel valide, Business Central Server rejette la présentation.
Lit les champs de métadonnées présents dans la feuille de calcul Données (le contenu du contrat de données). En l’absence de feuille de calcul Données, Business Central Server rejette la présentation.
Supprime toutes les autres données présentes dans la feuille de calcul Données.
Vérifie si les champs de métadonnées présents dans la feuille de calcul Données sont tous présents en tant que champs de métadonnées dans la définition du jeu de données de l’objet d’état. Autrement dit, Business Central Server vérifie que le contrat de données est valide. Si ce n’est pas le cas, Business Central Server rejette la présentation.
Exécuter un état avec une présentation Excel
Lorsqu’un état avec une présentation Excel est exécuté, Business Central Server effectue les opérations suivantes :
Génère le jeu de données comme spécifié dans la définition du jeu de données dans l’objet d’état et modifié par les filtres et options de la page de requête.
Charge le fichier de présentation Excel.
Intègre les données à la table Données de la feuille de calcul Données du fichier de présentation Excel.
Fournit le classeur Excel fusionné à l’utilisateur pour téléchargement ou affichage dans Excel Online en cas d’activation par l’administrateur de l’abonné. Pour en savoir plus sur l’affichage des résultats Excel dans Excel Online, consultez Enregistrer des classeurs et fichiers d’état Excel dans OneDrive.
Modifier le contrat de données après avoir ajouté de nouvelles colonnes au jeu de données d’état
Si vous ajoutez de nouvelles colonnes au jeu de données d’état après avoir créé des présentations Excel, les contrats de données dans les présentations ne sont pas mis à jour automatiquement. Mais vous n’avez pas besoin de recréer les présentations à partir de zéro : vous pouvez ajouter les nouvelles colonnes manuellement à la ligne d’en-tête dans la feuille de calcul du contrat de données.
Pour un développeur d’états utilisant du code AL, le moyen le plus simple d’obtenir les nouveaux noms de colonne consiste peut-être à utiliser le code AL de l’objet d’état. Pour un développeur d’états travaillant uniquement dans Excel, le moyen le plus simple d’obtenir les nouveaux noms de colonne consiste à exécuter l’état dans Business Central et sur la page de requête, puis à choisir l’option Document Microsoft Excel (données uniquement). Vous obtenez ainsi un classeur Excel avec toutes les colonnes du contrat de données.
Libellés d’état dans des présentations Excel
Les libellés d’état sont utilisés par les présentations état, par exemple, pour le titre d’un champ d’une table, le titre d’un graphique ou le titre de l’état lui-même.
Les libellés d’état définis dans la section Libellés de l’objet d’état et les légendes incluses dans les colonnes d’éléments de données à l’aide de la propriété IncludeCaption sont disponibles dans la feuille de calcul CaptionData dans Excel.
Mettre en forme des données dans des présentations Excel
Il est souvent souhaitable de mettre en forme les données d’un état d’une manière différente de la façon dont les mêmes données s’affichent dans les tables, les requêtes ou les pages. Par exemple, si un champ décimal d’une table a une précision de cinq chiffres, le même niveau de précision peut ne pas être nécessaire dans l’état.
Plus précisément, pour les présentations Excel, de nombreuses façons permettent de contrôler la mise en forme des éléments de données directement dans Excel. Pour plus d’exemples sur la mise en forme de données dans Excel, consultez :
Extraction vers Business Central à partir d’une présentation Excel
Avec l’extraction dans une présentation Excel, vous pouvez créer des liens hypertexte vers Business Central à partir de cellules Excel. Lorsque l’utilisateur de l’état sélectionne la cellule, il accède à la page cible pour obtenir des détails filtrés selon ce contexte. Pour implémenter un lien d’extraction, vous devez savoir quelle page ouvrir et également définir les filtres à appliquer à cette page. Vous filtrez les données s’affichant sur la page à l’aide du paramètre d’URL de filtre. Le paramètre de filtre vous permet d’afficher des enregistrements spécifiques de la table sous-jacente de la page.
Utiliser des polices dans des présentations Excel
La version en ligne de Business Central comporte des polices préinstallées sur les serveurs que vous pouvez utiliser lorsque vous créez des états. Vous pouvez utiliser chacune de ces polices dans votre présentation.
Pour en savoir plus, consultez Polices disponibles dans Business Central Online.
Utiliser des thèmes de document Office dans des présentations Excel
Les thèmes de document Office facilitent la coordination des couleurs, des polices et des effets de mise en forme graphique dans vos présentations Word et Excel et les mettent à jour rapidement.
Pour en savoir plus, consultez Changer un thème et en faire le thème par défaut dans Word ou Excel.
Utiliser des formules nommées intégrées dans des présentations Excel
Pour faciliter l’utilisation des données des feuilles de métadonnées, des formules nommées sont intégrées aux classeurs de présentation Excel. Au lieu de passer du temps à développer des formules RECHERCHEV ou RECHERCHEX compliquées, les auteurs d’états peuvent utiliser des formules nommées telles que ReportRequest.Date ou ReportMetaData.ReportHelpLink.