Mercator 10.3 ou ultérieur offre une fonctionnalité dans les bundles de type "liste" : il est possible d'afficher dans MercatorPenguin un rapport, issu des rapports de Mercator, sous la forme d'un PDF. En conséquence, le rapport est présenté avec une mise en page tout à fait identique à celle qui serait obtenue dans Mercator.
La production d'un rapport par Mercator requiert une instanciation de son environnement. Celle-ci doit donc être effectuée comme pour l'utilisation de MercatorPenguin en écriture.
METHODE 1
L'appel d'un rapport se fait dans une des étapes du bundle de type "liste", en cliquant sur le bouton "loupe" de cette zone :
Comme l'affichage du PDF rompt la chaîne des vues en liste, il n'y aura jamais d'étape supplémentaire après l'affichage de ce type de rapport. Dans le code "XAML Recherche", il est obligatoire de pourvoir à tous les paramètres qui seront nécessaires pour la bonne exécution de la requête SQL associée au rapport. Ceci concerne tant les paramètres SQL (dont le nom commence par @) que les paramètres de substitution ($PARAM1$, $PARAM2$, ...). Ces derniers feront en général l'objet de déroulants qui permettront la sélection des valeurs indiquées en tant que "Choix Déroulants" dans le paramétrage du rapport. Par exemple :
<m:SearchPicker BackgroundColor="White" TextColor="Black" SqlParam="$PARAM1$" HorizontalOptions="FillAndExpand">
<Picker.ItemsSource>
<x:Array Type="{x:Type m:ItemDescriptor}">
<m:ItemDescriptor Id="C_NOM" Lib="Trier sur le nom" />
<m:ItemDescriptor Id="C_ID" Lib="Trier sur l'id" />
</x:Array>
</Picker.ItemsSource>
</m:SearchPicker>
Limitations :
- Les paramètres $PARAM1$, $PARAM2$, ... ne sont utilisables que si le rapport est appelé dans l'étape n° 1.
- Les fourchettes FILTRE_RFS_1 et FILTRE_RFS_2 ne sont pas utilisables.
- Les filtres de signalétique (FILTRE_CLI, FILTRE_STOCK, ...) ne produisent pas d'erreur mais sont toujours ignorés.
Versions :
Ceci requiert au minimum une version 2.2 de MercatorPenguin et de MercatorPenguinServer. Le Mercator qui sera utilisé par MercatorPenguinServer doit aussi être mis à jour.
Quelques exemples : -
METHODE 2
L'appel d'un rapport peut aussi se faire au départ d'un ReportButton placé dans le code XAML d'une ListviewCell. La propriété ReportId de ce bouton doit reprendre la valeur de l'ID du reporting souhaité. Cette méthode offre l'avantage de pouvoir placer différents rapports dans une même étape et/ou à différentes étapes.
<m:ReportButton ReportId="14768FCEDB" Text="Extrait de compte" />
Ce code produit ce bouton dans l'application mobile :
Comme pour la méthode précédente, il est obligatoire que tous les paramètres nécessaires à la bonne exécution de la requête SQL soient passés à l'étape dans laquelle ce bouton est placé. Les limitations de la méthode 1 sont aussi à prendre en considération.
Versions :
Ceci requiert au minimum une version 2.2.1 de MercatorPenguin et de MercatorPenguinServer. Le Mercator qui sera utilisé par MercatorPenguinServer doit aussi être mis à jour.
Quelques exemples :