PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Impression au format PDF directement dans un sous dossier de l'application
Impression au format PDF directement dans un sous dossier de l'application
Iniciado por Patrick PELISSON, 13,mar. 2020 18:50 - 4 respuestas
Miembro registrado
108 mensajes
Publicado el 13,marzo 2020 - 18:50
Bonjour,

Pour une application, j'ai besoin d'enregistrer toutes les factures réglés entre deux date dans un fichier au format PDF.

Le code ci-après me crée bien le sous dossier mais au lieu d'y mettre les fichiers PDF, il me recrée des sous dossier vides (1 par facture) et affiche l'info "Aucune donnée à imprimer".

Voici le code :
SI OuiNon(Oui,"confirmez-vous la création d'un dossier contenant une"+RC+"copie des factures réglées au format PDF ?")=Oui ALORS
sD_Debut est une chaîne =DateVersChaîne(date1,"JJ_MM_AAAA")
sD_Fin est une chaîne =DateVersChaîne(date2,"JJ_MM_AAAA")
sCheminPDF est une chaîne
NomFichier est une chaîne
nCompte est un entier = 0
IDSELECT est un entiers sur 8 octets
SI fRépertoireExiste(fRepDonnées()+"Factures du "+sD_Debut+" au "+sD_Fin)=Faux ALORS
fRepCrée(fRepDonnées()+"\Factures du "+sD_Debut+" au "+sD_Fin+"\")
FIN
POUR TOUT HONORAIRE AVEC DATE_PAIE=date1 À date2
IDSELECT=HONORAIRE.IDPatient
sNUM_FACT est une chaîne=HONORAIRE.NUMERO+".PDF"
nCompte+=1
NomFichier=fRepDonnées()+"\Factures du "+sD_Debut+" au "+sD_Fin+"\"+sNUM_FACT
// Impression au format PDF
iDestination(iPDFGénérique, NomFichier)
iImprimeEtat(NOTE_HONORAIRE,IDSELECT,IDSELECT)
FIN
FIN


Si quelqu'un vois l'erreur, je suis preneur car j'avoue 'sécher' sur ce problème...
D'avance merci de votre aide,
Cordialement

--
Patrick PELISSON
Publicado el 13,marzo 2020 - 23:48
Bonjour,
Peut-être remplacer SI fRépertoireExiste(fRepDonnées()+"Factures du "+sD_Debut+" au "+sD_Fin)=Faux ALORS
par SI fRépertoireExiste(fRepDonnées()+"\Factures du "+sD_Debut+" au "+sD_Fin)=Faux ALORS

Cordialement

E. Rossi
Publicado el 14,marzo 2020 - 09:49
Bonjour,

peut-être modifier ces lignes :

SI fRépertoireExiste(fRepDonnées()+"\Factures du "+sD_Debut+" au "+sD_Fin)=Faux ALORS
fRepCrée(fRepDonnées()+"\Factures du "+sD_Debut+" au "+sD_Fin)
FIN

Cordialement,

E. Rossi
Miembro registrado
2.321 mensajes
Publicado el 14,marzo 2020 - 10:00
Bonjour,

Je ne vois pas d'erreur évidente mais je propose une simplification du code :
SI OuiNon(Oui,"confirmez-vous la création d'un dossier contenant une"+RC+"copie des factures réglées au format PDF ?")=Oui ALORS
sD_Debut est une chaîne =DateVersChaîne(date1,"JJ_MM_AAAA")
sD_Fin est une chaîne =DateVersChaîne(date2,"JJ_MM_AAAA")
sCheminPDF est une chaîne
NomFichier est une chaîne
nCompte est un entier = 0
sCheminPDF = fRepDonnées()+ ["\"] +"Factures du "+sD_Debut+" au "+sD_Fin
SI fRépertoireExiste(sCheminPDF) = Faux ALORS
fRepCrée(sCheminPDF)
FIN
POUR TOUT HONORAIRE AVEC DATE_PAIE=date1 À date2
IDSELECT=HONORAIRE.IDPatient
nCompte+=1
NomFichier=sCheminPDF+["\"]+HONORAIRE.NUMERO+".PDF"
// Impression au format PDF
iDestination(iPDFGénérique, NomFichier)
iImprimeEtat(NOTE_HONORAIRE, HONORAIRE.IDPatient, HONORAIRE.IDPatient)
FIN
FIN


--
Bon dev,
Jean-Pierre
Miembro registrado
108 mensajes
Publicado el 14,marzo 2020 - 11:34
Merci Jean-Pierre pour ta simplification du Code.

J'ai trouvé mon anomalie. En voici le détail car elle peut servir à d'autre...

La numérotation de ma facture est comme ceci 20200101/01
Incluse dans le NomFichier de destination, la barre de fraction incluse dans la chaîne était lue comme un sous dossier !
J'ai utilisé la fonction 'Remplace' pour la mettre au format 20200101_01 avant de l'inclure dans NomFichier de destination et tout fonctionne....

Cordialement

--
Patrick PELISSON