Utiliser la fonctionnalité « Impression de modèle » pour générer des contrats de fourniture et d'achat
Dans les scénarios de chaîne d'approvisionnement ou de commerce, il est souvent nécessaire de générer rapidement un « Contrat de fourniture et d'achat » standardisé et de remplir dynamiquement son contenu à partir d'informations provenant de sources de données, telles que les acheteurs, les vendeurs et les détails des produits. Ci-dessous, nous allons prendre l'exemple d'un cas d'utilisation simplifié de « Contrat » pour vous montrer comment configurer et utiliser la fonctionnalité « Impression de modèle » afin de mapper les informations de données aux espaces réservés dans les modèles de contrat, générant ainsi automatiquement le document contractuel final.
1. Contexte et aperçu de la structure des données
Dans notre exemple, nous avons principalement les collections suivantes (les autres champs non pertinents sont omis) :
- parties : Stocke les informations des entités ou individus (Partie A/Partie B), y compris le nom, l'adresse, la personne de contact, le téléphone, etc.
- contracts : Stocke les enregistrements de contrat spécifiques, y compris le numéro de contrat, les clés étrangères de l'acheteur/vendeur, les informations du signataire, les dates de début/fin, le compte bancaire, etc.
- contract_line_items : Utilisée pour enregistrer les multiples articles sous ce contrat (nom du produit, spécification, quantité, prix unitaire, date de livraison, etc.)

Étant donné que le système actuel ne prend en charge que l'impression d'un seul enregistrement à la fois, nous cliquerons sur « Imprimer » sur la page « Détails du contrat ». Le système récupérera alors automatiquement l'enregistrement de contrat correspondant, ainsi que les informations associées des parties, et les remplira dans des documents Word ou PDF.
2. Préparation
2.1 Préparation du plugin
Veuillez noter que notre plugin « Impression de modèle » est un plugin commercial. Vous devrez l'acheter et l'activer avant de pouvoir effectuer des opérations d'impression.

Confirmer l'activation du plugin :
Sur n'importe quelle page, créez un bloc de détails (par exemple, pour les utilisateurs) et vérifiez si une option de configuration de modèle correspondante est disponible dans la configuration des actions :


2.2 Création des collections
Créez les collections principales (entité, contrat et articles de produit) que nous avons conçues ci-dessus (sélectionnez uniquement les champs essentiels).
Collection Contrats (Contracts)
Collection Parties (Parties)
Collection Articles de contrat (Contract Line Items)
2.3 Configuration de l'interface
Saisir des exemples de données :


Configurez les règles de liaison comme suit pour calculer automatiquement le prix total et le paiement du solde :

Créez un bloc d'affichage, confirmez les données, puis activez l'action « Impression de modèle » :

2.4 Configuration du plugin d'impression de modèle

Ajoutez une configuration de modèle, par exemple pour un « Contrat de fourniture et d'achat » :


Ensuite, accédez à l'onglet « Liste des champs » où vous pourrez voir tous les champs de l'objet actuel. Une fois que vous aurez cliqué sur « Copier », vous pourrez commencer à remplir le modèle.

2.5 Préparation du fichier de contrat
Fichier de modèle de contrat Word
Préparez à l'avance le modèle de contrat (fichier .docx), par exemple : SUPPLY AND PURCHASE CONTRACT.docx
Dans cet exemple, nous fournissons une version simplifiée du « Contrat de fourniture et d'achat », qui contient des espaces réservés d'exemple :
{d.contract_no}: Numéro de contrat{d.buyer.party_name},{d.seller.party_name}: Noms de l'acheteur et du vendeur{d.total_amount}: Montant total du contrat- Et d'autres espaces réservés tels que « personne de contact », « adresse », « téléphone », etc.
Vous pouvez ensuite copier et coller les champs de votre collection dans le document Word.
3. Tutoriel sur les variables de modèle
3.1 Remplissage des variables de base et des propriétés d'objets associés
Remplissage des champs de base :
Par exemple, le numéro de contrat en haut, ou l'objet de l'entité signataire du contrat. Il vous suffit de cliquer sur « Copier » et de coller directement dans l'espace vide correspondant du contrat.


3.2 Formatage des données
Formatage des dates
Dans les modèles, nous devons souvent formater les champs, en particulier les champs de date. Le format de date copié directement est généralement long (par exemple, Mer Jan 01 2025 00:00:00 GMT) et doit être formaté pour afficher le style souhaité.
Pour les champs de date, vous pouvez utiliser la fonction formatD() pour spécifier le format de sortie :
Exemple :
Par exemple, si le champ original que nous avons copié est {d.created_at} et que nous devons formater la date au format 2025-01-01, alors modifiez ce champ comme suit :
Styles de formatage de date courants :
YYYY- Année (quatre chiffres)MM- Mois (deux chiffres)DD- Jour (deux chiffres)HH- Heure (format 24 heures)mm- Minutesss- Secondes
Exemple 2 :
Formatage des montants
Supposons qu'il existe un champ de montant, tel que {d.total_amount} dans le contrat. Nous pouvons utiliser la fonction formatN() pour formater les nombres, en spécifiant le nombre de décimales et le séparateur de milliers.
Syntaxe :
- nombre_de_decimales : Vous pouvez spécifier le nombre de décimales à conserver. Par exemple,
2signifie deux décimales. - separateur_de_milliers : Spécifie s'il faut utiliser un séparateur de milliers, généralement
trueoufalse.
Exemple 1 : Formater un montant avec un séparateur de milliers et deux décimales
Ceci formatera d.amount avec deux décimales et ajoutera un séparateur de milliers.
Exemple 2 : Formater un montant en entier sans décimales
Ceci formatera d.amount en entier et ajoutera un séparateur de milliers.
Exemple 3 : Formater un montant avec deux décimales mais sans séparateur de milliers
Ici, le séparateur de milliers est désactivé et seules deux décimales sont conservées.
Autres besoins de formatage des montants :
- Symbole monétaire : Carbone ne fournit pas directement de fonctions de formatage de symbole monétaire, mais vous pouvez ajouter des symboles monétaires directement dans les données ou les modèles. Par exemple :
Formatage des chaînes de caractères
Pour les champs de chaîne de caractères, vous pouvez utiliser :upperCase pour spécifier le format du texte, comme la conversion de casse.
Syntaxe :
Méthodes de conversion courantes :
upperCase- Convertir en majusculeslowerCase- Convertir en minusculesupperCase:ucFirst- Mettre la première lettre en majuscule
Exemple :
3.3 Impression en boucle
Comment imprimer des listes d'objets enfants (comme les détails des produits)
Lorsque nous devons imprimer un tableau contenant plusieurs sous-éléments (par exemple, les détails des produits), nous devons généralement utiliser l'impression en boucle. De cette façon, le système générera une ligne de contenu pour chaque élément de la liste jusqu'à ce que toutes les entrées aient été parcourues.
Supposons que nous ayons une liste de produits (par exemple, contract_items), qui contient plusieurs objets produit. Chaque objet produit possède plusieurs attributs, tels que le nom du produit, la spécification, la quantité, le prix unitaire, le montant total et les remarques.
Étape 1 : Remplir les champs dans la première ligne du tableau
Tout d'abord, dans la première ligne du tableau (pas l'en-tête), nous copions et remplissons directement les variables du modèle. Ces variables seront remplacées par les données correspondantes et affichées dans la sortie.
Par exemple, la première ligne du tableau se présente comme suit :
Ici, d.contract_items[i] représente le i-ème élément de la liste de produits, et i est un index qui représente l'ordre du produit actuel.
Étape 2 : Modifier l'index dans la deuxième ligne
Ensuite, dans la deuxième ligne du tableau, nous modifions l'index du champ en i+1 et remplissons uniquement le premier attribut. En effet, lors de l'impression en boucle, nous devons récupérer l'élément de données suivant de la liste et l'afficher sur la ligne suivante.
Par exemple, la deuxième ligne est remplie comme suit :
Dans cet exemple, nous avons changé [i] en [i+1], ce qui nous permet d'obtenir les données du produit suivant dans la liste.
Étape 3 : Impression en boucle automatique lors du rendu du modèle
Lorsque le système traite ce modèle, il fonctionne selon la logique suivante :
- La première ligne sera remplie conformément aux champs que vous avez définis dans le modèle.
- Ensuite, le système supprimera automatiquement la deuxième ligne et commencera à extraire les données de
d.contract_items, remplissant chaque ligne en boucle selon le format du tableau jusqu'à ce que tous les détails des produits soient imprimés.
L'index i de chaque ligne sera incrémenté, garantissant que chaque ligne affiche des informations de produit différentes.
4. Télécharger et configurer le modèle de contrat
4.1 Télécharger le modèle
- Cliquez sur le bouton « Ajouter un modèle » et saisissez le nom du modèle, par exemple « Modèle de contrat de fourniture et d'achat ».
- Téléchargez le fichier Word de contrat (.docx) préparé, qui contient déjà tous les espaces réservés.

- Une fois terminé, le système listera le modèle dans la liste des modèles disponibles pour une utilisation ultérieure.
- Cliquez sur « Utiliser » pour activer ce modèle.

À ce stade, quittez la fenêtre contextuelle actuelle et cliquez sur « Télécharger le modèle » pour obtenir le modèle complet généré.
Conseils :
- Si le modèle utilise le format
.docou d'autres formats, il pourrait être nécessaire de le convertir en.docx, selon la prise en charge du plugin. - Dans les fichiers Word, veillez à ne pas diviser les espaces réservés en plusieurs paragraphes ou zones de texte, afin d'éviter les erreurs de rendu.
Nous vous souhaitons une utilisation réussie ! Grâce à la fonctionnalité « Impression de modèle », vous pouvez considérablement réduire le travail répétitif dans la gestion des contrats, éviter les erreurs de copier-coller manuel, et réaliser une production de contrats standardisée et automatisée.

