Bonjour,
"j'imprime 1000 factures différentes à la suite."
Est ce qu'on peut savoir comment tu lance l'appel ? via une boucle ? filtre (borne min, borne max) ? filtre (condition) ? requête?...
L’état en question contient-elle des états internes? des procédures appelées avec passage de paramètres ?
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
WD iImprimeEtat qui fait planter mon logiciel
Discussion dans 'Windev' créé par C8H10N4O2, Août 3, 2020.
Page 1 sur 2
Quel est le code de ton CAS EXCEPTION ?
Quel est le code de ton CAS EXCEPTION ?Cliquez pour agrandir...
Je dirais plutôt que c'est un problème de saturation de pile quelque part (lors de l'appel des procédures ou l'initialisation des requêtes,...)
Un passage par un enchainement d’état, par exemple, peut nous donner une idée sur l'origine du problème.
en attendant je veux avoir une idée sur la nature du code utilisé lors de l'appel de l'état et le code de l’état lui même.
Je dirais plutôt que c'est un problème de saturation de pile quelque partCliquez pour agrandir...
Merci de votre aide
j'ai simplifié le code pour faire les tests et ça plante au bout de 1600 factures environ
'Detail_test' est le nom de mon état
TXT_LIMIT est un champ dans la fenêtre pour saisir le nombre maxi d'impression, au cas où
BOUCLE
ind++
sNomFichier = "c:\test\"+ind+".pdf"
iDestination(iPDFGénérique,sNomFichier)
iImprimeEtat(Detail_test, sNomTemp, Faux, 1, Null)
SI TXT_LIMIT>0 ET ind>TXT_LIMIT ALORS SORTIR
FIN
dans mon Detail_test.wde
j'ai du code dans chaque bloc, avant et après impression
ce sont des méthode d'une classe déclarée dans l'ouverture de l'état
-- Ouverture de Detail_Test
PROCÉDURE Detail_test(_pParam1="", _pParam2="", _pParam3="", _pParam4="")
GLOBAL
cloEtat est un CLImpEtatFacture()
SI cloEtat:Etat_Bloc_Init(_pParam1,_pParam<> Vrai ALORS RENVOYER Annuler
-- Avant impressions de BLOC_HAUT
cloEtat:Etat_Bloc_Haut_avant_Imp()
-- Après impressions de BLOC_HAUT
cloEtat:Etat_Bloc_Haut_apres_Imp() // note : cette méthode est vide
la méthode Etat_Bloc_Haut_avant_Imp()
rempli les libellés, champs calculés et logo dans l'entête de facture
j’espère que c'est lisible (je n'ai pas trouvé les balises 'code')
je pense aussi que c'est un pb de mémoire/pile
j'ai un autre collègue qui se penche dessus aussi
Tu n'as ni CAS ERREUR, ni CAS EXCEPTION tu ne peux pas savoir quelle est l'erreur
En prenant soin de bien cocher les cases Traitement automatique des erreursCode (Windev):BOUCLE
ind++
sNomFichier = "c:\test\"+ind+".pdf"
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(iPDFGénérique,sNomFichier)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
(Detail_test, sNomTemp, Faux, 1, Null)
FIN
CAS ERREUR
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Une erreur est survenue"+CRLF+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
())
CAS EXCEPTION
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
("Une exception est survenue"+CRLF+Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
())
popoy apprécie ceci.
Bonjour
Presque j'ai le même soussi
J'ai créé un ticket de vente dans l'éditeur windev.
Récemment, l'impression est devenue très lente (se plante), après avoir vérifié que le spouleur d'imprimante contient un ticket de taille 57 Mo, par contre la taille réelle n'est que de 100 Ko
Je ne sais plus comment la taille de mon ticket a été changé !!!!
Alors pour résoudre mon problème, je dois redemander l’imprimante
Mon problème n'arrive pas souvent
Merci d'avance de me donner une idée.
Bonjour,
Évite de polluer les posts. Ce n'est pas le même problème donc c'est un post différent.
Que renvoie ton CAS ERREUR/CAS EXCEPTION ? Quel est ton code ?
Tu n'as ni CAS ERREUR, ni CAS EXCEPTION tu ne peux pas savoir quelle est l'erreurCliquez pour agrandir...
Et ça ne me renvoie rien du tout, ni en ERREUR ,ni en EXCEPTION ...