|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Iniciado por Roumegou, abr., 19 2021 3:15 PM - 6 respostas |
| |
| | | |
|
| |
Publicado em abril, 19 2021 - 3:15 PM |
Bonjour
je dois gérer des types de contrats dans lesquels je vais substituer des variables et insérer des paragraphes
Je voudrais utiliser pour cela le format word faire mes substitutions et ensuite générer des pdf.
Puis-je utiliser le type document avec WebDev ?
Dois je charger les .docx depuis le serveur ? ou depuis une base un champs mémo ?
Existe-t-il des exemples webdev ? voire windev dont je pourrais m'inspirer ?
Merci de vos réponses
-- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus |
| |
| |
| | | |
|
| | |
| |
Membro registado 81 mensagems Popularité : +7 (7 votes) |
|
Publicado em abril, 19 2021 - 11:09 PM |
Bonsoir,
Je ne métrise pas bien webdev, mais pour les documents générés pour mon boulot (dans le secteur bancaire) on utilise beaucoup Windev.
Pour rédiger nos documents/lettres (contrats avec des paragraphes différents, des tableaux,...etc.) on utilise le champ traitement de texte et le type "Document", le champ TT en question n'existe pas Webdev (voir comment tu peux le remplacer) en tout cas voici en quelques lignes le principe que nous avons mis en place depuis quelques années et qui a fait ses preuves (espérons que ça peut t'aider ne fus-ce que avec la logique) :
Principalement deux tables (fichiers HFSQL) :
DocTemplates : ---------------- ID Nom Description Catégorie Template Originale (de type Mémo binaire). Template Modifié (de type Mémo binaire). .... Tu peux directement depuis HFSQL importer ton document .DOCX de base (template) ou développer une zolie fenêtre pour gérer tes templates. Ton document word peut contenir des variables/signets que tu peux remplacer par programmation.
- DocParagraphes : --------------------- Même principe mais pour des paragraphes que tu peux insérer dans tes templates (en fonction de tes règles métier).
Utilisation : ------------
HReadSeekFirst(DocTemplate,IDDocTemplate,_idDocTemplate) IF HFound(DocTemplate) THEN sDescription = DocTemplate.doc_sDescription sDoc = fTempDir()+DocTemplate.doc_sDescription+"_"+GetIdentifier() IF DocTemplate.doc_fileUpdated <> "" THEN HExtractMemo(DocTemplate,doc_fileUpdated,sDoc) ELSE HExtractMemo(DocTemplate,doc_fileOriginal,sDoc) END END DocExample is Document = sDoc
Pour remplacer tes variables c'est juste : DocReplace(DocExample,"[%wc_daReference%]", daReference)
Pour affecter le résultat au champ Traitement de texte : WP_Document = DocExample
Une fois terminé tu peux enregistrer ton document en PDF avec le fonction : DocToPDF(DocExample, sPathPDF)
Comme tu peux le constater, il s'agit d'un exemple très simple pour ne pas sortir du sujet mais en réalité tu peux faire d'autres Fichiers et Rubriques.
Astuces : --------- - Tu peux créer un template Header (toujours un document .docx) avec juste l'entête et le logo et l'emplacement de l'adresse du client (des variables ou des signets). - Idem pour le Footer qui peut contenir le signataire et le signataire extra avec des variables par exemple (le nom, la fonction et l'image de la signature) et tout en bas les coordonnées de l'entreprise. - Tu peux préparer plusieurs templates (Body). Lettre X, Lettre Y, Lettre Z,...etc. et dans ton ta lettre combine le Header le Body et le Footer. - Dans ta lettre (le Body) tu peux ajouter des paragraphes depuis la table DocParagraphes en fonction des besoins. - Si tu dois gérer des langues différentes, il suffit de mettre chaque template dans un record (enregistrement de DocTemplate). Ex. comme je suis en Belgique pour chaque template il y a deux enregistrements (Template FR et Template NL) et en fonction de la langue du dossier client on choisit le Template FR ou NL.
Avantages : ------------ Avec le champ TT et le type Document, c'est le control total de ton document, par exemple : Dans les tables DoncTemplates et DocParagraphes nous avons d'autres colonnes très utiles : - Qui le signataire de cette lettre et qui le signataire extra (juste des IDUtilisateur) que les responsables peuvent modifier. - Le groupe d'utilisateurs qui peut générer cette lettre. - Faut-il insérer l'image de la signature ou non (idem pour la signature extra). - Grace au signets on peut dire qu'il s'agit d'une lettre pour monsieur X puis dire que la même lettre est finalement pour madame Y. ....
Inconvénients : ---------------- Nous avons généré des tableaux d'amortissements avec beaucoup de lignes (pour des crédits de 30 ans par exemple) mais dessiner des tableaux par programmation prend un peut du temps à les afficher (entre 30 et 60 secondes) pour les tableaux avec beaucoup de pages le champ Etat est sorti gagnant hhh (3-5 sec) et donc pour ce genre de documents on utilise des états. |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 19 2021 - 11:10 PM |
Bonjour
je dois gérer des types de contrats dans lesquels je vais substituer des variables et insérer des paragraphes
Je voudrais utiliser pour cela le format word faire mes substitutions et ensuite générer des pdf.
Puis-je utiliser le type document avec WebDev ?
Dois je charger les .docx depuis le serveur ? ou depuis une base un champs mémo ?
Existe-t-il des exemples webdev ? voire windev dont je pourrais m'inspirer ?
Merci de vos réponses
bon je me réponds pas trouvé d'exemple mais j'ai fait des tests en windev, puis transcris cela en webdev le type document convient bien ; cela va le faire !
-- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.844 mensagems Popularité : +227 (347 votes) |
|
Publicado em abril, 20 2021 - 5:59 AM |
Bonjour, Lorsqu'on ouvre l'aide d'une fonction ou d'un type de variable, tout en haut on a un bandeau bourré d'icône qui précise les plates-formes sur lesquelles sont disponibles la fonction. Ainsi pour Document on a ça.
On voit que Document peut être utilisé dans Windev, Webdev mais pas Windev Mobile. Que sous Webdev ce type peut être utilisé côté serveur avec Linux ou Windows, mais pas dans une page PHP ni dans la partie Navigateur.
Donc un variable Document est utilisable sous Webdev mais uniquement dans le code serveur
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membro registado 1.603 mensagems Popularité : +64 (70 votes) |
|
Publicado em abril, 20 2021 - 7:30 AM |
Bonjour,
Chercher aussi une vidéo dans youtube Cela a été présenté il y a quelques années
-- Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.844 mensagems Popularité : +227 (347 votes) |
|
Publicado em abril, 20 2021 - 8:29 AM |
Par contre pour sélectionner ton docx, tu va devoir te bidouiller un TreeView via fListeFichier, fSelecteur et fSelRepertoire ne sont pas disponible en Webdev. Une autre solution est de faire un DnD via l'explorateur de fichier
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 20 2021 - 10:35 AM |
Bonjour
je dois gérer des types de contrats dans lesquels je vais substituer des variables et insérer des paragraphes
Je voudrais utiliser pour cela le format word faire mes substitutions et ensuite générer des pdf.
Puis-je utiliser le type document avec WebDev ?
Dois je charger les .docx depuis le serveur ? ou depuis une base un champs mémo ?
Existe-t-il des exemples webdev ? voire windev dont je pourrais m'inspirer ?
Merci de vos réponses
Merci à tous de vos réponses
effectivement comme dit dans un précédent message, cela va le faire.
ce test marche super en webdev Au début j'avais utilisé les signets pour insérer mes variables mais je trouve que dans Word c'est pas évident pour mes utilisateurs alors que la bonne vieille technique du rechercher remplacer à le mérite d'être claire et visible Donc je vais développer mon truc, cela va être parfait pour mon besoin.
Encore merci à tous pour vos réponses. Dommage qu'avec la modération, cela arrive en différé.
SAI_Fichier est une chaîne
SAI_Fichier=fRepWeb+[fSep]+"files\modeleContrat.docx"
monDoc est un Document pI est un entier monDoc=DocOuvre(SAI_Fichier)
wval,listevaleur,listesignet est une chaîne listesignet = "NAMEPASSAGER;DATENAISSANCE" listevaleur = "ERIC DUPUIS;28 janvier 1977" pI = 0
tabFragments est tableau de docFragments
POUR TOUTE CHAÎNE wsig DE listesignet SÉPARÉE PAR ";" pI++ VariableRAZ(tabFragments) wval = ExtraitChaîne(listevaleur,pI,";") tabFragments = DocRecherche(monDoc, "[%"+wsig+"%]") // Remplacement de tous les "%NomClient%" par le nom du client POUR TOUT f DE tabFragments f.Texte = wval FIN FIN
newfichier est une chaîne newfichier=fExtraitChemin(SAI_Fichier,fDisque+fRépertoire)+[fSep]+"newcontrat.pdf" DocVersPDF(monDoc,newfichier)
-- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|