PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2025 → Generation d'un  fichier pdf sans le Webservice
Generation d'un fichier pdf sans le Webservice
Débuté par Ralph IGCI, 04 juil. 2026 18:39 - 3 réponses
Membre enregistré
566 messages
Posté le 04 juillet 2026 - 18:39
Bonsoir
J'ai des soucis pour générer un fichier pdf dans mon webservice. J'ai cette erreur :
{"fault" : {"faultcode" : "server", "faultstring" : "Le serveur d'application WEBDEV a rencontré un état interne anormal.\nCode interne de l'erreur : CSCA256\nH:\\source\\source.GP\\269897\\Release_MoteurWEBDEV_51\\srcAwp\\CommunicationSessionClientAwp.cpp (260)\n(21, ERR_INTERNAL)\nUne erreur interne est survenue.\n\nCauses possibles :\n- General protection fault.\n- Probléme de configuration (du serveur WEB, du serveur d'application ou de l'application).\n- Problème de droits (par exemple, l'utilisateur qui exécute l'application n'est pas le bon ou ne dispose pas de droits suffisants).\n- Erreur au début du chargement de l'application.\n- Dans IIS, l'utilisateur invité Internet configuré pour le site Web (partie \"Authentification\") est différent de l'utilisateur indiqué dans la partie \"Mappage de gestionnaire\"."}}



J'ai géré les droits fatigués, rien.

sNumeroFacture est une chaîne= facture.NUMERO_FACTURE
sIdFacture est une chaîne=afcture.IDFACTURE
sRepBase est une chaîne

//Option 3 : Chemin fixe selon environnement (Windows IIS ou Linux)
<Compile SI TypeConfiguration=ApplicationLinux>

<FIN>
sRepBase = "C:\Webdata\igci\GPIMMOPRO\pdf"
sRepBase=ComplèteRep(fRepDonnées())

// --- Construction du chemin --------------------------------
sAnneeDossier = "A" + DateVersChaîne(facture.DATE_EMISSION, "AAAA")
sMoisDossier = "M" + DateVersChaîne(facture.DATE_EMISSION, "MM")

sRepertoire = sRepBase + fSep +
"Factures" + fSep +
sAnneeDossier + fSep +
sMoisDossier + fSep

SI PAS CreerRepertoireComplet(sRepertoire) ALORS
PDF_JournalEcrire("ERREUR", "Facturation_GenererPDF",
"ERR-004", "Échec création arborescence PDF",
"Répertoire=" + sRepertoire)
RENVOYER ""
FIN
//fFichierTemp()
// Nom du fichier = numéro de facture

sNomFichier = sNumeroFacture + ".pdf"
sCheminPDF est une chaîne= Remplace( sRepertoire +fSep+ sNomFichier,"-","_")


//sCheminPDF
// -- 3. Supprimer l'ancien PDF s'il existe déjà (re-génération)
SI fFichierExiste(sCheminPDF) ALORS
fSupprime(sCheminPDF)
FIN





iDestination(iPDFGénérique, sCheminPDF)
ETAT_FACTURE_V2.Imprime(sIdFacture)



SI ErreurDétectée() ALORS

<COMPILE SI Configuration<>"GP IMMO PRO ANDROID">
iDestination()
<FIN>


RENVOYER ""
FIN

RENVOYER sCheminPDF



le problème doit être sur le dossier de générations .
J'ai pensé créer un dosssier Je cherche la procédure
Membre enregistré
1 072 messages
Posté le 04 juillet 2026 - 20:48
Bonjour,
Une première réponse dans le forum Windev.
Membre enregistré
566 messages
Posté le 05 juillet 2026 - 13:23
J'ai affiné,
[code:wl]

Trace("Genere")

iDestination(iPDFGénérique, sCheminPDF)
ETAT_FACTURE_V2.Imprime(sIdFacture)
Trace("echec tirant")

[/code
]

L'état est bien généré, mais l'rreur persiste., et je n'ai même pas echec tirant. L'état a un état interne
Membre enregistré
566 messages
Posté le 05 juillet 2026 - 16:14
Bonsoir , en allant profondément dans les tests, je constate que le problème vient quand la production de l'état appelle ifinimprime:
ETAT_FACTURE_V2.Imprime(sIdFacture) le fait automatiquement
Trace("1")

iDestination(iPDFGénérique, sCheminPDF)

Trace("2")

iImprime("Bonjour")

Trace("3")

iFinImprime()

Trace("4")

tu n'auras pas le 4


Trace("1")

iDestination(iPDFGénérique, sCheminPDF)

Trace("2")

iImprime("Bonjour")

Trace("3")

//iFinImprime()

Trace("4")

Tu auras le 4. je précise que ce doit être dans un Webservice, pas dans windows.