PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2025 → Generation d'un  fichier pdf sans le Webservice
Generation d'un fichier pdf sans le Webservice
Started by Ralph IGCI, Jul., 04 2026 6:39 PM - 3 replies
Registered member
566 messages
Posted on July, 04 2026 - 6:39 PM
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
Registered member
1,072 messages
Posted on July, 04 2026 - 8:48 PM
Bonjour,
Une première réponse dans le forum Windev.
Registered member
566 messages
Posted on July, 05 2026 - 1:23 PM
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
Registered member
566 messages
Posted on July, 05 2026 - 4:14 PM
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.