ONYX - 9.0 - Utilisation - Fonctionnement des groupes/en

Différence entre versions

De MappingDoc
(Page créée avec « This documentation describes how groups of the Designer module work. Understanding these processes is necessary to then understand the documentation on creating dynamic ta... »)
 
(106 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 7 : Ligne 7 :
 
=General information=
 
=General information=
  
==Qu'est ce qu'un groupe==
+
==Definition of a group==
Un groupe dans Designer est un bloc '''traitant''' de façon séquentielle plusieurs lignes.  
+
In Designer, a group is a block which '''processes''' several lines in a sequential way.  
  
Il existe 2 types de données en entrée de Designer :
+
There are 2 types of input data in Designer:
  
#Texte paginé
+
#Paginated text
#:En mode texte paginé, celui-ci '''traitera''' le contenu du texte paginé d'un numéro de ligne jusqu'à un autre numéro de ligne. (ou d'une ligne respectant telle condition jusqu'à la prochaine ligne respectant une autre condition).
+
#:In paginated text mode, a group '''processes''' the content of a paginated text from one line number to another. (or from one line respecting a specific condition to the next one respecting said condition).
 
#XML
 
#XML
#:En mode XML, ce groupe '''traitera''' toutes les lignes (ligne de type '''<line name="XX"></line>''')qui lui appartiendra.
+
#:In XML mode, the group '''processes''' all the lines (line type '''<line name="XX"></line>''') which will belong to it.
  
  
<u>Remarque</u> : Le verbe '''traiter''' est bien utilisé et non le verbe afficher ou imprimer. Car le groupe va parser toutes les lignes qui lui appartient, et pour chacune d'elle et de façon séquentielle, va chercher sa condition de ligne (ou type de ligne) et va exécuter tous les objets appartenant à cette condition. Si tel est le cas, ces objets seront exécutés afin de s'afficher. (Ligne, zone de texte, zone affichant des données du fichier d'entrée, etc)<br><br>
+
<u>note</u>: '''To process''' is the verb used, to display or to print are incorrect because the group parses all the lines which will belong to it. For each of them and in a sequential way, it searches for their line condition (or line type) and executes all the objects linked to that condition. If it is the case, all the objects are executed so that they can be displayed. (Line, text zone, zone displaying input file data, etc)<br><br>
  
Si le groupe est paramétré en tant que Condition exclusive, alors la première condition trouvée va exécuter ses objets et les autres conditions ne le seront pas.<br>
+
If the group is configured as exclusive condition, then the first condition found executes the objects while other conditions will not be executed.<br>
  
Par contre le cas échéant, si le groupe est paramétré en tant que Condition non exclusive, alors toutes les conditions qui s'appliquent seront exécutées avec évidement tous leurs objets associés.
+
Otherwise, if the group is configured as non exclusive condition, then all conditions applied are executed with their associated objects.
  
==Vocabulaire==
+
==Vocabulary==
  
'''Baseline'''         : Ligne servant de référence pour le positionnement des objets du groupe.<br>
+
'''Baseline''': Line which acts as reference to position the objects of the group.<br>
<u>remarque</u> : Cette ligne de référence se déplace vers le bas à chaque exécution d'une nouvelle ligne, dans l'ordre suivant :
+
<u>note</u>: This reference line moves towards the bottom each time a new line is executed, it follows this order:
  
#Déplacement de "espacement avant"
+
#"Space before" shift
#Traitement de chaque objet de la ligne
+
#Each object of the line is processed
#Déplacement de "espacement après"<br><br>
+
#"Space after" shift<br><br>
  
'''Espacement avant''' : Espace alloué à la ligne écrite au dessus de la baseline<br><br>
+
'''Space before''': Space dedicated to the line written above the baseline<br><br>
'''Espacement après''' : Espace alloué à la ligne écrite au dessous de la baseline<br><br>
+
'''Space after''': Space dedicated to the line written below the baseline<br><br>
'''Espace de travail''' : Espace alloué à la ligne entière : Soit Espacement avant + Espacement après<br>
+
'''Work space''': Space dedicated to the entire line: i.e space Before + space After <br>
  
==Contenu d'un groupe==
+
==Content of a group==
===En mode texte paginé===
+
===In paginated text mode===
Voici l'exemple d'une contenu d'un groupe. Le groupe traitera le contenu de la page de la ligne 1 à la ligne 10.
+
Here is an example of the content of a group. The group processes the content of the page from line 1 to line 10.
  
 
[[Fichier:OX D GRP 1.jpg|néant|vignette|521x521px]]
 
[[Fichier:OX D GRP 1.jpg|néant|vignette|521x521px]]
  
Pour revenir aux conditions de ligne ou types de ligne, on peut vouloir traiter la ligne première ligne MAPPING SUITE différement. A ce moment là, on créerait un type de ligne qui serait vrai uniquement sur cette première ligne. (Par exemple : Si il y a le mot MAPPING SUITE sur ma ligne ou alors simplement en utilisant l'opérateur "première ligne")
+
Concerning line conditions or line types, if you wish to process the first line "MAPPING SUITE" differently, then create a line type which only applies to the first line. (For example: there is the term "MAPPING SUITE" on the line or use the "first line" operator)
  
===En mode XML===
+
===In XML mode===
  
Voici l'exemple d'un groupe en XML.
+
Here is an example of an XML group.
  
  <group name="MonGroupe">
+
  <group name="MyGroup">
  <line name="MaLigne1">
+
  <line name="MyLine1">
  <field name="MonChamp">MAPPING SUITE</field>
+
  <field name="MyField">MAPPING SUITE</field>
 
  </line>
 
  </line>
  <line name="MaLigne2">
+
  <line name="MyLine2">
  <field name="MonChamp">SAS au capital de 1 000 000 €uros</field>
+
  <field name="MyField">SAS (simplified joint-stock company) with a capital of 1 000 000 </field>
 
  </line>
 
  </line>
  <line name="MaLigne3">
+
  <line name="MyLine3">
  <field name="MonChamp">18 Allée du Chateau blanc</field>
+
  <field name="MyField">18 Allée du Chateau blanc</field>
 
  </line>
 
  </line>
  <line name="MaLigne4">
+
  <line name="MyLige4">
  <field name="MonChamp">59290 WASQUEHAL</field>
+
  <field name="MyField">59290 WASQUEHAL, FRANCE</field>
 
  </line>
 
  </line>
 
  </group>
 
  </group>
  
Dans ce cas là, si on souhaite traiter la ligne MAPPING SUITE de façon différente, il faudra créer une condition de ligne "Si le nom de ma ligne est MaLigne1"
+
In this case, if you want to process the "MAPPING SUITE" line differently, create a line condition "If the name of the line is MyLine1"
  
=Fonctionnement d'un groupe=
+
=Group mechanisms=
==Généralités==
+
==General information==
Comme nous l'avons vu précédemment, les lignes d'un groupe sont séquentiellement balayées et les objets qui y sont associés sont exécutés.
+
As seen previously, the lines of a group are parsed sequentially and their associated objects are executed.
De ce fait, le résultat de l'exécution d'un groupe est généralement une suite de lignes. (avec pour contenu leurs objets associés : Ligne, texte, rectangle par exemple)
+
Once a group has been executed, the result is usually a series of lines. (with their associated objects as content: Line, text, rectangle for example)
  
L'espacement entre les différentes lignes du groupe est primordial. Si cet espacement est égal à 0, alors toutes les lignes du groupe seront superposées les unes sur les autres.
+
There needs to be spacing between the lines of the group. If this spacing is higher than 0, than all the lines of the group are overlaid on each over.
  
Cet espacement est paramétrable et est porté non pas par l'objet mais sur le type de ligne (condition) associé à cette objet.  
+
This spacing can be configured and is related to the line type (condition) associated with this object.  
  
Nous parlons alors d''''espacement avant''' et '''espacement après'''.
+
Which is why we talk about '''Space before''' and '''Space after'''.
  
==Schéma explicatif==
+
==Detailed diagram==
 
<br />
 
<br />
  
Le schéma ci-dessous explique la notion de baseline, lignes et espace de travail.
+
The diagram below illustrates the concept of baseline, lines and workspace.
  
 
[[Fichier:OX D GRP 22.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX D GRP 22.jpg|alt=|néant|vignette|1099x1099px]]
 
<br />
 
<br />
  
Nous pouvons bien voir que l'espace entre deux nouvelles lignes du groupe est bien : Espacement avant + Espacement après (qui correspond à un espace de travail)
+
The spacing between two new lines of the group is defined by: Space before + Space after (which corresponds to the workspace).
  
==Positionnement des différents objets par rapport à la baseline==
+
==Position of the different objects in comparison to the baseline==
  
Le positionnement des différents objets par rapport à la baseline n'est pas toujours le même. <br>
+
The different objects are not always positioned in the same place in comparison to the baseline. <br>
Afin de bien maîtriser la conception des maquettes Designer, il est très important de bien les comprendre. Cela s'avèrera très utile entres autres lors de la création de tableaux dynamiques.
+
It is important to understand it to fully master template designing. This concept is useful to understand when creating dynamic tables.
  
===Zone bleue Designer===
+
===Designer blue zone===
 
[[Fichier:OX_D_GRP_6.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_6.jpg|alt=|néant|vignette|1099x1099px]]
  
Le texte se positionne sur la ligne basse de la zone
+
Text is positioned on the baseline of the zone.
  
===Ligne horizontale===
+
===Horizontal line===
 
[[Fichier:OX_D_GRP_3.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_3.jpg|alt=|néant|vignette|1099x1099px]]
  
La ligne horizontale se positionne sur la baseline.
+
The horizontal line is positioned on top of the baseline.
  
===Ligne verticale===
+
===Verticale line===
 
[[Fichier:OX_D_GRP_4.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_4.jpg|alt=|néant|vignette|1099x1099px]]
  
Le haut de la ligne verticale se positionne sous la baseline.
+
The top of the vertical line is positioned underneath the baseline.
  
 
===Rectangle===
 
===Rectangle===
Ligne 111 : Ligne 111 :
 
[[Fichier:OX_D_GRP_5.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_5.jpg|alt=|néant|vignette|1099x1099px]]
  
Le rectangle se positionne sur la baseline.
+
The rectangle is positioned on the baseline.
  
 
===Image===
 
===Image===
 
[[Fichier:OX_D_GRP_7.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_7.jpg|alt=|néant|vignette|1099x1099px]]
  
L'image se positionne sous la baseline (par conséquent sous la zone bleue).
+
The image is positioned underneath the baseline (i.e underneath the blue zone).
  
===Code-barres 1D===
+
===1D Barcodes===
 
[[Fichier:OX_D_GRP_8.jpg|alt=|néant|vignette|1099x1099px]]
 
[[Fichier:OX_D_GRP_8.jpg|alt=|néant|vignette|1099x1099px]]
  
Le code-barres 1D se positionne sur la baseline (il réagit de la même façon que le texte).
+
1D barcodes are positioned on top of the baseline (they act in the same way text does).
  
==Traitement des lignes==
+
==Line processing==
  
Dans la liste des objets de Designer nous retrouvons la liste de tous les objets de la maquette (Onglet MAP ou DRAW).
+
The list of all the objects in the template is found among the list of Designer objects (MAP or DRAW tab).
L'ordre d’exécution des groupes et types de lignes (conditions) dans les groupes est donné par cette liste. Les types de lignes (conditions) les plus bas dans le groupe sont exécutés après les types de lignes (conditions) les plus haut.
+
Groups and line types (conditions) are executed following the order laid out by this list. The line types (conditions) which are the lowest in the group are executed after the line types (conditions) which are the highest.
Dans notre exemple ci-dessous, le type de ligne (condition) '''RED''' sera vérifié avant le type de ligne '''NOT_BLANK'''
+
In the following example, the line type (condition) '''RED''' is checked before the line type '''NOT_BLANK'''
  
<u>Remarque</u> :
+
<u>Note</u>:
  
Les objets hors groupes sont exécutés dans l'ordre suivant :
+
Objects outside groups are executed in the following order:
#Zone (hors groupe)
+
#Zone (outside of groups)
#Groupes
+
#Groups
#Zones de texte
+
#Text zones
#Graphiques
+
#Graphs
  
Prenons pour exemple la liste des objets suivants :
+
If we consider the following list of objects:
  
 
[[Fichier:OX D GRP 9.jpg|néant|vignette|521x521px]]
 
[[Fichier:OX D GRP 9.jpg|néant|vignette|521x521px]]
  
Nous pouvons voir dans cet exemple que nous avons 4 zones qui sont hors groupe (FAC#, DATEFAC, PAGE# et COM#).
+
There are 4 zones which are outside of a group (FAC#, DATEFAC, PAGE# and COM#).
Nous avons également un groupe (Ma) ayant 2 conditions (RED et NOT_BLANK) chacune avec un un objet (une zone affichant le contenu de la ligne).
+
There is also a group (Ma) which has 2 conditions (RED and NOT_BLANK) each with an associated object (a zone which displays the content of the line).
Dans cette documentation, nous allons nous focaliser sur ce groupe (Ma)
+
For the purpose of this documentation, we will focus on this group (Ma)
  
Le groupe traitera les lignes de la façon suivante :
+
The group processes the lines as such:
#<span style="color:green">Le groupe analyse la ligne en cours en vérifiant si celle-ci répond aux conditions du premier type de ligne. (Condition RED)
+
#<span style="color:green">The group parses the current line as it checks if it corresponds to the conditions of the first line type. (Condition RED)
#: OUI --> '''Passage au point 2'''
+
#: YES --> '''Checks point 2'''
#: NON --> Le groupe vérifie si son prochain type de ligne (condition) répond à cette ligne (Type de ligne NOT_BLANK)
+
#: NO --> The group checks if the next line corresponds to the line type (condition) (Line type NOT_BLANK)
#:: OUI --> '''Passage au point 2'''
+
#:: YES --> '''Checks point 2'''
#::NON --> Le groupe vérifie si son prochain type de ligne (condition) répond à cette ligne etc </span>
+
#::NO --> The group checks if the next line corresponds to the line type (condition) etc </span>
#::: Si plus de type de ligne (condition) personnalisé présente, alors le type de ligne AUCUNE est exécuté (Type de ligne toujours présente et vrai). Passage au point 2
+
#::: If there are more types of lines (condition) which are customised, then the NONE line type is executed (Line type which is always present and true). Checks point 2
#<span style="color:green">Vérification de la présence d'un objet dans ce type de ligne (condition)
+
#<span style="color:green">Checks the presences of an object in the line type (condition)
#: OUI --> Passage au point 3
+
#: YES --> Checks point 3
#: NON --> '''Passage au point 6'''</span>
+
#: NO --> '''Checks point 6'''</span>
#<span style="color:green">Déplacement du curseur vers le bas de ESPACEMENT AVANT du type de ligne (condition) trouvé</span>
+
#<span style="color:green">The cursor is moved to the bottom of the SPACE BEFORE of the line type (condition) found</span>
#<span style="color:green">Le groupe exécute tous les objets se trouvant sous elle (Dans notre exemple, ADRMAPROUG pour la condition RED OU ADRMAPPING pour la condition NOT_BLANK) ou aucun objet pour le type de ligne AUCUNE</span>
+
#<span style="color:green">The group either executes all the objects positioned underneath it (In this example, ADRMAPROUG for the RED condition OR ADRMAPPING for the NOT_BLANK condition) or no objects for the line type NONE</span>
#<span style="color:green">Déplacement du curseur de ESPACEMENT APRES de ce type de ligne (condition).</span>
+
#<span style="color:green">The cursor is moved to the SPACE AFTER of this line type (condition).</span>
#<span style="color:green">Le groupe passe à la prochaine ligne afin de la traiter. '''Passage au point 1'''</span>
+
#<span style="color:green">The group switches to the next line so as to process it. '''Checks point 1'''</span>
  
<u>Remarque</u> : Ce traitement se répète pour toutes les lignes du groupe.
+
<u>Note</u>: This process is repeated for each line of the group.
  
<u>Le groupe peut être de deux types</u> :
+
<u>There are two types of groups</u>:
#'''Condition Exclusives''' : Dans le traitement décrit ci-dessous, le premier type de ligne (condition) qui est vrai sera exécutée. Designer ne vérifiera pas les autres les types de ligne (conditions). (Du coup l'ordre des conditions dans la liste des objets est très important. (Dans notre cas le tye de ligne RED sera vérifié avant NOT_BLANK)
+
#'''Exclusive Condition''': In the process described below, the first line type (condition) which is true, is executed. Designer does not check the other line types (conditions). (Therefore, the order of the conditions in the object list is very important. In this example, the line type RED is checked before NOT_BLANK)
#'''Condition non Exclusives''' : Dans les groupes à conditions non Exclusives, Designer vérifiera tous les types de ligne du groupe et exécutera tous ce qui sont vrai. (Type de ligne AUCUNE inclus)
+
#'''Non Exclusive Condition''': In non exclusive condition groups, Designer checks all line types in the group and executes them if they are true. (including the NONE line type)
  
<u>Remarque</u> : Il est possible de changer l'ordre d'exécution des types de ligne. Pour ce faire, il faut sélectionner le type de ligne à modifier et le monter ou descendre avec '''les flèches du haut ou du bas''' présentent dans la fenêtre de la liste des objets.
+
<u>Note</u>: The order in which the line types are executed can be changed. To do so, select the line type to change and move it higher or lower in the objects list using the '''up and down arrows''' in the window.
  
=Exemples=
+
=Examples=
==Affichage simple de plusieurs lignes==
+
==Simple multi-line display==
La combinaison d'un groupe et d'une zone à l'intérieur de ce groupe permet l'affichage de plusieurs lignes
+
Adding a group and a zone inside this group allows you to display several lines
  
<u>Paramétrage du groupe</u> : Condition exclusive, Espacement avant du type de ligne AUCUNE : 0.60cm, Espacement après du type de ligne AUCUNE : 0cm
+
<u>Configuration of the group</u>: Exclusive condition, space before of the line type NONE: 0.60cm, space after of the line type NONE: 0cm
  
 
[[Fichier:OX D GRP 10.jpg|néant|vignette|950x800px]]
 
[[Fichier:OX D GRP 10.jpg|néant|vignette|950x800px]]
  
En suivant la procédure de traitement expliquée précédemment, la zone ADRMAPPING ayant pour type de ligne AUCUNE (NONE) va être exécuté sur toute les ligne du groupe. L'espacement avant du type de ligne aucune étant de 0.60cm, le groupe va alors :
+
Following the process described previously, the ADRMAPPING zone which has the line type NONE is executed on all the lines of the group. Because the Space before of the line type none is 0.60cm, the group then:
# Vérification pour la ligne en cours que le type de ligne (condition) AUCUNE  corresponde bien --> OUI
+
# Checks for the current line that the line type (condition) NONE corresponds --> YES
# Vérification qu'il y ait bien un objet dans le type de ligne (condition) AUCUNE --> OUI il y a ADRMAPPING
+
# Checks that there is an object in the line type (condition) NONE --> YES there is ADRMAPPING
#Descendre le curseur de 0.60cm (espacement avant du type de ligne AUCUNE)
+
#Move the cursor 0.60cm down (Space before of the line type NONE)
#Exécuter les objets appartenant au type de ligne AUCUNE (la zone ADRMAPPING imprimant le contenu du flux d'entrée)
+
#Executes objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
#Descendre le curseur de 0cm (espacement après)
+
#Move the cursor 0cm down (space after)
  
Et répéter ce traitement pour toutes les autres lignes du groupe.
+
Repeat this process for all the other lines in the group.
  
==Suppression des lignes blanches==
+
==Deleting white lines==
  
  
La combinaison d'un groupe et d'une zone à l'intérieur de ce groupe permet l'affichage de plusieurs lignes. Si cette zone appartient à un type de ligne excluant les lignes à contenu vide, alors cette combinaison ne n'imprimera uniquement les lignes pas vide. Le résultat sera une impression sans ligne blanche.
+
Combining a group and a zone inside of this group allows you to display several lines. If this zone does not belong to a line type which rejects empty content lines then this combination only prints filled lines. The result will be a print out without white lines.
  
<u>Paramétrage du groupe</u> :  
+
<u>Configuring a group</u> :  
- Condition exclusive
+
- Exclusive condition
- Espacement avant du type de ligne AUCUNE : 0.60cm
+
- Space before of the line type NONE: 0.60cm
- Espacement après du type de ligne AUCUNE : 0cm
+
- Space after of the line type NONE: 0cm
- Espacement avant du type de ligne NOT_BLANK : 0.60cm
+
- Space before of the line type NOT_BLANK : 0.60cm
- Espacement après du type de ligne AUCUNE : 0cm
+
- Space after of the line type NONE: 0cm
  
<u>Paramétrage du type de ligne NOT_BLANK</u> :  
+
<u>Configuring a NOT_BLANK line type</u>:  
  
NOT (Il y a sur la ligne en cours de la colonne 6 à la colonne 12 la valeur "      ")
+
NOT (there is the value "      " on the current line between column 6 and 12)
  
 
[[Fichier:OX D GRP 11.jpg|néant|vignette|1200x1000px]]
 
[[Fichier:OX D GRP 11.jpg|néant|vignette|1200x1000px]]
  
En suivant la procédure de traitement expliquée précédemment, la zone ADRMAPPING ayant pour type de ligne NOT_BLANK va être exécuté sur les lignes n'ayant pas de ligne vide. L'espacement avant du type de ligne aucune étant de 0.60cm, le groupe va alors :
+
Following the process described previously, the ADRMAPPING zone which has the line type NOT_BLANK is executed on the lines which do not have empty lines. Because the space before of the line type none is 0.60cm, the group then:
# Traitement de la ligne en cours (cas d'une ligne <u>non vide</u>) :  
+
# Processes the current line (if the line is <u>not empty</u>):  
#: Vérification pour la ligne en cours que le type de ligne (condition) NOT_BLANK corresponde bien --> OUI
+
#: Checks for the current line that the line type (condition) NOT_BLANK corresponds --> YES
#: Vérification qu'il y ait bien un objet dans le type de ligne (condition) NOT_BLANK --> OUI il y a ADRMAPPING
+
#: Checks that there is an object associated to the line type (condition) NOT_BLANK --> YES there is ADRMAPPING
#: Descendre le curseur de 0.60cm (espacement avant du type de ligne NOT_BLANK)
+
#: Move the cursor 0.60cm down (space before of the line type NOT_BLANK)
#: Exécuter les objets appartenant au type de ligne NOT_BLANK (la zone ADRMAPPING imprimant le contenu du flux d'entrée)
+
#: Executes the objects associated with the line type NOT_BLANK (the ADRMAPPING zone prints the content of the input datastream)
#: Descendre le curseur de 0cm (espacement après du type de ligne NOT_BLANK)
+
#: Move the cursor 0cm down (space after of the line type NOT_BLANK)
#Traitement de la ligne en cours (cas d'une ligne <u>vide</u>) :
+
#Processes the current line (if the line is <u>empty</u>) :
#: Vérification pour la ligne en cours que le type de ligne (condition) NOT_BLANK corresponde bien --> NON
+
#: Checks for the current line that the line type (condition) NOT_BLANK corresponds --> NO
#: Vérification pour la ligne en cours que le type de ligne (condition) AUCUNE corresponde bien --> OUI
+
#: Checks for the current line that the line type (condition) NONE corresponds --> YES
#: Vérification qu'il y ait bien un objet dans le type de ligne (condition) AUCUNE --> NONE (il n'y a pas d'objet)
+
#: Checks that there is an object associated with the line type (condition) NONE --> NONE (there is not any object)
# Traitement de la prochaine ligne du groupe : Ligne 3, '''passage au point 1'''
+
# Processes the next line of the group: Line 3, '''Checks point 1'''
  
(Et répéter ce traitement pour toutes les autres lignes du groupe)
+
(This process is repeated for all the other lines of the group)
  
==Formatage particulier sur la première ligne==
+
==Applying special formatting on the first line==
  
La combinaison d'un groupe et de deux zones à l'intérieur de ce groupe permet un affichage particulier pour la première ligne du groupe et un autre pour les autres lignes.  
+
Combining a group and two zones inside this group allows you to have a special display on the first line of the group and another one for the other lines.  
  
Dans cet exemple, nous allons créer un type de ligne vrai pour la première ligne du groupe (contenu : Mapping entre les colonnes 6 et 12) et laisser le type de ligne AUCUNE afficher le reste du groupe.
+
In this example, a line type is created as true for the first line of the group (content: Mapping between the columns 6 and 12) and the line type NONE is displayed for the rest of the group.
  
  
<u>Paramétrage du groupe</u> :  
+
<u>Configuring the group</u>:  
- Condition exclusive
+
- Exclusive condition
- Espacement avant du type de ligne AUCUNE : 0.60cm
+
- Space before of the line type NONE: 0.60cm
- Espacement après du type de ligne AUCUNE : 0cm
+
- Space after of the line type NONE: 0cm
- Espacement avant du type de ligne FIRSTLINE : 0.60cm
+
- Space before of the line type FIRSTLINE: 0.60cm
- Espacement après du type de ligne FIRSTLINE : 0cm
+
- Space after of the line type FIRSTLINE: 0cm
  
<u>Paramétrage du type de ligne FIRSTLINE</u> :  
+
<u>Configuring the line type FIRSTLINE</u>:  
  
Il y a sur la ligne en cours de la colonne 6 à la colonne 12 la valeur "Mapping")
+
(There is the value "Mapping" on the current line between column 6 and 12)
  
 
[[Fichier:OX D GRP 12.jpg|néant|vignette|1200x1000px]]
 
[[Fichier:OX D GRP 12.jpg|néant|vignette|1200x1000px]]
  
En suivant la procédure de traitement expliquée précédemment, la zone ADRMAPPING ayant pour type de ligne FIRSTLINE va être exécuté sur les lignes  ayant '''Mapping''' pour valeur entre leurs colonnes 6 et 12.  
+
Following the process described previously, the ADRMAPPING zone which has the line type FIRSTLINE is executed on lines which have '''Mapping''' entered as value between the columns 6 and 12.  
L'espacement avant du type de ligne aucune étant de 0.60cm, le groupe va alors :
+
Because the space before of the line type none is 0.60cm, the group then:
  
# Traitement de la ligne en cours (cas d'une ligne <u>Mapping</u>) :  
+
# Processes the current line (if the line includes the term <u>Mapping</u>):  
#: Vérification pour la ligne en cours que le type de ligne (condition) FIRSTLINE corresponde bien --> OUI
+
#: Checks for the current line that the line type (condition) FIRSTLINE corresponds --> YES
#: Vérification qu'il y ait bien un objet dans le type de ligne (condition) FIRSTLINE --> OUI il y a ADRMAPROUG
+
#: Checks that there is an object associated with the line type (condition) FIRSTLINE --> YES there is ADRMAPROUG
#: Descendre le curseur de 0.60cm (espacement avant du type de ligne FIRSTLINE)
+
#: Moves the cursor 0.60cm down (space before of the line type FIRSTLINE)
#: Exécuter les objets appartenant au type de ligne FIRSTLINE (la zone ADRMAPROUG imprimant le contenu du flux d'entrée)
+
#: Executes the objects associated with the line type FIRSTLINE (the ADRMAPROUG zone prints the content of the input datastream)
#: Descendre le curseur de 0cm (espacement après du type de ligne NOT_BLANK)
+
#: Moves the cursor 0cm down (space after of the line type NOT_BLANK)
#Traitement de la ligne en cours (cas d'une ligne <u>autre que Mapping</u>) :
+
#Processes the current line (if the line does <u>not</u> include the term <u>Mapping</u>):
#: Vérification pour la ligne en cours que le type de ligne (condition) FIRSTLINE corresponde bien --> NON
+
#: Check for the current line that the line type (condition) FIRSTLINE corresponds --> NO
#: Vérification pour la ligne en cours que le type de ligne (condition) AUCUNE corresponde bien --> OUI
+
#: Check for the current line that the line type (condition) NONE corresponds --> YES
#: Vérification qu'il y ait bien un objet dans le type de ligne (condition) AUCUNE --> OUI il y a ADRMAPPING
+
#: Checks that there is an object associated with the line type (condition) NONE --> YES there is ADRMAPPING
#: Exécuter les objets appartenant au type de ligne AUCUNE (la zone ADRMAPPING imprimant le contenu du flux d'entrée)
+
#: Execute the objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
#: Descendre le curseur de 0cm (espacement après du type de ligne AUCUNE)
+
#: Moves the cursor 0cm down (space after of the line type NONE)
# Traitement de la prochaine ligne du groupe : Ligne 3, '''passage au point 2'''
+
# Processes the next line of the group: Line 3, '''checks point 2'''
  
(Et répéter ce traitement pour toutes les autres lignes du groupe)
+
(This process is repeated for all the other lines of the group)
  
==Donner plus de place à la première ligne==
+
==Allowing more space for the first line==
A COMPLETER
+
FORTHCOMING
  
==Création d'un tableau dynamique simple==
+
==Creating a simple dynamic table==
A COMPLETER
+
FORTHCOMING

Version actuelle datée du 31 juillet 2019 à 09:47

Autres langues :
English • ‎français

Introduction

This documentation describes how groups of the Designer module work. Understanding these processes is necessary to then understand the documentation on creating dynamic tables on Designer Onyx 9.x or Opale 10.x.

General information

Definition of a group

In Designer, a group is a block which processes several lines in a sequential way.

There are 2 types of input data in Designer:

  1. Paginated text
    In paginated text mode, a group processes the content of a paginated text from one line number to another. (or from one line respecting a specific condition to the next one respecting said condition).
  2. XML
    In XML mode, the group processes all the lines (line type <line name="XX"></line>) which will belong to it.


note: To process is the verb used, to display or to print are incorrect because the group parses all the lines which will belong to it. For each of them and in a sequential way, it searches for their line condition (or line type) and executes all the objects linked to that condition. If it is the case, all the objects are executed so that they can be displayed. (Line, text zone, zone displaying input file data, etc)

If the group is configured as exclusive condition, then the first condition found executes the objects while other conditions will not be executed.

Otherwise, if the group is configured as non exclusive condition, then all conditions applied are executed with their associated objects.

Vocabulary

Baseline: Line which acts as reference to position the objects of the group.
note: This reference line moves towards the bottom each time a new line is executed, it follows this order:

  1. "Space before" shift
  2. Each object of the line is processed
  3. "Space after" shift

Space before: Space dedicated to the line written above the baseline

Space after: Space dedicated to the line written below the baseline

Work space: Space dedicated to the entire line: i.e space Before + space After

Content of a group

In paginated text mode

Here is an example of the content of a group. The group processes the content of the page from line 1 to line 10.

OX D GRP 1.jpg

Concerning line conditions or line types, if you wish to process the first line "MAPPING SUITE" differently, then create a line type which only applies to the first line. (For example: there is the term "MAPPING SUITE" on the line or use the "first line" operator)

In XML mode

Here is an example of an XML group.

<group name="MyGroup">
<line name="MyLine1">
<field name="MyField">MAPPING SUITE</field>
</line>
<line name="MyLine2">
<field name="MyField">SAS (simplified joint-stock company) with a capital of 1 000 000 €</field>
</line>
<line name="MyLine3">
<field name="MyField">18 Allée du Chateau blanc</field>
</line>
<line name="MyLige4">
<field name="MyField">59290 WASQUEHAL, FRANCE</field>
</line>
</group>

In this case, if you want to process the "MAPPING SUITE" line differently, create a line condition "If the name of the line is MyLine1"

Group mechanisms

General information

As seen previously, the lines of a group are parsed sequentially and their associated objects are executed. Once a group has been executed, the result is usually a series of lines. (with their associated objects as content: Line, text, rectangle for example)

There needs to be spacing between the lines of the group. If this spacing is higher than 0, than all the lines of the group are overlaid on each over.

This spacing can be configured and is related to the line type (condition) associated with this object.

Which is why we talk about Space before and Space after.

Detailed diagram


The diagram below illustrates the concept of baseline, lines and workspace.


The spacing between two new lines of the group is defined by: Space before + Space after (which corresponds to the workspace).

Position of the different objects in comparison to the baseline

The different objects are not always positioned in the same place in comparison to the baseline.
It is important to understand it to fully master template designing. This concept is useful to understand when creating dynamic tables.

Designer blue zone

Text is positioned on the baseline of the zone.

Horizontal line

The horizontal line is positioned on top of the baseline.

Verticale line

The top of the vertical line is positioned underneath the baseline.

Rectangle

The rectangle is positioned on the baseline.

Image

The image is positioned underneath the baseline (i.e underneath the blue zone).

1D Barcodes

1D barcodes are positioned on top of the baseline (they act in the same way text does).

Line processing

The list of all the objects in the template is found among the list of Designer objects (MAP or DRAW tab). Groups and line types (conditions) are executed following the order laid out by this list. The line types (conditions) which are the lowest in the group are executed after the line types (conditions) which are the highest. In the following example, the line type (condition) RED is checked before the line type NOT_BLANK

Note:

Objects outside groups are executed in the following order:

  1. Zone (outside of groups)
  2. Groups
  3. Text zones
  4. Graphs

If we consider the following list of objects:

OX D GRP 9.jpg

There are 4 zones which are outside of a group (FAC#, DATEFAC, PAGE# and COM#). There is also a group (Ma) which has 2 conditions (RED and NOT_BLANK) each with an associated object (a zone which displays the content of the line). For the purpose of this documentation, we will focus on this group (Ma)

The group processes the lines as such:

  1. The group parses the current line as it checks if it corresponds to the conditions of the first line type. (Condition RED)
    YES --> Checks point 2
    NO --> The group checks if the next line corresponds to the line type (condition) (Line type NOT_BLANK)
    YES --> Checks point 2
    NO --> The group checks if the next line corresponds to the line type (condition) etc
    If there are more types of lines (condition) which are customised, then the NONE line type is executed (Line type which is always present and true). Checks point 2
  2. Checks the presences of an object in the line type (condition)
    YES --> Checks point 3
    NO --> Checks point 6
  3. The cursor is moved to the bottom of the SPACE BEFORE of the line type (condition) found
  4. The group either executes all the objects positioned underneath it (In this example, ADRMAPROUG for the RED condition OR ADRMAPPING for the NOT_BLANK condition) or no objects for the line type NONE
  5. The cursor is moved to the SPACE AFTER of this line type (condition).
  6. The group switches to the next line so as to process it. Checks point 1

Note: This process is repeated for each line of the group.

There are two types of groups:

  1. Exclusive Condition: In the process described below, the first line type (condition) which is true, is executed. Designer does not check the other line types (conditions). (Therefore, the order of the conditions in the object list is very important. In this example, the line type RED is checked before NOT_BLANK)
  2. Non Exclusive Condition: In non exclusive condition groups, Designer checks all line types in the group and executes them if they are true. (including the NONE line type)

Note: The order in which the line types are executed can be changed. To do so, select the line type to change and move it higher or lower in the objects list using the up and down arrows in the window.

Examples

Simple multi-line display

Adding a group and a zone inside this group allows you to display several lines

Configuration of the group: Exclusive condition, space before of the line type NONE: 0.60cm, space after of the line type NONE: 0cm

OX D GRP 10.jpg

Following the process described previously, the ADRMAPPING zone which has the line type NONE is executed on all the lines of the group. Because the Space before of the line type none is 0.60cm, the group then:

  1. Checks for the current line that the line type (condition) NONE corresponds --> YES
  2. Checks that there is an object in the line type (condition) NONE --> YES there is ADRMAPPING
  3. Move the cursor 0.60cm down (Space before of the line type NONE)
  4. Executes objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
  5. Move the cursor 0cm down (space after)

Repeat this process for all the other lines in the group.

Deleting white lines

Combining a group and a zone inside of this group allows you to display several lines. If this zone does not belong to a line type which rejects empty content lines then this combination only prints filled lines. The result will be a print out without white lines.

Configuring a group : - Exclusive condition - Space before of the line type NONE: 0.60cm - Space after of the line type NONE: 0cm - Space before of the line type NOT_BLANK : 0.60cm - Space after of the line type NONE: 0cm

Configuring a NOT_BLANK line type:

NOT (there is the value " " on the current line between column 6 and 12)

OX D GRP 11.jpg

Following the process described previously, the ADRMAPPING zone which has the line type NOT_BLANK is executed on the lines which do not have empty lines. Because the space before of the line type none is 0.60cm, the group then:

  1. Processes the current line (if the line is not empty):
    Checks for the current line that the line type (condition) NOT_BLANK corresponds --> YES
    Checks that there is an object associated to the line type (condition) NOT_BLANK --> YES there is ADRMAPPING
    Move the cursor 0.60cm down (space before of the line type NOT_BLANK)
    Executes the objects associated with the line type NOT_BLANK (the ADRMAPPING zone prints the content of the input datastream)
    Move the cursor 0cm down (space after of the line type NOT_BLANK)
  2. Processes the current line (if the line is empty) :
    Checks for the current line that the line type (condition) NOT_BLANK corresponds --> NO
    Checks for the current line that the line type (condition) NONE corresponds --> YES
    Checks that there is an object associated with the line type (condition) NONE --> NONE (there is not any object)
  3. Processes the next line of the group: Line 3, Checks point 1

(This process is repeated for all the other lines of the group)

Applying special formatting on the first line

Combining a group and two zones inside this group allows you to have a special display on the first line of the group and another one for the other lines.

In this example, a line type is created as true for the first line of the group (content: Mapping between the columns 6 and 12) and the line type NONE is displayed for the rest of the group.


Configuring the group: - Exclusive condition - Space before of the line type NONE: 0.60cm - Space after of the line type NONE: 0cm - Space before of the line type FIRSTLINE: 0.60cm - Space after of the line type FIRSTLINE: 0cm

Configuring the line type FIRSTLINE:

(There is the value "Mapping" on the current line between column 6 and 12)

OX D GRP 12.jpg

Following the process described previously, the ADRMAPPING zone which has the line type FIRSTLINE is executed on lines which have Mapping entered as value between the columns 6 and 12. Because the space before of the line type none is 0.60cm, the group then:

  1. Processes the current line (if the line includes the term Mapping):
    Checks for the current line that the line type (condition) FIRSTLINE corresponds --> YES
    Checks that there is an object associated with the line type (condition) FIRSTLINE --> YES there is ADRMAPROUG
    Moves the cursor 0.60cm down (space before of the line type FIRSTLINE)
    Executes the objects associated with the line type FIRSTLINE (the ADRMAPROUG zone prints the content of the input datastream)
    Moves the cursor 0cm down (space after of the line type NOT_BLANK)
  2. Processes the current line (if the line does not include the term Mapping):
    Check for the current line that the line type (condition) FIRSTLINE corresponds --> NO
    Check for the current line that the line type (condition) NONE corresponds --> YES
    Checks that there is an object associated with the line type (condition) NONE --> YES there is ADRMAPPING
    Execute the objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
    Moves the cursor 0cm down (space after of the line type NONE)
  3. Processes the next line of the group: Line 3, checks point 2

(This process is repeated for all the other lines of the group)

Allowing more space for the first line

FORTHCOMING

Creating a simple dynamic table

FORTHCOMING