Dans un environnement professionnel où la gestion et la production de documents sont cruciales, il est essentiel de disposer d’outils puissants et flexibles. Imaginez que vous puissiez concevoir des modèles de documents dynamiques directement à partir de votre client Desktop, en intégrant des formules et des données issues de votre base de données, puis en générant ces documents d’un simple clic au travers d’une interface web intuitive. C’est précisément ce que 4D Write Pro et 4D Qodly Pro vous permettent de faire !
Dans le blog de cette semaine, nous allons explorer comment ces deux solutions se complètent parfaitement pour automatiser et optimiser vos processus documentaires. Vous découvrirez comment créer des modèles personnalisés dans 4D Write Pro et comment, grâce à 4D Qodly Pro, les internautes peuvent saisir les données nécessaires, déclencher la génération des documents et même choisir de les stocker dans la base de données ou de les renvoyer via un attribut calculé.
Pour démontrer ce processus, nous utiliserons l’application Performance Review, qui est disponible en téléchargement. Préparez-vous à transformer la façon dont vous créez et gérez vos documents, tout en simplifiant vos flux de travail et en augmentant votre efficacité.
Application Performance Review
Création de modèles dans le client de bureau
4D Write Pro est un puissant outil de traitement de texte dont la principale force réside dans sa capacité à créer des modèles de documents liés à votre base de données. Cette fonctionnalité vous permet de générer automatiquement différents types de documents : lettres, contrats, factures, catalogues, notes de frais, etc.
Dans l’application Performance Review, plusieurs modèles de documents sont utilisés en fonction du département concerné. Par exemple :
Modèle de commande
Modèle pour l’assurance qualité
Ces modèles intègrent des formules dynamiques directement liées à la base de données, ce qui facilite la création de documents personnalisés pour chaque service.
Un formulaire dans l’application Desktop vous permet de créer ces modèles de manière simplifiée.Pour ajouter facilement des formules, une liste déroulante propose toutes les formules pertinentes pour le modèle.
Ces formules sont définies dans un fichier JSON appelé « WPexpression.json ».
En voici un extrait :
{ "expression" : [{ "name" : "Nom", "formula" : "This.data.review.Employee.Lastname" }, { "name" : "Prénom", "formule" : "This.data.review.Employee.Firstname" }, { "name" : "NomCollaborateur", "formula" : "This.data.review.Employee.Firstname+\" \"+This.data.review.Employee.Lastname" } ] }
Pour en savoir plus sur 4D Write Pro et ORDA, lisez ce blog : ORDA et 4D Write Pro : Le couple de choc !
Pour simplifier la création de tables, l’assistant de table intégré au composant d’interface de 4D Write Pro est idéal.
Pour qu’il fonctionne parfaitement avec la structure de notre base de données, nous avons ajouté des fichiers de configuration contenant les formules nécessaires pour les documents d’évaluation des performances. Par exemple, nous avons ajouté des fichiers de configuration contenant les formules nécessaires pour les documents d’évaluation des performances :
{ "tableDataSource" : "This.data.review.Skills.orderBy(\"Group asc\")", "columns" : [{ "check" : true, "header" : "SkillName", "source" : "This.item.Name" }, { "check" : faux, "header" : "CheckCodeI", "source" : "Choose(This.item.ID_Score=1 ; \N-"X\N" ; \N-"X\N")" }, { "check" : faux, "header" : "CheckCodeP", "source" : "Choose(This.item.ID_Score=2 ; \N-"X\N" ; \N-"X\N")" },{ "check" : faux, "header" : "CheckCodeR", "source" : "Choose(This.item.ID_Score=3 ; \N-"X\N" ; \N-"X\N")" },{ "check" : faux, "header" : "CheckCodeE", "source" : "Choose(This.item.ID_Score=4 ; \N-"X\N" ; \N-"X\N")" },{ "check" : true, "header" : "ScoreName", "source" : "This.item.Score.Name" },{ "check" : vrai, "header" : "ScoreCode", "source" : "This.item.Score.Code" } ], "breaks" : [{ "label" : "SkillGroup", "source" : "This.item.Group" } ], "breakFormulas" : [{ "label" : "GroupName", "source" : "This.item.Group" } ], "extraFormulas" : [{ "label" : "ScoreSkillName", "source" : "This.data.review.ScoreSkill.Name" },{ "label" : "ScoreSkillCode", "source" : "This.data.review.ScoreSkill.Code" },{ "label" : "CheckSkillScoreCodeI", "source" : "Choose(This.data.review.ID_ScoreSkill=1 ; \N-"X\N" ; \N-"X\N")" }, { "label" : "CheckSkillScoreCodeP", "source" : "Choose(This.data.review.ID_ScoreSkill=2 ; \"X\" ; \"\")" }, { "label" : "CheckSkillScoreCodeR", "source" : "Choose(This.data.review.ID_ScoreSkill=3 ; \"X\" ; \"\")" }, { "label" : "CheckSkillScoreCodeE", "source" : "Choose(This.data.review.ID_ScoreSkill=4 ; \"X\" ; \"\")" } ] }
Avec ces formules, la création d’un tableau de compétences et de notes devient très simple.Après avoir personnalisé le tableau, voici le résultat :
Pour en savoir plus sur la configuration et les possibilités offertes par l’assistant de tableau, voir :
- Blog : Un assistant pour créer des tableaux avec des données
- Formation : 4D Write Pro et 4D View Pro rencontrent 4D – le niveau supérieur de la modélisation intelligente
Renseigner les données dans le client Web
Une fois le modèle créé, les utilisateurs saisissent les données requises au moyen d’une interface web intuitive. Grâce à 4D Qodly Pro, cette étape s’intègre parfaitement à votre base de données, garantissant que les informations saisies correspondent aux champs définis dans vos modèles.
Pour plus de détails sur la mise en place de ces interfaces, n’hésitez pas à consulter nos blogs précédents sur :
- Créer une liste interactive de données avec 4D Qodly Pro
- Construire une gestion dynamique des données dans l’application Qodly : Créer, ajouter, modifier et supprimer
Générer le document final
Le document final est généré directement à partir de l’interface web. Lorsqu’un utilisateur clique sur le bouton dédié, l’événement « On Click » déclenche la fonction « selectedReview.generatePDF() ».
Voici le code qui gère la génération du document PDF :
Function generateDocument()->$doc: Object
var $context : Object
var $template : cs.TemplateEntity
// Create context
$context:=This.createContext()
// Load template
$template:=This.Employee.Departement.Template.Template
// Create 4D Write Pro document
$doc:=WP New($template)
WP SET DATA CONTEXT ($doc; $context)
WP COMPUTE FORMULAS ($doc)
return $doc
exposed Function generatePDF ()
var $WPdoc : Object
var $blob : 4D.Blob
// Generate WP document
$WPdoc:=This.generateDocument()
// Convert to PDF
WP EXPORT VARIABLE ($WPdoc; $blob; wk pdf)
// Save in database
This.DocumentPDF:=$blob
This.save()
Permission
Dans l’application web, les utilisateurs ne peuvent pas accéder à la table Template. Cependant, la fonction « Review.generatePDF » doit accéder à ces données pour générer le document PDF. Pour ce faire, nous avons mis en place une « promotion » sur la fonction.
- Création du privilège « generatePDF »: Dans la page Rôle et privilège, nous définissons un nouveau privilège appelé generatePDF.
- Octroi de droits de lecture: Nous accordons des droits de lecture aux classes de données Département et Modèle. Ces droits sont essentiels pour localiser le modèle Write Pro nécessaire pour générer le document.
- Promouvoir la fonction « Review.generatePDF »: Nous attribuons l’option Promote à la fonction Review.generatePDF. Grâce à cette promotion, lorsque la fonction est appelée sur le serveur, elle acquiert automatiquement le privilège generatePDF et peut accéder aux données typiquement restreintes.
Ce mécanisme garantit que seuls les processus autorisés peuvent temporairement étendre leurs droits pour effectuer des tâches spécifiques, tout en maintenant une sécurité et un contrôle élevés sur l’accès aux données.
Voilà !
Prochaine étape
En combinant 4D Write Pro et 4D Qodly Pro, vous pouvez automatiser la génération de documents dynamiques en fusionnant des modèles prédéfinis et des données en temps réel. Cette approche offre de nombreux avantages :
- Automatisation des documents: Réduction des tâches manuelles grâce aux modèles dynamiques.
- Optimisation du flux de travail: Séparation claire entre la création de modèles (client Desktop) et la saisie de données (client Web).
- Gain de temps et meilleure qualité: Une solution pratique qui améliore la productivité et la qualité des documents générés.
Nous vous encourageons à essayer cette approche dans vos projets et à découvrir les avantages de l’intégration de 4D Write Pro avec 4D Qodly Pro. N’hésitez pas à nous faire part de vos commentaires ou à consulter nos autres ressources pour approfondir vos connaissances.