> For the complete documentation index, see [llms.txt](https://doc.simax.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.simax.fr/parametrage/editer-imprimer/modeles-dedition-avancees/impression-des-graphes-dans-les-modeles-dedition.md).

# Impression des graphes dans les modèles d'édition

Il est possible de demander à SIMAX de générer et d’insérer des graphiques dans un fichier.\
Pour cela, il suffit d’ajouter dans le modèle d’édition une balise avec la syntaxe suivante :

• Pour un modèle sur un formulaire :

<% \*GRAPHE, Options= ...,DPI=...,Hauteur = ...,Largeur = ...,Type = ...,Titre = ...,Formulaire

\= ...,ColRegroupement = ...,ColCalcul = ...,TypeCalcul = ...+ Formule %>

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Options</td><td valign="top">option d'affichage du graphe (valeurs séparées par des '|')(optionnel)</td><td valign="top"><p>Les options disponibles sont les suivantes et peuvent se cumuler grâce au caractère '|' :</p><p>AVECFOND : quand on demande un graphe avec des axes (Type histogramme, histogramme empilé, courbe, courbe lissée), on souhaite que le fond du graphe soit un fondu grisé</p><p>NOIRETBLANC : dessiner le graphe en noir et blanc (les couleurs sont remplacées par du gris ou par des hachures si plusieurs couleurs)</p><p>HORIZ : afficher un quadrillage horizontal sur le graphe (Type histogramme, histogramme empilé, courbe, courbe lissée)</p><p>VERT : afficher un quadrillage vertical sur le graphe (Type histogramme, histogramme empilé, courbe, courbe lissée) VALEUR : afficher les valeurs sur le graphe</p><p>POURCENTAGE : afficher les pourcentages dans les secteurs (Type secteur)</p><p>VALEURSECTEUR : afficher les étiquettes des secteurs (Type secteur)</p><p>SANSLEGENDE : ne pas ajouter de légende</p><p>VALEURLEGENDE : indiquer les valeurs de chaque série dans la légende à coté de la valeur affichée</p><p>LEGENDEDROITE : positionner la légende à droite LEGENDEGAUCHE : positionner la légende à gauche</p></td></tr><tr><td valign="top">DPI</td><td valign="top">Résolution (entier) (par défaut 96)</td><td valign="top"></td></tr><tr><td valign="top">Hauteur</td><td valign="top">Hauteur réservée pour dessiner le graphe (entier en cm) (obligatoire, conseillé 15)</td><td valign="top"></td></tr><tr><td valign="top">Largeur</td><td valign="top">Largeur réservée pour dessiner le graphe (entier en cm) (obligatoire, conseillé 15)</td><td valign="top"></td></tr><tr><td valign="top">Type</td><td valign="top">Type de graphe (entier) (par défaut 1),</td><td valign="top">Les différents types de graphe sont : 1 : Histogramme</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"></td><td valign="top"> </td><td valign="top"><p>2 : Histogramme empilé</p><p>3 : Secteur</p><p>4 : Courbe</p><p>5 : Courbe lissée</p></td></tr><tr><td valign="top">Titre</td><td valign="top">Titre du graphe affiché juste au-dessus (texte)(optionnel)</td><td valign="top"></td></tr><tr><td valign="top">Formulaire</td><td valign="top">Identifiant ou libellé du formulaire des enregistrements représentés dans le graphe, c'est à dire formulaire résultat de la formule (obligatoire)</td><td valign="top"></td></tr><tr><td valign="top">ColRegroupement</td><td valign="top">Libellé des colonnes de regroupement séparés par des '|' ( 1 ou 2 colonnes au maximum) (Obligatoire)</td><td valign="top"></td></tr><tr><td valign="top">ColCalcul</td><td valign="top">Libellé de la colonne qui doit être utilisée pour faire les calculs représentés sur le graphe (obligatoire)</td><td valign="top"></td></tr><tr><td valign="top">TypeCalcul</td><td valign="top">Type de calcul à effectuer (par défaut la somme)</td><td valign="top"><p>Les types de calcul disponibles sont : SUM ou SOMME (par défaut)</p><p>MIN pour le minimum MAX pour le maximum COUNT ou COMPTEUR AVERAGE ou MOYENNE</p></td></tr></tbody></table>

***Exemple** : Modèle sur le formulaire Facture*

***Remarque** : la formule récupère toutes les lignes de facture qui sont liées à la facture en cours d'impression.*

***Formule*** :

Si votre modèle d'édition est destiné à une liste, il n'est pas nécessaire d'utiliser une formule.

Dans ce cas, tous les enregistrements de la liste ou la sélection d'enregistrements seront utilisés pour construire le graphique.

En revanche, si votre modèle d'édition concerne un enregistrement spécifique, la formule doit être une formule SIMAX qui retourne une liste d'enregistrements correspondant au type du formulaire.

De plus, les colonnes de regroupement et la colonne de calcul doivent être des colonnes définies dans le paramètre du formulaire.

&#x20;Les différents types de graphe sont :

1 : Histogramme

2 : Histogramme empilé

3 : Secteur

4 : Courbe

5 : Courbe lissée

Les options disponibles sont les suivantes et peuvent se cumuler grâce au caractère '|' :

&#x20;Formule d’alimentation du graphique

Si le modèle d’édition est utilisé en mode liste, aucune formule n’est nécessaire.\
Dans ce cas, le graphique sera automatiquement généré à partir de tous les enregistrements de la liste ou de la sélection en cours.

En revanche, si le modèle d’édition est lié à un enregistrement spécifique, il est nécessaire d’utiliser une formule SIMAX. Celle-ci doit renvoyer une liste d’enregistrements correspondant au type du formulaire.

À noter :\
Les colonnes de regroupement ainsi que la colonne utilisée pour les calculs doivent obligatoirement être des colonnes définies dans les paramètres du formulaire.

Types de graphiques disponibles :

· 1 : Histogramme

· 2 : Histogramme empilé

· 3 : Camembert (secteur)

· 4 : Courbe

· 5 : Courbe lissée

&#x20;

Options graphiques disponibles (cumulables à l’aide du caractère |) :

· **AVECFOND** : ajoute un fond grisé dégradé au graphique lorsque celui-ci comporte des axes (types : histogramme, histogramme empilé, courbe, courbe lissée).

· **NOIRETBLANC** : le graphique est généré en noir et blanc ; les couleurs sont remplacées par des nuances de gris ou des hachures en cas de variations multiples.

· **HORIZ** : affiche un quadrillage horizontal sur le graphique (valable pour les types : histogramme, histogramme empilé, courbe, courbe lissée).

· **VERT** : affiche un quadrillage vertical, applicable aux mêmes types de graphiques que ci-dessus.

· **VALEUR** : affiche les valeurs numériques directement sur le graphique.

· **POURCENTAGE** : dans les graphiques en secteur, affiche les pourcentages associés à chaque portion.

· **VALEURSECTEUR** : pour les graphiques en secteur, affiche les libellés des différentes parts.

· **SANSLEGENDE** : supprime la légende du graphique.

· **VALEURLEGENDE** : dans la légende, affiche la valeur associée à chaque série, en complément du libellé.

· **LEGENDEDROITE** : place la légende sur la droite du graphique.

· **LEGENDEGAUCHE** : place la légende sur la gauche du graphique.

&#x20;

Types de calcul disponibles pour les graphiques :

· **SUM** ou **SOMME** *(valeur par défaut)* : addition des valeurs

· **MIN** : valeur minimale

· **MAX** : valeur maximale

· **COUNT** ou **COMPTEUR** : nombre d’éléments

· **AVERAGE** ou **MOYENNE** : moyenne des valeurs

***Exemple*** :

Modèle sur le formulaire Facture, modèle pour liste.

rem : pas besoin de formule

<% \[GRAPHE, Options= VALEUR|VALEURSECTEUR|LEGENDEDROITE, DPI=96,

Hauteur = 15,

Largeur = 15,

Type = 3,

Titre = Somme du Total HT des factures par date, Formulaire = facture,

ColRegroupement = Date facture, ColCalcul = Total HT

TypeCalcul = MAX] %>

<% \[GRAPHE, Options= VALEUR|SANSLEGENDE|HORIZ, DPI=96,

Hauteur = 15,

Largeur = 15,

Type = 1,

Titre = Somme des lignes de facture (dont le total HT est supérieur à 50) par article, Formulaire = ligne de facture,

ColRegroupement = Article,

ColCalcul = Total HT] Selection( \['Total HT' de 'Ligne de facture' <1BVPGVR9S9>] > 50 et \['Facture' de 'Ligne de facture' <1CPTGVRA1C>]= \['Id. unique' de 'Facture' <186SK0HT25>])%><br>

<figure><img src="/files/aMoVEXPfIX5VCUbS2qqQ" alt=""><figcaption></figcaption></figure>

&#x20;Résultat :

<figure><img src="/files/eTitcatQ8d1feTPA19kk" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Toutes les options spécifiées dans la balise \*GRAPHE+ doivent être séparées par des virgules.
{% endhint %}

***Remarque :***&#x20;

La formule utilisée doit être une formule SIMAX retournant une liste d’enregistrements correspondant au formulaire défini dans l’option formulaire=.

***Conseil*** : créez et testez d’abord la formule dans SIMAX. Une fois validée, copiez-la dans le modèle d’édition.

***Exemple** :*

*Titre = Somme des lignes de facture (dont le total HT est supérieur à 50) par article, Formulaire = ligne de facture,*

*ColRegroupement = Article,*

*ColCalcul = Total HT+ Selection( \*'Total HT' de 'Ligne de facture' <1BVPGVR9S9>+ > 50 et*

*\*'Facture' de 'Ligne de facture' <1CPTGVRA1C>+= \*'Id. unique' de 'Facture' <186SK0HT25>+)%>*

***Remarque*** :

*Les colonnes de regroupement ainsi que la colonne utilisée pour les calculs doivent impérativement appartenir au formulaire spécifié dans l’option formulaire=.*

***Exemple** : :*\
\&#xNAN;*Si le graphique est basé sur le formulaire Commande, mais que vous utilisez une colonne de regroupement comme Date facture (qui ne fait pas partie de ce formulaire), alors le graphique ne pourra pas être généré.*

&#x20;

**Gestion des erreurs :**

* Si les informations fournies dans la balise \*GRAPHE+ sont incomplètes ou incorrectes (par exemple, en cas d’absence de colonne de calcul), la balise sera remplacée par un message d’erreur précisant la nature du problème.

&#x20;

* Si SIMAX ne parvient pas à générer le graphique à partir des données fournies (par exemple, en raison de dimensions insuffisantes), la balise sera également remplacée par un message expliquant la cause de l’échec.

&#x20;

<figure><img src="/files/2b5IMXCaeFH6ZIrxNotB" alt=""><figcaption></figcaption></figure>

Pour un modèle d’édition en mode liste :

Lorsque votre modèle est conçu pour une liste de formulaires, il n’est pas nécessaire d’indiquer une formule.\
Dans ce cas, le graphique sera généré à partir de l’ensemble des enregistrements de la liste ou de la sélection effectuée.

Vous devrez insérer une syntaxe du type :

<% \*GRAPHE, Options= ...,DPI=...,Hauteur = ...,Largeur = ...,Type = ...,Titre = ...,Formulaire

\= ...,ColRegroupement = ...,ColCalcul = ...,TypeCalcul = ...+ %>

&#x20;

***Exemple** :*

*Modèle sur le formulaire Facture, modèle pour liste*

*Remarque : pas besoin de formule*

***Modèle** :*

<figure><img src="/files/mwwXJ1NcQg35pxPkOCLb" alt=""><figcaption></figcaption></figure>

***Résultat** :*&#x20;

<figure><img src="/files/yznKwyFYYebKt7wB51ng" alt=""><figcaption></figcaption></figure>

### Impression au format PDF (via OpenOffice.org)

***Pré requis*** : Pour réaliser des impressions au format PDF vous devez avoir OpenOffice.org installé sur votre machine locale.

### Lancer une commande dans l'invite de commande

Vous devez lancer la commande : « set userprofile=c:\ » puis la commande

**« \<OOoInstall>program/soffice.exe" -invisible-**

accept=socket,host=0,port=\<NumeroPort>,tcpNoDelay=1;urp,Negotiate=0,ForceSynchronous=0» Vous devez remplacer deux balises avec vos propres critères :\
\&#xNAN;**\<OOoInstall> = répertoire d'installation d'OpenOffice sur votre machine (exemple : C:\Program Files\OpenOffice.org 3\\)**

**\<NumeroPort> = numéro de port que vous souhaitez utiliser. SIMAX devra écouter sur le même port qu'OpenOffice.**

***Exemple*** :

&#x20;

<figure><img src="/files/4gZlAs5zqmHbV6aIaTbR" alt=""><figcaption></figcaption></figure>

***Remarque*** :\
Suite à cette procédure, il se peut qu’OpenOffice se relance comme lors d’une première utilisation (fenêtre de bienvenue, configuration initiale, etc.).\
Dans ce cas, cliquez simplement sur « Suivant » jusqu’à atteindre l’étape « Terminer ».

### &#x20;Configurer OpenOffice.org (optionnel)

Configuration d’OpenOffice au démarrage

Pour qu’OpenOffice se lance automatiquement avec la configuration souhaitée, suivez les instructions disponibles à l’adresse suivante :\
<http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Starting_OpenOffice.org_in_Listening_Mode>

Cela vous permettra d’éviter d’avoir à le démarrer manuellement via l’invite de commande à chaque utilisation.

### &#x20;Modifier le fichier de configuration

Dans la section \*CLIENT+ du fichier de configuration, vous avez la possibilité d’ajouter deux paramètres :

· **PDFFORMATSERVER\_PORT** : permet de définir un port personnalisé pour le serveur (exemple : 8040).

· **PDFFORMATSERVER\_DIRECTORY** : permet de spécifier un répertoire de destination pour tous les fichiers PDF générés.

<figure><img src="/files/dbgH3DRL7B6T8A8sHoXC" alt=""><figcaption></figcaption></figure>

### Préparer un modèle d'édition pour une impression PDF

Dans SIMAX, créez un modèle d’édition en y associant un document modèle (de préférence au format .odt), puis sélectionnez comme format de sortie :\
« PDF via OpenOffice serveur ».

<figure><img src="/files/Dc0wI8jXuWai4mIdVogO" alt=""><figcaption></figcaption></figure>

Pour tester, il ne reste qu'à lancer une impression avec ce modèle. Au moment du clic sur le bouton

« Imprimer » SIMAX dialogue avec OpenOffice (de façon invisible pour l'utilisateur) et génère un document en PDF dans le dossier précisé dans le fichier info.SIMAX.<br>

<figure><img src="/files/PJ9sYPdvo3VvyfLSAN41" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.simax.fr/parametrage/editer-imprimer/modeles-dedition-avancees/impression-des-graphes-dans-les-modeles-dedition.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
