Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2004, 22h22   #1
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut Création de Report PDF

1 / Je voudrais voir comment fonctionne le XMLC_OutputFormat=PDF.
J'ai tenté de créer un report maître/détails, mais lors de son execution j'ai le message suivant :

Code :
ConvertHTMLtoPDF Erreur système. Code : 3. Le chemin d'accès spécifié est introuvable
2 / je me suis inspiré de l'exemple "Pubs" et j'y ai vu :

XMLC_HTML2PDF = C:\Program Files\HTMLDOC\ghtmldoc.exe
qu'est ce que c'est ?

3 / Dans le xsl du report je voudrais utiliser les temples de xslc.xsl, mais il refuse les "import", comment puis-je faire ?
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2004, 11h00   #2
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
tu cherches XMLC_HTML2PDF dans http://xmlrad.com/manual/appendix14/index.htm et tu auras plus d'explications
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2004, 19h25   #3
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Merci pour le lien, j'ai pas été très curieux ! Maintenant ça marche bien pour ouvrir un jolie pdf.

En regardant l'exemple Pubs, il y a aussi la possibilité de faire un écran d'impression sous forme HTML en cliquant sur le bouton "button_print' (l'imprimante). Donc en plus d'imprimer vers un pdf, j'aimerais donner la possibilté d'avoir une impression sur HTML car c'est un bon moyen de faire un preview rapide en fait. Enfin, j'aimerais exporter ces données sous forme de fichier mais cela fait l'objet d'un autre thème. Revenons donc à l'impression vers HTML.

Au regard de l'exemple Pubs, il suffit d'ajouter XMLC_OutputFormat=HTML ! Et bien sûr avec mon appli, ça marche de façon boiteuse ! Voilà mon problème :

Je veux exporter des données entre deux bornes (FIRST et LAST) saisies par l'utilisateur. Pour cela, j'ai créer un petit formulaire avec deux input texte (FIRST et LAST), puis 3 input image : save (autre sujet), print_pdf, print_html.

Le print_pdf fonctionne à merveille avec l'input suivant :
Code :
<input type="image" border="1" alt="{/document/Locales/FilePDF}" src="{$XMLC_PictosPath}button_pdf.gif" onclick="ACTION.value='ReportXXX';"/>
Aussi le print_html devrait fonctionner avec :
Code :
<input type="image" border="1" alt="{/document/Locales/Print}" src="{$XMLC_PictosPath}button_print.gif" onclick="ACTION.value='ReportXXX?XMLC_OutputFormat=HTML';"/>
Bah non, j'ai le message :
Component "REPORTXXX?XMLC_OUTPUTFORMAT=HTML" not found.

J'ai essayé de mettre un lien à la place contenant l'image :
Code :
1
2
3
<a href="ReportXXX?XMLC_OutputFormat=HTML" target="blank">
<img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif"/>
</a>
J'ai bien un écran d'impression html mais sans données. Par contre, si je force les valeurs de FIRST et de LAST, c'est parfait :
Code :
1
2
3
<a href="{/document/Aliases/MACWEBDLL}ReportCOMPTA?XMLC_OutputFormat=HTML&amp;FIRST=200401&amp;LAST=200402" target="blank">
<img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif"/>
</a>
En fait je n'arrive pas à récupérer les valeurs du formulaire !

La méthode m'est égale, je veux juste avoir un résultat correct !

Merci
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 14h07   #4
EJ
Nouveau Membre du Club
 
Inscription : mai 2004
Messages : 84
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 84
Points : 34
Points : 34
Envoyer un message via ICQ à EJ Envoyer un message via AIM à EJ Envoyer un message via MSN à EJ
Est-ce que tes valeurs sont bien envoyées dans le context?
Si tu appelles une valeur qui n'est pas valorisée, c'est normal qu'il ne te donne rien: est-ce que tu utilises bien le bon formulaire pour passer tes valeurs?
Ensuite l'autre possibilité que je vois, c'est que dans le lien il faut éventuellement que tu lui précises qu'il utilise ces paramètres.
J'utilise la petite icone du bandeau XMLRAD avec ça à la place du lien du ToolbarButton qui a l'image de l'imprimante: {$XMLC_PictosPath}button_print.gif
Code :
1
2
3
4
   <xsl:with-param name="HRef">
   <xsl:value-of select="/document/Aliases/MonappliDLL"/>Monreport?MonParams=<xsl:value-of select="/document/Params/MonParams"></xsl:value-of>
   </xsl:with-param>
   <xsl:with-param name="Target">_blank</xsl:with-param>
Mais c'est vrai que mes pramètres sont passés par le context, pas par un formulaire...

En espérant que ça pourra t'aider
EJ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 14h27   #5
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut Les valeurs ne sont pas dans le context

Le problème est bien là : les valeurs ne sont pas dans le context. Pourtant aussi bien mon input que mon Href sont dans mon formulaire (méthode post), avec le input, les valeurs sont mises dans le context car ça marche ; mais avec le href, elles ne sont pas envoyées dans le context avant l'exécution. Aussi la solution que tu me proposes ne marche pas car dans les xsl:value-of la valeur de "/document/Params/MonParams" est vide !
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 15h40   #6
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
J'ai l'impression que tu t'emmèle un peu les pinceaux.
1 ReportXXX?XMLC_OutputFormat=HTML n'a pas trop de sens puisque par défaut les feuilles xsl génèrent du html. Aussi, à partir du moment où ReportXXX.xsl existe tu peux générer du html comme pour tous les xmlservices visuels.
2 si tu fais un href, tu n'as pas besoin de formulaire dans la mesure où il n'y a pas de post d'effectué. Les seuls params qui sont passés sont ceux de ton href (dans ton exemple ReportCOMPTA?FIRST=200401&amp;LAST=200402). A partir du moment où ton ReportCOMPTA attend bien les deux params FIRST et LAST (et rien qu'eux) alors ça doit fonctionner.
Si tu utilises un formulaire, lors du post, ReportCOMPTA va recevoir aussi les deux params FIRST et LAST. Masi pour cela il faut faire un submit. Hors dans l'exemple que tu donnes il n'y a pas de submit. Le mieux est d'utiliser les fonctions apportées par xslc.js (toujours enrichissant à consulter :o ). Tu fais (en supposant que tu as <form name="MainForm"...>)
Code :
1
2
3
4
5
6
 
<img...>
     <xsl:attribute name="onclick">
          SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA');
     </xsl:attribute>
</img>
Tu peux passer aussi d'autres params en faisant des <input type="hidden" name="XMLC_OutputFormat"/> et juste avant le SubmitForm.. tu fais SetField('MainForm', 'XMLC_OutputFormat', 'PDF') dans le cas où tu fais une génération PDF et tu le laisse vide (pas de SetField) si tu veux une preview HTML.

Voilà j'espère que ça t'éclaire un peu.
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 16h54   #7
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut ça avance !

Ouais, je m'emmèle un pneu les pinceaux ! Mais ça avance !

1 / Peux-tu me confirmaer cette affirmation : "Je ne peux pas utiliser de Href car mes données proviennent d'un formulaire de saisie à l'écran et sans post, pas possible !"

2 / Dans mon exemple, il n'y a peut être pas de submit mais lors que je clique sur l'icone avec le code suivant ça marche :
Code :
<input type="image" border="1" alt="{/document/Locales/FilePDF}" src="{$XMLC_PictosPath}button_pdf.gif" onclick="ACTION.value='ReportXXX';"/>
C'est pour cela que je pensais que ça marcherait avec '?XMLC_OutputFormat=HTML' en plus.
De plus, lors que je supprime la valeur PDF à OutputFormat dans mes Params, j'obtiens bien une belle page HTML. Aussi, sans submit, ça marche bien aussi ; mais ok, pas comme je veux !

3 / Parlons de ton idée avec le code suivant :
Code :
1
2
3
<xsl:attribute name="onclick"> 
          SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA'); 
     </xsl:attribute>
En fait, il n'était pas dans mon projet, je l'ai ajouté dans mon sharedPortal et je peux désormais cliquer sur l'icone. Mais cela m'envoie sur une autre forme qui n'a rien à voir. Je cherche pourquoi, mais je ne doit pas être loin !
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 17h21   #8
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
Par défaut Re: ça avance !

Citation:
Envoyé par bidson
1 / Peux-tu me confirmaer cette affirmation : "Je ne peux pas utiliser de Href car mes données proviennent d'un formulaire de saisie à l'écran et sans post, pas possible !"
Non, tu peux aussi utiliser href et les params sont passés dans l'url.

Citation:
Envoyé par bidson
3 / Parlons de ton idée avec le code suivant :
Code :
1
2
3
<xsl:attribute name="onclick"> 
          SubmitForm('MainForm, 'ACTION', 'ReportCOMPTA'); 
     </xsl:attribute>
Tout ce que ça fait, c'est de faire le post de ton formulaire vers le xmlservice ReportCOMPTA (c'est équivalent à href=".../ReportCOMPTA?FIRST=...&amp;LAST=..."). J'utlise beaucoup cette technique et ça m'envoie toujours sur le xmlservice souhaité

Effectivement tu dois pas être très loin... bon courage et n'hésite pas à poser des questions si tu n'as pas toutes tes réponses
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 17h44   #9
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut ça marche !

Enfin, ça marche !
J'ai donc :
Code :
1
2
3
4
<img alt="{/document/Locales/FilePDF}" border="0" src="{$XMLC_PictosPath}button_pdf.gif">
<xsl:attribute name="onclick">SetField('MainForm', 'XMLC_OutputFormat', 'PDF'); SubmitForm('MainForm', 'ACTION', 'ReportXXX');
</xsl:attribute>
</img>
et
Code :
1
2
3
4
<img alt="{/document/Locales/FilePDF}" border="0" src="{$XMLC_PictosPath}button_pdf.gif">
<xsl:attribute name="onclick">SetField('MainForm', 'XMLC_OutputFormat', 'HTML'); SubmitForm('MainForm', 'ACTION', 'ReportXXX');
</xsl:attribute>
</img>
Je suis obligé à chaque fois de mettre un paramètre (PDF ou HTML) car il le garde en mémoire.

Deux dernières petites questions :

1 / A quoi sert return false à la fin du submit ?
2 / comment puis-je pour ouvrir dans une nouvelle fenêtre la visualisation en HTML j'ai essayé :
Code :
<img alt="{/document/Locales/Print}" border="0" src="{$XMLC_PictosPath}button_print.gif" target="blank">
mais ça marche pas !

Merci
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 17h52   #10
Membre habitué
 
Inscription : novembre 2002
Messages : 243
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 243
Points : 149
Points : 149
pour l'ouverture dans une nouvel fenètre, le target="_blank" fonctionne avec le href. Tu peux faire win = window.open(location, params) qui te permet grace aux params d'ouvrir une fenètre sans statusbar, scrollbar, locationbar... ce qui est sympa.
Pierre FORAZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 22h15   #11
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut ça va venir

J'utilise donc windows.open pour afficher mes données sur une nouvelles page. Je me suis inspiré des sources de XMLRAD avec le test à un base de données. Voici mon code :

Code :
1
2
<xsl:attribute name="onclick">window.open('','HTMLPopup','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1, resizable=1,width=500,height=500,left=100,top=100'); SetField('MainForm', 'XMLC_OutputFormat', 'HTML'); SubmitForm('MainForm', 'ACTION', 'ReportCOMPTA',TARGET,'HTMLPopup'); 
</xsl:attribute>
Je crée une fenetre appelée 'HTMLPopup' et je fais le submit à l'intérieur par le TARGET, mais la fenetre est vide et ma page principe ne bouge pas, elle reste sur ma forme de sélection de l'intervalle.

Si je vire la fin de mon submitform (SubmitForm('MainForm', 'ACTION', 'ReportCOMPTA'); ), alors mes données s'affichent dans ma forme principale et que j'ouvre une fenetre vide comme précédement.

Il doit manquer quelque chose !!!
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2004, 22h20   #12
Membre à l'essai
 
Inscription : avril 2003
Messages : 123
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 123
Points : 24
Points : 24
Par défaut J'ai trouvé

En relisant mon message, j'ai vu qu'il manquait des quote à 'TARGET' !!!

Merci pour tout
__________________
Température de l'eau : 28 °
Température extérieure : 32°
Température au fond du verre : 50° ~ 55°
------ Mangez des bananes ----------
bidson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h17.


 
 
 
 
Partenaires

Hébergement Web