Configurer une région répétée
Remplir un tableau du document Word avec des produits du catalogue, un tableau d'une fiche CRM ou des lignes saisies à la main
À quoi ça sert
Une région répétée sert à imprimer une liste dans le document : un tableau de produits chiffrés, une liste d'équipements, les lignes d'un tableau d'une fiche CRM. Le document déclare la région une seule fois, et Deltia la répète autant de fois qu'il y a de lignes sur le contrat.
Vous décidez ici d'où viennent les lignes — les produits du catalogue, les lignes d'un tableau d'une fiche CRM, ou des lignes que l'utilisateur écrit lui-même dans le contrat — et ce que chaque placeholder de la région doit imprimer.
Cette configuration se fait dans la section « Champs » du modèle, sur un champ de type « Région répétée ».
Concepts clés
- Région — dans le document Word, un bloc encadré par
{#produits}et{/}. Deltia détecte ces blocs à l'import et propose alors le type « Région répétée » sur le champ correspondant. - Placeholder de la région — une variable écrite à l'intérieur du bloc, par
exemple
{libelle}ou{prix}. C'est ce qui est imprimé sur chaque ligne. - Ligne — une itération de la région : un produit sélectionné sur le contrat, une ligne du tableau CRM choisi, ou une ligne saisie à la main.
- Correspondance — l'association entre chaque placeholder de la région et ce qui doit l'alimenter. Un placeholder laissé de côté reste vide.
- Modèle de cellule — le gabarit qui assemble plusieurs attributs, et éventuellement des montants de ligne, en une seule valeur imprimée.
- Région imbriquée — une région déclarée à l'intérieur d'une autre, par
exemple
{#options}dans{#machines}. Elle est alimentée quand la région qui la contient est une région « Catalogue » et qu'elle est elle-même alimentée par le catalogue ou par une saisie libre. Dans les autres cas, elle reste vide.
Comment faire
Déclarer une région dans le document Word
- Dans le document, écrivez
{#produits}au début du bloc à répéter et{/}à sa fin. - Pour répéter une ligne de tableau, placez
{#produits}dans la première cellule de la ligne et{/}dans la dernière : c'est ce qui fait répéter la ligne entière plutôt que le contenu d'une seule cellule. - À l'intérieur du bloc, écrivez les placeholders à imprimer sur chaque ligne,
avec les mots de votre choix :
{libelle},{quantite},{prix}. - Importez ou remplacez le document dans le modèle.
Le nom de la région (produits ici) devient un champ du modèle, comme les
autres variables.
Alimenter une région avec les produits du catalogue
- Ouvrez le modèle, section « Champs », sélectionnez le champ portant le nom de la région.
- Choisissez le type « Région répétée ».
- Dans « Source de données », laissez « Catalogue ».
- Choisissez la « Catégorie de produit ». Elle décide des produits que l'utilisateur pourra sélectionner, et des champs personnalisés proposés à l'étape suivante.
- Dépliez « Filtre des cibles » si vous voulez restreindre davantage les produits proposés.
- Sous « Correspondance des placeholders », dépliez chaque placeholder et cochez les attributs du produit à imprimer.
- Renseignez le « Modèle » de la cellule si vous combinez plusieurs attributs ou un montant de ligne.
- Enregistrez.
À la création d'un contrat, l'utilisateur choisit les produits et leurs quantités ; le document imprime une ligne par produit.
Alimenter une région avec un tableau d'une fiche CRM
- Sur le champ « Région répétée », réglez « Source de données » sur « CRM (tableau) ».
- Choisissez l'« Entité CRM ».
- Choisissez le « Champ tableau ». Si l'entité n'en a pas : « Cette entité n'a aucun champ de type tableau. »
- Sous « Correspondance des placeholders », dépliez chaque placeholder et cochez les « Colonnes » à imprimer.
- Renseignez le « Modèle » de la cellule si vous en combinez plusieurs.
- Enregistrez.
À la création d'un contrat, l'utilisateur choisit la fiche dont le tableau alimente la région ; le document imprime une ligne par ligne du tableau.
Laisser l'utilisateur saisir les lignes
- Sur le champ « Région répétée », réglez « Source de données » sur « Saisie libre ».
- Lisez l'indication affichée : « L'utilisateur saisit les lignes dans le contrat, une colonne par balise du document. Le type choisi fixe la saisie et le format imprimé. »
- Sous cette indication, chaque placeholder de la région est listé avec une liste de types. Choisissez le type de chaque colonne : « Texte », « Zone de texte », « Nombre », « Montant (€) » ou « Date ». Une colonne laissée de côté est un « Texte ».
- Enregistrez.
Les colonnes sont les placeholders que le document déclare dans la région. Ajouter ou retirer un placeholder dans le document Word change les colonnes proposées à l'utilisateur ; le type d'une colonne dont le placeholder a disparu du document est supprimé avec lui. Côté utilisateur, voir Saisir les lignes d'une région en saisie libre.
Permettre de retoucher le texte d'une colonne sur le contrat
- Ouvrez le champ « Région répétée » alimenté par le catalogue.
- Sous « Correspondance des placeholders », dépliez le placeholder concerné.
- Cochez « Modifiable dans le contrat, ligne par ligne ».
- Enregistrez.
Sur le contrat, l'utilisateur peut alors adapter ce texte pour chaque ligne, par exemple la description technique d'une machine. Le prix reste celui du catalogue. Voir Produits du catalogue et montants.
Imbriquer une région dans une région catalogue
- Dans le document Word, écrivez la région intérieure à l'intérieur de la
région extérieure :
{#machines}…{#options}…{/options}…{/machines}. - Alimentez la région extérieure avec le catalogue, comme ci-dessus.
- Alimentez la région intérieure : avec le catalogue (par exemple les options, dans une autre catégorie de produits), ou en saisie libre pour des lignes écrites à la main sous chaque machine.
- Pour que les totaux comptent aussi les options, listez les régions
(
machines,options_specifiques,options_communes…) parmi les sources du champ de total. - Enregistrez.
Sur le contrat, chaque ligne de la région extérieure devient une carte qui porte ses propres options. Le document n'imprime sous une machine que les options qui lui sont rattachées.
Imprimer un montant sur chaque ligne
- Ouvrez le placeholder concerné dans « Correspondance des placeholders ».
- Sans cocher aucun attribut, saisissez le jeton voulu dans le « Modèle », par
exemple
{unitPrice}. - Enregistrez.
« Combinez les attributs cochés et les montants de la ligne (jetons colorés). Un jeton absent reste vide. » Ces montants ne sont proposés que sur une région alimentée par le catalogue.
Combiner plusieurs valeurs dans une cellule
- Ouvrez le placeholder et cochez les attributs voulus.
- Dans le « Modèle », composez la valeur avec les jetons affichés au-dessus,
par exemple
{name} — {unitPrice}. - Enregistrez.
Le résumé affiché à côté du placeholder, une fois replié, reprend le modèle saisi ou la liste des attributs cochés. « Non renseigné » signale un placeholder laissé de côté.
Imprimer une image sur chaque ligne
- Dans le document Word, à l'intérieur du bloc
{#produits}…{/}, écrivez la variable en tag brut, par exemple{@photo}, seule dans son paragraphe. - Importez ou remplacez le document dans le modèle.
- Sur la région alimentée par le catalogue, dépliez le placeholder
{@photo}sous « Correspondance des placeholders ». - Choisissez le champ personnalisé de type Image de la catégorie. Sans champ Image sur la catégorie : « Aucun champ image sur cette catégorie ».
- Renseignez la « Largeur maximale (mm) » de la colonne si vous voulez borner la taille de l'image. « La page n'est pas la cellule : sans borne, la photo déborde de sa colonne. »
- Enregistrez.
Un placeholder en tag brut n'accepte qu'un champ Image et ne propose ni attributs à cocher ni « Modèle » : il imprime l'image telle quelle sur chaque ligne. Cette possibilité n'existe que sur une région alimentée par le catalogue, pas sur une région alimentée par un tableau CRM.
Référence
Sources d'une région répétée
| Source | Ce qui produit une ligne | Ce qu'on peut imprimer |
|---|---|---|
| Catalogue | Chaque produit sélectionné sur le contrat | Les attributs du produit, les quatre montants de la ligne, et une image par ligne pour un placeholder en tag brut |
| CRM (tableau) | Chaque ligne du tableau de la fiche choisie | Les colonnes du tableau |
| Saisie libre | Chaque ligne écrite par l'utilisateur dans le contrat | Une colonne par placeholder de la région, de type texte, zone de texte, nombre, montant ou date |
Jetons de montant, sur une région catalogue
| Jeton | Ce qu'il contient |
|---|---|
{quantity} | Quantité |
{unitPrice} | Prix unitaire HT |
{totalPrice} | Total HT |
{totalPriceTtc} | Total TTC |
Ils viennent de la ligne du contrat, pas de la fiche produit : la quantité est celle qui a été saisie, et le prix unitaire est celui qui a été figé au choix du produit.
Attributs proposés sur une région catalogue
Les mêmes que sur un champ lié au catalogue : les « Champs standards » (« Nom », « Référence », « Description », « Type », « Unité », « Prix de vente », « Prix d'achat », « TVA (%) », « Statut ») et les « Champs personnalisés » de la catégorie choisie. Voir Lier un champ au CRM ou au catalogue.
Types d'une colonne en saisie libre
| Type | Saisie dans le contrat | Impression |
|---|---|---|
| « Texte » | Une ligne de texte | Le texte saisi |
| « Zone de texte » | Un champ de trois lignes | Le texte saisi |
| « Nombre » | Un nombre | Le nombre saisi, tel quel |
| « Montant (€) » | Un nombre | Le montant formaté en euros |
| « Date » | Un sélecteur de date | La date au format jj/mm/aaaa |
Une cellule laissée vide est toujours acceptée et s'imprime vide. Une valeur qui ne correspond pas au type est refusée : « La valeur de la colonne {column} ne correspond pas à son type. »
Ce qui rend une région configurée
| Source | Ce qui est exigé pour activer le modèle |
|---|---|
| Catalogue | Une catégorie de produit choisie |
| CRM (tableau) | Une entité et un champ tableau choisis |
| Saisie libre | Rien d'obligatoire : la région est toujours configurée, les colonnes sans type sont des « Texte » |
La correspondance des placeholders peut rester partielle : un placeholder non renseigné est simplement imprimé vide.
Limites connues
- Seule une région « Catalogue » en contient d'autres, sur un seul niveau. Activer le modèle avec une région catalogue dans une région d'une autre source, ou à plus d'un niveau, est refusé. Une région « CRM » placée à l'intérieur d'une autre reste vide : « Les régions imbriquées (…) ne sont pas encore alimentées et resteront vides. »
- Le catalogue ne relie pas une option à une machine : sous chaque machine, le sélecteur propose tous les produits de la catégorie des options.
- Un libellé placé dans le document avant la région intérieure s'imprime même si la machine n'a aucune option.
- Aucune mise en forme n'est possible à l'intérieur d'une ligne : le contenu imprimé est du texte simple. Seul le type « Montant (€) » transforme ce qui est saisi, en l'imprimant en euros.
- Les montants sont toujours formatés en euros et à la française, quelle que soit la langue du document.
- Une variable de signature électronique placée à l'intérieur d'une région empêche l'activation du modèle : elle serait imprimée autant de fois qu'il y a de lignes.
- Si la région ne contient aucun placeholder : « La région ne contient aucun placeholder à alimenter. »
Questions fréquentes
Le type « Région répétée » n'apparaît pas dans la liste des types
Il n'est proposé que sur un champ dont le nom est déclaré comme région dans le
document Word. Vérifiez que le document écrit bien {#nom} et {/} autour du
bloc, puis remplacez le fichier du modèle.
Une région peut-elle rester une simple condition d'affichage ?
Oui. La même syntaxe sert aussi à n'afficher un bloc que si un champ est rempli. Dans ce cas, ne choisissez pas le type « Région répétée » : laissez au champ un type simple, par exemple « Texte ».
Puis-je écrire mes placeholders dans une autre langue que le catalogue ?
Oui. Les noms des placeholders sont les vôtres : c'est la correspondance que
vous établissez ici qui dit ce que chacun contient. Un document en allemand peut
écrire {bezeichnung} là où le document français écrit {libelle}.
Que se passe-t-il si aucun produit n'est sélectionné ?
Rendez le champ optionnel : « Si aucune ligne n'est sélectionnée, toute la région est masquée dans le document. » Sans cela, l'absence de ligne est traitée comme un champ obligatoire non rempli.
Le total imprimé sous le tableau se calcule-t-il tout seul ?
Oui, avec un champ de type « Total catalogue » qui agrège la liste de produits de cette région, ou, pour une région en saisie libre, qui additionne une colonne « Montant (€) » de la région. Voir Lier un champ au CRM ou au catalogue.