Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
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 15/05/2008, 15h47   #1
Candidat au titre de Membre du Club
 
Eric
Inscription : juin 2007
Messages : 60
Détails du profil
Informations personnelles :
Nom : Eric
Localisation : France, Seine et Marne (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 60
Points : 12
Points : 12
Par défaut [2.1.3][Graphique] Ajouter une variable paramétre dans le titre

Bonjour à tous

J'ai créé un graphique et je voudrais pouvoir mettre dans le titre de mon graphique ceci :

Répartition des écritures par mois pour la société : SOC-A


SOC A correspond à une variable Report parameter : params["societe"]

Ma question : Comment faire pour insérer dans mon titre la variable ?

Merci d'avance
EFFLYINGJOKER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 16h11   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Je pense que tu peux faire comme ceci :

Tu sélectionnes ton chart, tu vas dans l'onglet script puis dans le menu déroulant tu sélectionnes onRender. Dans le second menu déroulant afterGeneration (ou un autre je ne sais pas lequel il faut utiliser) puis le remplis comme ça :
Code Javascript :
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * Called after generation of chart model to GeneratedChartState.
 * 
 * @param gcs
 *            GeneratedChartState
 * @param icsc
 *            IChartScriptContext
 */
 
function afterGeneration(gcs, icsc)
{
	gcs.getChartModel().getTitle().setLabel(params["monTitre"].value);
}

Solution non vérifiée
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2009, 17h13   #3
Membre du Club
 
Inscription : décembre 2008
Messages : 145
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 145
Points : 48
Points : 48
Par défaut Exception javascript: ReferenceError

je relance le sujet,

j'ai essayé le script que BiM a indiqué, il génère une exception car il ne trouve pas le paramètre:

voici mon code:
Code :
1
2
3
4
function beforeGeneration( chart, icsc )
{
chart.getTitle().getLabel().getCaption().setValue(params["catalogue"].value);
}
suivi de l'exception levée:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Chart NouveauGraphique1: 
- ReferenceError: "params" n'est pas défini à la ligne 13 du script du graphique :'' 
exception.javascript.error ( 1 fois )
 
détails : org.eclipse.birt.report.engine.api.EngineException: ReferenceError: "params" n'est pas défini à la ligne 13 du script du graphique :'' 
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1121) 
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:933) 
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.visitForeign(LocalizedContentVisitor.java:501) 
at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:69) 
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.localize(LocalizedContentVisitor.java:150) 
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:36) 
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63) 
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101) 
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151) 
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72) 
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:877) 
at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:938) 
at org.eclipse.birt.report.service.actionhandler.BirtGetPageAllActionHandler.__execute(BirtGetPageAllActionHandler.java:131) 
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143) 
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPageAll(BirtDocumentProcessor.java:183) 
at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112) 
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66) 
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:616) 
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) 
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) 
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) 
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) 
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269) 
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) 
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677) 
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) 
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) 
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) 
at org.mortbay.http.HttpServer.service(HttpServer.java:909) 
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) 
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) 
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) 
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) 
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) 
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)Caused 
by: org.eclipse.birt.chart.exception.ChartException: ReferenceError: "params" n'est pas défini à la ligne 13 du script du graphique :'' 
at org.eclipse.birt.chart.script.ScriptHandler.convertException(ScriptHandler.java:1138) 
at org.eclipse.birt.chart.script.ScriptHandler.callJavaScriptFunction(ScriptHandler.java:616) 
at org.eclipse.birt.chart.script.ScriptHandler.callFunction(ScriptHandler.java:916) 
at org.eclipse.birt.chart.factory.Generator.build(Generator.java:991) 
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.buildChart(ChartReportItemPresentationBase.java:877) 
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationBase.onRowSets(ChartReportItemPresentationBase.java:736) 
at org.eclipse.birt.chart.reportitem.ChartReportItemPresentationProxy.onRowSets(ChartReportItemPresentationProxy.java:105) 
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.processExtendedContent(LocalizedContentVisitor.java:909) 
... 56 moreCaused by: org.mozilla.javascript.EcmaError: ReferenceError: "params" n'est pas défini (/report/body/extended-item[@id="698"]/method[@name="onRender"]#13) 
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350) 
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340) 
at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3413) 
at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1678) 
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1617) 
at org.mozilla.javascript.gen.c9969._c1(/report/body/extended-item[@id="698"]/method[@name="onRender"]:13) 
at org.mozilla.javascript.gen.c9969.call(/report/body/extended-item[@id="698"]/method[@name="onRender"])
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) 
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) 
at org.mozilla.javascript.gen.c9969.call(/report/body/extended-item[@id="698"]/method[@name="onRender"]) 
at org.eclipse.birt.chart.script.ScriptHandler.callJavaScriptFunction(ScriptHandler.java:612) ... 62 more
Cela voudrait donc dire qu'il ne fait pas le lien avec les paramètres. Comment peut-on le faire? j'ai essayé d'ajouter le paramètre dans le binding, sans succès.
dodane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2009, 17h22   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

En effet comme je l'explique dans ce sujet :
http://www.developpez.net/forums/d73...tleaxis-chart/
... les paramètres ne sont pas connus à partir des Chart mais il est cependant possible de les récupérer comme ceci dans les fonctions des charts :
Code JavaScript :
1
2
contexte = icsc.getExternalContext().getObject();
valeur = contexte.getParameterValue("monTitre");

Ainsi la fonction ressemble à ceci :
Code JavaScript :
1
2
3
4
5
6
function beforeGeneration(chart, icsc)
{
    contexte = icsc.getExternalContext().getObject();
    valeur = contexte.getParameterValue("monTitre");
    chart.getTitle().getLabel().getCaption().setValue(valeur);
}
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2009, 17h27   #5
Membre du Club
 
Inscription : décembre 2008
Messages : 145
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 145
Points : 48
Points : 48
Merci, ça marche impeccable!
(j'avais pourtant fouillé dans les fonctions mais pas jusque là. )
dodane 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 17h04.


 
 
 
 
Partenaires

Hébergement Web