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 :

  1. Préparez votre modèle Word, en utilisant des commandes là où vous voulez que le contenu soit automatiquement inséré ou masqué
  2. Enregistrez le modèle sur votre ordinateur

Ensuite, lorsque vous avez besoin d’un document :

  1. Choisissez votre modèle (depuis votre ordinateur)
  2. Fournissez les informations nécessaires au modèle dans le formulaire affiché par DocuMold
  3. Téléchargez le document résultant
  4. 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.