PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Impression d'un pdf
Impression d'un pdf
Débuté par MEITE, 02 jan. 2025 10:19 - 2 réponses
Posté le 02 janvier 2025 - 10:19
HLitPremier(Agen)
TANTQUE PAS HEnDehors(Agen)
Ret_nom_agent, Ret_Direction sont des chaîne
Ret_nom_agent= Agen.Agen_Nom+" "+Agen.Agen_Prenom
Ret_Direction=FEN_IMPRESSION_PAR_DIRECTION.COMBO_DIRECT..ValeurAffichée
// Impression au format PDF
RET_DE_PDF est une chaîne = ComplèteRep(fRepDonnées()) +...
"BADGE_" + Ret_Direction+ "/"+Ret_nom_agent+".JPEG"

iDestination(iPDF, RET_DE_PDF)

iImprimeEtat(ETAT_BADGE_AGENT_ANSAT)

HLitSuivant(Agen)

FIN


j'ai ce code qui ne marche pas comme je veux, aidez moi à le parfaire.
Lorsque je l'exécute, J'obtient le nombre de fichier équivalent au nombre d'enregistrement (à ce niveau c'est bon). Les états (pdf) portent les noms présents dans la table (pas de soucis aussi).
le souci est que chacun des fichiers contient l'ensemble des badges.
je ne sais pas à quel niveau je me suis perdu .
help me please😔😔😔
Membre enregistré
175 messages
Posté le 03 janvier 2025 - 09:52
Bonjour

Je vois votre problème, vous voulez imprimer plusieurs état dans un unique procédure, j'ai trois solution pour vous

1. Soit vous devrez remplacer l'extension de la variable '.JPEG' par '.Pdf'
2. Soit vous devrez récupérer d'abord l'indice de sélection du combo, ensuite vous pouvez utiliser la syntaxe ValeurAffichée
3. Soit vous devrez mettre en bonne structure votre code, le rénommage des variables par exemple, pour des raisons d'entretien du projet

Vous pouvez utiliser ce code

PROCÉDURE PRIVÉ Imprimer()
// EDD (01/25) : Ce procédure est à remettre dans la parcours de la requête Sql
eEntier is entier
sAgent, sChemin, sDirection is string
eEntier = ListeSelect(COMBO_DIRECT)
IF eEntier = -1 THEN
Info("Merci de sélectionner la lise de direction s'il vous plaît.")
ELSE
sAgent = {"Agen.Agen_Nom", indRubrique} + " " + {"Agen.Agen_Prenom", indRubrique}
sDirection = COMBO_DIRECT[eEntier]..ValeurAffichée
sChemin = ComplèteRep(fRepDonnées()) + "BADGE_" + sDirection + "/" + sAgent +".Pdf"
iDestination(iPDF, sChemin)
iImprimeEtat("ETAT_BADGE_AGENT_ANSAT")
END

NB : Je trouve votre code est bien en ordre

Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy
Membre enregistré
4 185 messages
Posté le 03 janvier 2025 - 09:55
Bonjour,
Il faut passer par un état paramétré ou basé sur une requête paramétrée, par exemple en passant par la PK de l'agent.
Par ailleurs, il est fortement conseillé d'utiliser iPdfGénérique à la place de iPdf

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM