Thierry
Seunevel |
Code en stock |
|
| | Stockage du modèle |
L'exemple simpliste introduisant ExcelReport allait chercher le document modèle sur disque.
Dans une implémentation réelle, il est plus efficace de stocker ce modèle en tant qu'attachement dans un document Notes.
Il bénéficie ainsi des avantages offerts par ce support : déploiement par copie de la base, diffusion des modifications par réplication, indépendance par rapport au système de fichiers, et éliminations des problèmes d'appellations des unités partagées.
Dans ce mode de fonctionnement, avant d'instancier l'objet ExcelReport (méthode New), il faut accéder au document contenant le modèle et détacher le fichier dans un emplacement temporaire (disque local ou unité réseau paramètrée).
La méthode New est alors exécutée en indiquant l'emplacement de stockage temporaire.
Si plusieurs utilisateurs sont susceptibles d'exécuter simultanément des agents créant des instances d'ExcelReport, l'utilisation du disque local, par exemple c:\temp, peut s'avérer la meilleure solution.
|
| Echange de données |
La classe ExcelReport permet bien plus que la création d'états Excel.
Elle peut être utilisée par exemple dans un système de suivi commercial, pour gérer des devis.
A partir d'un document Notes correspondant à un devis à réaliser, on génère un fichier Excel copié d'un modèle choisi dans une liste, et alimenté automatiquement d'informations issues des documents commerciaux (nom et adresse client ...)
Le fichier Excel est sauvegardé sur disque, à un emplacement mémorisé dans le document Notes initial.
Il peut alors être complété par les métreurs au moyen d'Excel.
Quand le devis est achevé, il est réimporté à partir de Notes, des valeurs du devis peuvent être extraites du fichier en utilisant des noms prédéfinis, et alimenter des champs Notes, et le fichier Excel peut être attaché au document Notes associé.
Dans ce type de fonctionnement, à la seconde ouverture du fichier Excel, l'objet ExcelReport est créé en utilisant le fichier réél et non un modèle.
|
| Création de champs Notes |
Si une valeur à afficher doit être dérivée d'un ou plusieurs champs d'un document Notes, et que l'utilisation de colonnes située hors de la zone d'impression ne permet pas d'obtenir le résultat souhaité, vous pouvez exécuter l'évaluation de la valeur cherchée dans le code Lotusscript et ajouter cette valeur comme nouveau champ au document transmis au rapport Excel.
Dans la mesure où le document Notes n'est pas sauvegardé, c'est la version en mémoire de ce document qui est seule modifiée, il n'y a pas d'impact sur la base de documents.
|
| Clonage de documents |
Il peut dans certains cas être nécessaire d'utiliser plusieurs documents Notes de même type (même masque) pour alimenter plusieurs plages d'un rapport Excel en mode page.
Dans un exemple déjà cité, il pourrait être nécessaire de placer sur un état Excel deux adresses différentes, correspondant à deux acteurs distincts dans un workflow.
Les noms de champs des 2 documents étant les mêmes, il faut pouvoir fournir deux documents Notes dont les champs portent des noms différents.
Vous pouvez par exemple utiliser un premier document adresse et les noms de champs originaux pour un des acteurs, et créer un nouveau document Notes en mémoire en copiant tous les champs du second acteur sous un nouveau nom préfixé.
C'est ce document 'cloné' qui est envoyé à l'état Excel pour substitution des données, et ce document n'est pas sauvegardé.
|
|
|
|
| © Thierry Seunevel (2004) |
www.seusoft.com |
|
|
|
|