Skip to content

Générer un document ​

Remplit un modèle Word avec les données du workflow (champs, tableaux répétés, conditions) et produit un PDF ou un .docx, ajouté aux pièces jointes de l’exécution pour qu’« Envoyer » le joigne.

Générer un document remplit un modèle Word (.docx) avec les données du workflow — champs, lignes de tableau répétées, conditions — et produit un PDF, un .docx, ou les deux. Le document est ajouté aux pièces jointes de l’exécution : un nœud Envoyer placé après le joint comme n’importe quelle pièce.

Le nœud n’est proposé que si l’instance a un service de documents.

En bref ​

  • Type : document.generate · version 1
  • Catégorie : Données
  • Nature : Étape — s’exécute pendant une exécution
  • Effet : Sans effet externe (none) — rien n’est écrit hors de Loop & Roll ; rejouable sans risque
  • Exige un mail porteur : Non
  • Connexion : Aucune
  • Entrées : main
  • Sorties : main
Les ports de « Générer un document » : ce qui entre à gauche, ce qui sort à droiteEntrée : main. Sorties : main. Une sortie error apparaît quand son réglage d’échec est « Suivre la sortie Erreur ».Générer un documentdocument.generatemainmainerror · seulement avec « Suivre la sortie Erreur »
Les ports de « Générer un document » : ce qui entre à gauche, ce qui sort à droite

Paramètres ​

source ​

Le modèle vient de

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : library
  • Options :
    • library — La bibliothèque de modèles : Un modèle Word téléversé dans Paramètres › Modèles de documents.
    • attachment — Une pièce jointe de l’exécution : Un .docx reçu par mail, ou rapatrié de SharePoint ou de Drive à une étape précédente.

template ​

Modèle — Les champs {{ … }} du modèle s’écrivent comme partout ailleurs : {{ data.extraire.acquereur }}, {{ email.from.name }}.

  • Type : Ressource distante (resourceLocator)
  • Requis : Oui
  • Façons de choisir : dans une liste, saisir un identifiant (document_template)
  • Affiché quand : source vaut library

templateName ​

Nom du fichier modèle — Le premier .docx de l’exécution dont le nom correspond. * remplace n’importe quoi.

  • Type : Texte (string)
  • Requis : Oui
  • Défaut : *.docx
  • 200 caractères au plus
  • Exemple : *.docx
  • Affiché quand : source vaut attachment
  • Expressions : {{ }} accepté

output ​

Format produit

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : pdf
  • Options :
    • pdf — PDF : Ce qu’on envoie à un client : la mise en page ne bouge plus.
    • docx — Word (.docx) : Un brouillon qu’on retouchera avant de le signer.
    • both — Les deux : Le PDF à envoyer, et le Word à archiver.

filename ​

Nom du fichier produit — Sans extension, elle est ajoutée selon le format. Peut contenir des champs : attestation-{{ data.extraire.nom }}.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : "" (vide)
  • 300 caractères au plus
  • Exemple : attestation
  • Expressions : {{ }} accepté

onMissingField ​

Si un champ n’a pas de valeur

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : empty
  • Options :
    • empty — Le laisser vide : Le document est produit ; les champs manquants sont listés dans les données de l’étape.
    • fail — Faire échouer l’étape : Pour un acte : mieux vaut aucun document qu’un compromis sans le nom de l’acquéreur.
  • Rangé sous « Avancé » dans l’éditeur

Sorties ​

  • main

Données produites ​

Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).

  • {{ data.<step>.position }} — number. La position du document produit (le PDF s’il y en a un, sinon le .docx) dans les pièces de l’exécution : celle qu’un nœud Envoyer ou un dépôt sur un drive sélectionne.
  • {{ data.<step>.files }} — array of { position, filename, mime, size, origin }. Les fichiers produits, déjà ajoutés aux pièces jointes de l’exécution.
  • {{ data.<step>.pdf }} — { position, filename, mime, size }. Le PDF produit, quand le format le demande. docx décrit le .docx de la même façon.
  • {{ data.<step>.pages }} — number. Le nombre de pages du PDF produit.
  • {{ data.<step>.template }} — { name, fields }. Le modèle employé (son nom dans la bibliothèque, ou le nom de la pièce jointe) et son nombre de champs.
  • {{ data.<step>.missingFields }} — array of string. Les champs du modèle restés vides faute de valeur (data.extraire.notaire). Vide quand tout a été rempli.
  • {{ data.<step>.summary }} — string. Une phrase pour le détail d’exécution, dans la langue du membre.

Exemple ​

Un mail demande une attestation de visite. Un nœud Extraire nommé extraire en tire le nom du visiteur, l’adresse du bien et la date. Le modèle « Attestation de visite » de la bibliothèque contient :

Je soussigné, agence Pierre & Sens, atteste que {{ data.extraire.visiteur }}
a visité le bien situé {{ data.extraire.adresse }} le {{ data.extraire.date }}.
{{#if data.extraire.accompagne}}La visite était accompagnée.{{/if}}

Le nœud :

source: library
template: Attestation de visite
output: pdf
filename: "attestation-{{ data.extraire.visiteur }}"

Puis un nœud Envoyer qui répond au mail avec « Pièces jointes » sur « Celles de l’exécution, filtrées » et le nom attestation-*.pdf : l’attestation part avec la réponse.

Le modèle ​

La syntaxe est décrite dans Documents › Écrire un modèle : {{ chemin | filtre }} pour un champ, {{#each liste}} … {{/each}} pour répéter une ligne de tableau ou des paragraphes ({{ item.x }}, {{ index }} dedans), {{#if valeur}} … {{else}} … {{/if}} pour une condition. Le contexte est le même que celui des paramètres : data (les sorties des étapes précédentes) et email (le mail déclencheur).

Le modèle vient de la bibliothèque (Templates › Modèles de documents), ou d’une pièce jointe de l’exécution : un .docx reçu par mail, ou rapatrié de SharePoint ou de Drive à une étape précédente — le premier dont le nom correspond au motif (*.docx par défaut).

Conseils ​

  • Champs manquants. Par défaut, un champ sans valeur est laissé vide et listé dans missingFields. Pour un acte, réglez « Si un champ n’a pas de valeur » sur « Faire échouer l’étape » : rien n’est produit, et l’étape échoue en document.invalid_template.
  • Nom du fichier. Sans extension (elle est ajoutée selon le format) ; les caractères interdits dans un nom de fichier sont remplacés.
  • Essais. Produire une pièce d’exécution n’écrit rien hors de Loop & Roll : en essai, le document est réellement produit, et vous pouvez l’ouvrir dans le détail d’exécution.
  • Erreurs. Service injoignable ou occupé : document.service_unavailable, retenté. Modèle supprimé ou introuvable : document.template_not_found. Modèle mal formé : document.invalid_template. Sans service configuré : document.not_configured.

Loop & Roll — le constructeur de workflows pour l’e-mail.