ONYX - 9.0 - Utilisation - Fonctionnement des groupes/en

Différence entre versions

De MappingDoc
(Page créée avec « (There is the value "Mapping" on the current line between column 6 and 12) »)
 
(30 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 15 : Ligne 15 :
 
#: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).
 
#: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
#:In XML mode, the group '''processes''' all the lines (line type '''<line name="XX"></line>''') which it will own.
+
#:In XML mode, the group '''processes''' all the lines (line type '''<line name="XX"></line>''') which will belong to it.
  
  
<u>note</u>: '''To process''' is the verb used, to display or to print are incorrect because the group parses all the lines it will own. 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>
+
<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>
  
 
If the group is configured as exclusive condition, then the first condition found executes the objects while other conditions will not be executed.<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>
Ligne 26 : Ligne 26 :
 
==Vocabulary==
 
==Vocabulary==
  
'''Baseline'''       : Line which acts as reference to position the objects of the group.<br>
+
'''Baseline''': Line which acts as reference to position the objects of the group.<br>
 
<u>note</u>: This reference line moves towards the bottom each time a new line is executed, it follows this order:
 
<u>note</u>: This reference line moves towards the bottom each time a new line is executed, it follows this order:
  
#"Front spacing" shift
+
#"Space before" shift
 
#Each object of the line is processed
 
#Each object of the line is processed
#"After spacing" shift<br><br>
+
#"Space after" shift<br><br>
  
'''Front spacing''': Space dedicated to the line written above the baseline<br><br>
+
'''Space before''': Space dedicated to the line written above the baseline<br><br>
'''After spacing''': Space dedicated to the line written below the baseline<br><br>
+
'''Space after''': Space dedicated to the line written below the baseline<br><br>
'''Work space''': Space dedicated to the entire line: i.e Front spacing + After spacing <br>
+
'''Work space''': Space dedicated to the entire line: i.e space Before + space After <br>
  
 
==Content of a group==
 
==Content of a group==
Ligne 60 : Ligne 60 :
 
  </line>
 
  </line>
 
  <line name="MyLige4">
 
  <line name="MyLige4">
  <field name="MyField">59290 WASQUEHAL</field>
+
  <field name="MyField">59290 WASQUEHAL, FRANCE</field>
 
  </line>
 
  </line>
 
  </group>
 
  </group>
Ligne 75 : Ligne 75 :
 
This spacing can be configured and is related to the line type (condition) associated with this object.  
 
This spacing can be configured and is related to the line type (condition) associated with this object.  
  
Which is why we talk about '''Front spacing''' and '''After spacing'''.
+
Which is why we talk about '''Space before''' and '''Space after'''.
  
 
==Detailed diagram==
 
==Detailed diagram==
Ligne 85 : Ligne 85 :
 
<br />
 
<br />
  
The spacing between two new lines of the group is defined by: Front spacing + After spacing (which corresponds with the 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==
 
==Position of the different objects in comparison to the baseline==
Ligne 155 : Ligne 155 :
 
#: YES --> Checks point 3
 
#: YES --> Checks point 3
 
#: NO --> '''Checks point 6'''</span>
 
#: NO --> '''Checks point 6'''</span>
#<span style="color:green">The cursor is moved to the bottom of the FRONT SPACING of the line type (condition) found</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">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">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">The cursor is moved to the AFTER SPACING of this line type (condition).</span>
+
#<span style="color:green">The cursor is moved to the SPACE AFTER of this line type (condition).</span>
 
#<span style="color:green">The group switches to the next line so as to process it. '''Checks point 1'''</span>
 
#<span style="color:green">The group switches to the next line so as to process it. '''Checks point 1'''</span>
  
Ligne 172 : Ligne 172 :
 
Adding a group and a zone inside this group allows you to display several lines
 
Adding a group and a zone inside this group allows you to display several lines
  
<u>Configuration of the group</u>: Exclusive condition, Front spacing of the line type NONE: 0.60cm, After spacing of the line type NONE: 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]]
  
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 Front spacing of the line type none is 0.60cm, the group then:
+
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:
 
# Checks for the current line that the line type (condition) NONE corresponds --> YES
 
# Checks for the current line that the line type (condition) NONE corresponds --> YES
 
# Checks that there is an object in the line type (condition) NONE --> YES there is ADRMAPPING
 
# Checks that there is an object in the line type (condition) NONE --> YES there is ADRMAPPING
#Move the cursor 0.60cm down (Front spacing of the line type NONE)
+
#Move the cursor 0.60cm down (Space before of the line type NONE)
 
#Executes objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
 
#Executes objects associated with the line type NONE (the ADRMAPPING zone prints the content of the input datastream)
#Move the cursor 0cm down (after spacing)
+
#Move the cursor 0cm down (space after)
  
 
Repeat this process for all the other lines in the group.
 
Repeat this process for all the other lines in the group.
Ligne 192 : Ligne 192 :
 
<u>Configuring a group</u> :  
 
<u>Configuring a group</u> :  
 
- Exclusive condition
 
- Exclusive condition
- Front spacing of the line type NONE: 0.60cm
+
- Space before of the line type NONE: 0.60cm
- After spacing of the line type NONE: 0cm
+
- Space after of the line type NONE: 0cm
- Front spacing of the line type NOT_BLANK : 0.60cm
+
- Space before of the line type NOT_BLANK : 0.60cm
- After spacing of the line type NONE: 0cm
+
- Space after of the line type NONE: 0cm
  
 
<u>Configuring a NOT_BLANK line type</u>:  
 
<u>Configuring a NOT_BLANK line type</u>:  
Ligne 203 : Ligne 203 :
 
[[Fichier:OX D GRP 11.jpg|néant|vignette|1200x1000px]]
 
[[Fichier:OX D GRP 11.jpg|néant|vignette|1200x1000px]]
  
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 front spacing of the line type none is 0.60cm, the group then:
+
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:
 
# Processes the current line (if the line is <u>not empty</u>):  
 
# Processes the current line (if the line is <u>not empty</u>):  
 
#: Checks for the current line that the line type (condition) NOT_BLANK corresponds --> YES
 
#: 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
 
#: Checks that there is an object associated to the line type (condition) NOT_BLANK --> YES there is ADRMAPPING
#: Move the cursor 0.60cm down (front spacing of the line type NOT_BLANK)
+
#: 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)
 
#: 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 (after spacing of the line type NOT_BLANK)
+
#: Move the cursor 0cm down (space after of the line type NOT_BLANK)
 
#Processes the current line (if the line is <u>empty</u>) :
 
#Processes the current line (if the line is <u>empty</u>) :
 
#: Checks for the current line that the line type (condition) NOT_BLANK corresponds --> NO
 
#: Checks for the current line that the line type (condition) NOT_BLANK corresponds --> NO
Ligne 227 : Ligne 227 :
 
<u>Configuring the group</u>:  
 
<u>Configuring the group</u>:  
 
- Exclusive condition
 
- Exclusive condition
- Front spacing of the line type NONE: 0.60cm
+
- Space before of the line type NONE: 0.60cm
- After spacing of the line type NONE: 0cm
+
- Space after of the line type NONE: 0cm
- Front spacing of the line type FIRSTLINE: 0.60cm
+
- Space before of the line type FIRSTLINE: 0.60cm
- After spacing of the line type FIRSTLINE: 0cm
+
- Space after of the line type FIRSTLINE: 0cm
  
 
<u>Configuring the line type FIRSTLINE</u>:  
 
<u>Configuring the line type FIRSTLINE</u>:  
Ligne 238 : Ligne 238 :
 
[[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)
  
 
==Allowing more space for the first line==
 
==Allowing more space for the first line==

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