Vue d'ensemble
De nombreuses parties interagissent dans DocuMold. Cette vue d’ensemble couvre les bases, elle a deux objectifs :
- si vous avez suivi les tutoriels, c’est une révision avec des détails supplémentaires
- sinon, un point de départ pour comprendre comment fonctionne DocuMold sans suivre les tutoriels
DocuMold génère de nouveaux documents Word à partir de modèles / gabarits que vous créez. Les modèles sont des documents Word réguliers, mais contiennent des commandes qui modifient le document résultant, telles que l’insertion ou la suppression de contenu.
Pour mieux expliquer le tout, comprendre le flux de travail de base est important :
Préparation :
- Préparez votre modèle Word, en utilisant des commandes là où vous voulez que le contenu soit automatiquement inséré ou masqué
- Enregistrez le modèle sur votre ordinateur
Ensuite, lorsque vous avez besoin d’un document :
- Choisissez votre modèle (depuis votre ordinateur)
- Fournissez les informations nécessaires au modèle dans le formulaire affiché par DocuMold
- Téléchargez le document résultant
- Utilisez le document tel quel, ou modifiez-le avec Word
Commandes et variables
Voici quelque chose que vous pourriez trouver dans un modèle :
Ceci est un accord entre <# nom_client #> et ...
La magie réside dans les <#
et #>
, ils marquent le début et la fin de chaque commande DocuMold. Dans l’
exemple ci-dessus, la commande est <# nom_client #>
. C’est le type de commande le plus courant, un simple “écrire
quelque chose ici”. Ce quelque chose est une variable, nommée nom_client
, pour laquelle vous devez fournir
une valeur lorsque vous générez un document à partir du modèle.
Si vous entrez “Anna Logwatch” comme nom_client
, le document généré contiendrait :
Ceci est un accord entre Anna Logwatch et ...
Note : Les commandes peuvent être n’importe où dans votre document (au milieu d’un paragraphe, dans un tableau, etc.).
Note : Les variables commencent par une lettre minuscule et contiennent des lettres, des chiffres et des tirets bas (_
).
Fonctions
Vous pourriez avoir besoin de formater ce qui est affiché à partir d’une variable. Pour notre exemple, disons que vous
voulez afficher le nom_client
en majuscules.
En utilisant la fonction UPPER
, voici comment vous pouvez faire :
Ceci est un accord entre <# UPPER(nom_client) #> et ...
La fonction UPPER
transforme toutes les lettres en majuscules.
Note : Les parenthèses après UPPER
et autour de nom_client
marquent les valeurs utilisées par la fonction.
Maintenant, en entrant “Anna Logwatch”, cela générerait ceci :
Ceci est un accord entre ANNA LOGWATCH et ...
Notes :
- Les noms des fonctions sont écrits en MAJUSCULES (il y a de rares exceptions).
- Une fonction doit être suivie de parenthèse ouvrante
(
.
Une autre fonction courante est IF
. Elle nécessite :
- une condition
- une valeur à choisir si la condition est vraie
- éventuellement, une valeur à choisir si la condition est fausse
Elle ressemble à ceci : <# IF(afficher_signe_dollar, "$") #>
.
- La virgule (
,
) sépare les différentes valeurs que la fonction reçoit. - Les guillemets
"
marquent un morceau de texte à utiliser tel quel par DocuMold ;"$"
signifie : le texte$
.
Revenant à l’exemple, si afficher_signe_dollar
est vrai, alors il y aura un signe dollar, sinon il n’y en aura pas.
Voici la version à 3 valeurs : <# IF(choisi_oui, "oui", "non") #>
. Cela écrirait <# IF(choisi_oui, "oui", "non") #>
ou non
basé
sur la variable choisi_oui
.
DocuMold possède beaucoup plus de fonctions, vous pouvez les trouver dans le menu sur le côté gauche de cette page, sous “Toutes les fonctions”.
Note : Les valeurs que les fonctions reçoivent peuvent provenir d’une autre fonction : <# UPPER(LEFT(nom_client, 10)) #>
.
Ici, LEFT
renvoie les 10 premiers caractères, qui sont donnés à UPPER
pour les transformer en majuscules. Pour “Anna Logwatch”, le
résultat serait ANNA LOGWA
.
Actions
Par défaut, les commandes écrivent des valeurs dans le document, mais d’autres actions sont disponibles.
Par exemple, l’action @IF
reçoit une condition et affiche ou cache le
contenu entre cette commande et la commande @ENDIF
qui suit. Cela est utile pour cacher conditionnellement
de grandes sections de contenu ou des images, par exemple.
Voici à quoi cela ressemble :
Quelque chose avant
<# @IF(âge_client < 30) #>
ATTENTION :
Il y a une vérification supplémentaire à faire puisque le client a moins de 30 ans.
<# @ENDIF #>
Quelque chose après
La condition utilise l’opérateur <
pour comparer des nombres. Elle évalue à vrai lorsque l’âge_client
est
inférieur à 30. Nous parlerons plus des opérateurs plus tard.
Les actions commencent toujours par un signe arobase @
. Une commande ne peut contenir qu’une action et elle doit être la
première chose dedans. Si aucune action n’est spécifiée, DocuMold traite la commande comme une action @WRITE
,
qui écrit le résultat dans le document comme nous l’avons vu jusqu’à présent.
Si l’âge_client
que vous entrez lors de la génération d’un document est inférieur à 30, alors le résultat serait
ceci :
Quelque chose avant
ATTENTION :
Il y a une vérification supplémentaire à faire puisque le client a moins de 30 ans.
Quelque chose après
Et si l’âge_client
est de 30 ou plus, le résultat serait :
Quelque chose avant
Quelque chose après
Vous pourriez être surpris par l’espacement dans ce dernier résultat. Il y avait une ligne vide avant le <# @IF... #>
et une après le <# @ENDIF #>
, mais il n’y en a qu’une dans le document généré. Lorsque
DocuMold supprime une commande et ne met rien à sa place, seul l’espacement avant la commande ou celui
après est conservé, selon lequel est le plus grand. Cela s’applique également lorsque la commande est remplacée par un texte vide,
donc <# quelque_chose #>
avec quelque_chose
étant un texte vide.
Lorsqu’il y a de nombreux cas différents à gérer, @ELSEIF
et @ELSE
peuvent être utilisés avec @IF
et @ENDIF
.
DocuMold possède beaucoup plus d’actions, vous pouvez les trouver dans le menu sur le côté gauche de cette page, sous “Toutes les actions”.
Actions versus fonctions
Visuellement, les actions commencent toujours par un signe arobase @
. Le reste ressemble juste à une fonction :
mots en MAJUSCULES, puis une parenthèse ouvrante (
, puis des valeurs, puis la parenthèse fermante )
.
Note : Une fonction qui ne reçoit pas de valeurs nécessite des parenthèses : TODAY()
, mais une action non : @ENDIF
.
Ce qu’elles font est différent :
- Le travail d’une fonction est de fournir une nouvelle valeur à partir de celles qu’elle a reçues.
- Le travail d’une action est de décider ce que DocuMold doit faire avec les valeurs.
Les actions ne renvoient pas de valeurs, donc elles ne peuvent pas être utilisées à l’intérieur des valeurs d’une fonction. Les actions peuvent
seulement être placées après le <#
, au début d’une commande.
Exemples d’actions “faisant des choses” avec les valeurs :
- Si vous ne spécifiez pas d’action, DocuMold écrira la valeur dans le document généré.
- Après une action
@IF
, DocuMold sait qu’il devrait y avoir un@ENDIF
et utilisera la valeur donnée à@IF
pour décider si elle doit effacer une partie de votre document ou non. - L’action
@TEXT_QUESTION
, indique à DocuMold comment demander une valeur à l’utilisateur lors de la génération d’un document à partir d’un modèle.
La seule action et fonction qui partagent leur nom est @IF
et IF
. Heureusement, elles ne
reçoivent pas le même nombre de valeurs.