Les widgets Office



Le widget Office permet à un utilisateur de créer son indicateur à l'aide d'un tableau (Excel ou OpenOffice). Aucune compétence de développement n'est requise.
Il peut être associé aux widgets de type Feu et Jauge ainsi qu'aux widgets de type Graphique.
Il permet également de lire un fichier texte contenant les balises Hmp correspondant aux widgets de type Feu, Jauge et Graphique.
Nous fournissons pour cela le module WidgetOffice.dhop avec les fonctions initOffice et UpdateOffice. Le champ paramètres contient une chaîne hmp de paramétrage :




Paramétrage du widget


Lors de la création du widget dans le Zoom des widgets, il convient de choisir le type de widget Feu, Jauge ou Graphique.


Paramètre

Valeur

Paramètre

Valeur

Module

ModuleOffice.dhop

Fonction d'initialisation

InitOffice

Fonction de mise à jour

UpdateOffice


C'est dans la zone "Paramètres" qu'il faut renseigner les informations concernant le fichier Office à traiter. C'est une chaîne au format HMP :
Pour un indicateur de type Feu ou Jauge

Paramètre

Description

Type

Paramètre

Description

Type

<OfficeType> (ou <TypeOffice>)

Indique le type de widget à traiter

  • Indicator (ou Indicateur) pour les types Feu ou Jauge

  • Chart (ou Graphique) pour les graphiques

Alpha

<File> (ou <Fichier>)

Indique le fichier Office à traiter. Il doit se trouver dans le répertoire des fichiers joints de l'application "COMMUN".
Ici, le mot clé "$user" sera remplacé par le code utilisateur Divalto (exemple : <File>$user/planmarche.xlsx).

Alpha

<FileText> (ou <FichierTexte>)

Fichier texte avec les valeurs des balises du widget Feu ou Jauge.

Alpha

<Sheet> (ou <Feuille>) (Facultatif)

Nom de la feuille dans le document Office

Alpha

<Min>

Valeur minimale

Numérique

<MinCell> (ou <CelluleMin>)

Cellule contenant la valeur minimale

Alpha

<Max>

Valeur maximale

Numérique

<MaxCell> (ou <CelluleMax>)

Cellule contenant la valeur maximale

Alpha

<CurrentCell> (ou CelluleCourante>)

Cellule contenant la valeur courante

Alpha

<StateCell> (ou <CelluleEtat>)

Cellule avec la couleur (couleur du widget Feu)

1 = vert
2 = orange
3 = rouge
0 = neutre

Numérique

<SpreadValueCell> (ou <CelluleValeurEcart>) (Facultatif)

Cellule avec l'écart par rapport à l'objectif

Alpha

<CurrentValueCell> (ou <CelluleValeurCourante>) (Facultatif)

Cellule avec la valeur courante formatée pour l'affichage. Par défaut, c'est <CurrentCell> qui est affichée.

Alpha

<Text> (ou <Texte>) (Facultatif)

Titre du widget

Alpha

<TextCell> (ou <CelluleTexte>) (Faculatif)

Cellule contenant le titre du widget




Pour un graphique

Paramètre

Description

Type

Paramètre

Description

Type

<OfficeType> (ou <TypeOffice>)

Indique le type de widget à traiter

  • Indicator (ou Indicateur) pour les types Feu ou Jauge

  • Chart (ou Graphique) pour les graphiques

Alpha

<File> (ou <Fichier>)

Indique le fichier Office à traiter. Il doit se trouver dans le répertoire des fichiers joints de l'application "COMMUN".
Ici, le mot clé "$user" sera remplacé par le code utilisateur Divalto (exemple : <File>$user/planmarche.xlsx).

Alpha

<FileText> (ou <FichierTexte>)

Fichier texte avec les valeurs des balises du widget Feu ou Jauge.

Alpha

<Sheet> (ou <Feuille>) (Facultatif)

Nom de la feuille dans le document Office

Alpha

<ChartType> (ou <TypeGraphique>)

Type de graphique

  • Bar (Histogramme)

  • Line (Courbe)

  • Pie (Camembert)

Alpha

<ChartTypeCell> (ou <CelluleTypeGraphique>)

Cellule contenant le type de graphique

Alpha

<VerticalAxisTitleCell> (ou <CelluleTitreAxeVertical>) (Facultatif)

Cellule contenant le titre de l'axe vertical

Alpha

<VerticalAxisTitle> (ou <TitreAxeVertical>) (Facultatif)

Titre de l'axe vertical

Alpha

<HorizontalAxisTitleCell> (ou <CelluleTitreAxeHorizontal>) (Facultatif)

Cellule contenant le titre de l'axe horizontal

Alpha

<HorizontalAxisTitle> (ou <TitreAxeHorizontal>) (Facultatif)

Titre de l'axe horizontal

Alpha

<ShowLegendCell> (ou <CelluleAfficherLegende>) (Facultatif)

Cellule indiquant s'il faut afficher la légende (0/1)

Alpha

<ShowLegend> (ou <AfficherLegende>) (Facultatif)

Afficher la légende (0/1)

Alpha

<PaletteCell> (ou <CellulePalette>) (Facultatif)

Cellule contenant le nom de la palette de couleur à utiliser

Alpha

<Palette> (Faculatif)

Palette de couleur à utiliser

Alpha

<OrientationCell> (ou <CelulleOrientation>) (Facultatif)

Cellule contenant l'orientation du graphique (utilisé seulement pour le type Bar (histrogramme)

  • Horizontal

  • Vertical

Alpha

<Orientation> (Facultatif)

Orientation du graphique (utilisé seulement pour le type Bar (histogramme))

Alpha

<AbscissaRange> (ou <PlageAbscisse>)

Plage de données représentant les valeurs de l'abscisse

Alpha

<SerieNameCell> (ou <CelluleNomSerie>)

Cellule contenant le nom de la série

Alpha

<SerieName> (ou <NomSerie>)

Nom de la série

Alpha

<SerieRange> (ou <PlageSerie>)

Plage des valeurs de la série

Alpha

<Text> (ou <Texte>) (Facultatif)

Titre du widget

Alpha

<TextCell> (ou <CelluleTexte>) (Faculatif)

Cellule contenant le titre du widget

Alpha



Si c'est l'attribut <FileText> qui est utilisé, le fichier texte doit contenir les balises des widgets Feu / Jauge, ou alors les balises du widget Graphique.



Couleur de la palette


Couleurs des graphiques : 15 palettes de couleurs sont disponibles. Par défaut, c'est la palette Windows8 qui est utilisée.
  



Adresser une cellule

Les références aux cellules peuvent s'exprimer dans 3 formats :

Référence

Commentaire

A1

Colonne alpha et ligne

B :10
AA :142

L1C1

Ligne et colonne numérique

1 :1
10 :50

Nom

Cellule nommée

ObjectifCA



Formule

La référence à une cellule peut être une expression. C'est le numéro de la cellule, suivi éventuellement d'un calcul.

Le numéro de la cellule est évalué par la fonction DataCompute du langage Diva. On peut donc utiliser dans la formule toutes les fonctions du langage Diva évaluable par DataCompute, ainsi que les données des enregistrements publics visibles dans le module WidgetOffice.dhop (par exemple MZ.DOS).

Par exemple :
1+10
1+month
Z-day
1+(day*2)


Quelques mots clés sont substitués lors de l'exécution :

Mot clé

Commentaire

Mot clé

Commentaire

Day

Jour du mois courant

Month

Mois de l'année courante

Year

Année courante

NumWeek

Numéro de la semaine courante

DayWeek

Numéro du jour de la semaine courante

NumDay

Numéro du jour dans l'année courante




Exemples

1. Widget Feu / Jauge
Pour le tableur ci-dessous :

<file>planmarche.xlsx
<sheet>feuil1
<min>0
<maxcell>objectif
<currentCell>e:2+month
<StateCell>2+month:10
<CurrentValueCell>f:2+month
<SpreadValueCell>2+Month:9

Dans cet exemple, on utilise une cellule nommée pour la cellule contenant la valeur maximale, l'écriture A:1 pour CurrentCell et CurrentValueCell, l'écriture L1:C1 pour StateCell et SpreadValueCell.
Il y a aussi un exemple d'utilisation de formule.
Pour une exécution au mois de mai, on obtient :

Sous la jauge, ce sont les valeurs minimales et maximales.
Sur la droite, on a le nom du widget, la valeur courante (ici, c'est CurrentValueCell colonne F qui est utilisée car le paramètre a été renseigné (valeur courante sinon colonne E)), l'objectif (valeur maximale) et l'écart (colonne I).
Enfin, la couleur de la jauge provient de la colonne J.

2. Widget Graphique
Pour le tableau ci-dessous :

<File>graphique.xlsx
<OfficeType>chart
<ChartType>bar
<verticalaxistitle>ordonnée
<horizontalaxistitle>abscisse
<AfficherLegende>1
<AbscissaRange>b:1;m:1
<SerieName>Série1
<SerieRange>b:2;m:2
<SerieName>Série 2
<SerieRange>b:3;m:3
<OrientationCell>a:8
<Palette>Windows8
On obtient :



Performance, cache

Pour ne pas charger Office ou OpenOffice pour chaque widget de chaque utilisateur, ce qui pourrait dégrader les performances du serveur et ralentir le chargement de l'interface d'accueil, le résultat de chaque widget est stocké dans un fichier texte.
Ce fichier texte est stocké dans le sous-répertoire Widget du répertoire où se trouve le fichier Office. Il porte le nom de l'identifiant unique du widget avec l'extension .txt.
Il contient éventuellement une date d'expiration. En effet, si les formules de calcul des cellules contiennent par exemple une référence au jour de la semaine, le fichier a une durée de vie d'un seul jour.
Le fichier texte est créé après le premier accès au fichier Office. Le module stocke le résultat dans le fichier texte.
A l'ouverture d'un fichier Office, le module regarde :

  •  

    • s'il existe un fichier texte correspondant ;

    • si le fichier texte est encore pérenne ;

    • si le fichier texte a la même date que le fichier Office.


Dans ce cas, c'est le contenu du fichier texte qui sera utilisé.
Sinon, le module recalcule le résultat à partir du fichier Office, calcule la nouvelle date d'expiration puis stocke le résultat dans le fichier texte.

Exemple
\divalto\ « version » \Fichiers\ficjoints\Widget\graph3_office.txt


En cas de changement du paramétrage d'un widget, il convient de supprimer le fichier résultat du "cache".


Fichier texte


Le paramètre <FileText> permet d'animer le widget à partir d'un fichier texte qui contient les valeurs liées au widget. Ce fichier peut être généré par programme ou tout simplement être saisi par un utilisateur.
Les balises correspondant aux valeurs affichées par le widget sont :

Paramètre

Commentaire

Paramètre

Commentaire

<Text>

Le texte de l'indicateur. C'est un paramètre facultatif. S'il est absent, le widget affiche le libellé du paramètre du Widget

<MinValue>

La valeur minimale

<MaxValue>

La valeur maximale

<CurrentValue>

La valeur courante

<State>

La couleur :
1 = vert
2 = orange
3 = rouge
0 = neutre

<Spread>

L'écart. C'est un champ texte qui peut contenir une valeur absolue ou un pourcentage.

<Expiration> DH

La date de péremption.

<Current>

La valeur formatée.



Toutes les valeurs sont facultatives. Le widget s'affichera avec les valeurs disponibles.