IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Convertir des chiffres en lettres


Sujet :

BIRT

  1. #1
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut Convertir des chiffres en lettres
    bonjour,
    dans mon rapport j'ai besoin de convertir le résultat de ma requête qui m'affiche des chiffres en lettres pour cela j'ai créer une classe java pour la conversion mon problème et le suivant:
    1- comment integer ma classe java dans BIRT.
    2- comment passer le résultat de ma requête dans la classe pour le convertir.
    voici un bout du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     String valx="";
       String valy="";
     
       int x=0;
       String nbr = "2545.36";
     
       x=nbr.indexOf(".");
       valx=nbr.substring(0,x);
       valy=nbr.substring(x+1,nbr.length());
       long ax=Long.parseLong(valx);
       long ay=Long.parseLong(valy);
     
       if(x!= -1)
       {
     
       System.out.println(""+getLettre(ax)+" Dinars et "+getLettre(ay)+" Millimes");
     
       }
     
       else
       {
     
       System.out.println(""+getLettre(ax)+" Dinars ");
     
       }
    merci d'avance pour votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par stratocasters Voir le message
    dans mon rapport j'ai besoin de convertir le résultat de ma requête qui m'affiche des chiffres en lettres pour cela j'ai créer une classe java
    SOLUTION COMMUNE

    1ere étatpe: 2 solutions
    ------------
    Pourquoi ne pas faire une COMPUTED column de type STRING?
    ou alors
    Pourquoi ne pas passer ton DATA d'affichage au type STRING?.

    2eme etape:
    ------------
    Puis utiliser la propriété FORMAT NUMBER du DATA.
    Ainsi, tu formateras facilement n'importe quel chiffre avec les formats BIRTiens (cad JavaScript).

    Citation Envoyé par stratocasters Voir le message
    pour la conversion mon problème et le suivant:
    1- comment integer ma classe java dans BIRT.
    2- comment passer le résultat de ma requête dans la classe pour le convertir.
    SOLUTION SPECIFIQUE

    Ta demande est assez spécifique, donc autre solution:
    ----------------------------------------------------
    1> tu mets ta classe dans le INITIALIZE du REPORT (tres facile).
    2> tu as besoin d'un objet, aussi il te faut une variable que tu vas instantiée dans le INITIALIZE.
    Après quand tu as besoin de formater, tu MAJ ta variable grace à la méthode de classe et la valeur lue.
    Ensuite, dans la zone plutot DYNAMIC TEXT (cette fois), tu mets le nom de ta variable.

    Normalement, ça devrai marcher.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  3. #3
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par birt1976 Voir le message
    SOLUTION COMMUNE

    1ere étatpe: 2 solutions
    ------------
    Pourquoi ne pas faire une COMPUTED column de type STRING?
    ou alors
    Pourquoi ne pas passer ton DATA d'affichage au type STRING?.

    2eme etape:
    ------------
    Puis utiliser la propriété FORMAT NUMBER du DATA.
    Ainsi, tu formateras facilement n'importe quel chiffre avec les formats BIRTiens (cad JavaScript).
    merci pour ta réponse peut être que je vais opter pour la première solution mais j'ai une petite question est ce que je dois créer la fonction en javaScript ou bien elle existe déjà.

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par stratocasters Voir le message
    merci pour ta réponse peut être que je vais opter pour la première solution mais j'ai une petite question est ce que je dois créer la fonction en javaScript ou bien elle existe déjà.
    Dans la 1ere solution, il n'y a aucune fonction à créer.
    C'est encapsuler dans BIRT.

    Faut modifier une PROPERTIES du DATA qui s'appelle FORMAT NUMBER.
    Tu la mets à CURRENCY, PERCENT, SCIENTIFIC, CUSTOM etc..., et tu peux faire pas mal de petit truc.
    Faut juste selectionné ton DATA dans BIRD et magique, tu auras plein de possibilité de formatage de tes nombres.
    N'oublie pas, mets ton DATA au format STRING.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  5. #5
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par birt1976 Voir le message
    Dans la 1ere solution, il n'y a aucune fonction à créer.
    C'est encapsuler dans BIRT.

    Faut modifier une PROPERTIES du DATA qui s'appelle FORMAT NUMBER.
    Tu la mets à CURRENCY, PERCENT, SCIENTIFIC, CUSTOM etc..., et tu peux faire pas mal de petit truc.
    Faut juste selectionné ton DATA dans BIRD et magique, tu auras plein de possibilité de formatage de tes nombres.
    N'oublie pas, mets ton DATA au format STRING.
    bein j'ai suivi exactement ta methode ,mon DATA SET é en STRING et j'ai essayer
    toutes les proprietes dans le Format Number mais malheureusement aucun changement.
    toujours mon DATA SET m'affiche le resultat de la requete en chiffre

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par stratocasters Voir le message
    bein j'ai suivi exactement ta methode ,mon DATA SET é en STRING et j'ai essayer
    toutes les proprietes dans le Format Number mais malheureusement aucun changement.
    toujours mon DATA SET m'affiche le resultat de la requete en chiffre
    Tu voulais faire quoi exactement ?

    1> cas simple:
    ---------------
    Car ce que j'ai donné comme solution 1, ca fait par exemple:
    Chiffre en arrivée : 2532.2632
    Affichage en STRING: 2532.26
    Ca change pas grand chose, mais c'est du string.

    2> cas complexe:
    -----------------
    Aussi, je me demande si tu ne veux pas plutot ca, exemple:
    Chiffre en arrivée : 2532.2632
    Affichage francais: deux milles cinq cents trente deux dinars vingt six centimes.
    affichage anglais: two thousand five hundred thirty two dinars twenty six centimes
    Dans ce cas, je crains que tu sois obligé de faire une classe et d'avoir une propriété langue et des méthodes suivant la valeur de la propriété langue.

    Là, tu vas avoir du boulot.


    Dis moi, ce que tu cherches à faire, car j'ai p-e mal compris ta demande.


    EDIT:
    Je crois bien que tu es dans le cas2.
    Pour le moment, je vais pas chercher ta réponse car le travail à effectuer est plutot difficile, et j'ai également des problèmes difficles.
    Ta seule possibilité, utilise la RECHERCHE sur le forum ou sur GOOGLE.

    Sachant qu'à développer tout seul, ça parait être assez compliquer, mais faisable.
    Mais p-e que quelqu'un a déjà effectuer ce code, mais pas sûr.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  7. #7
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par birt1976 Voir le message
    Tu voulais faire quoi exactement ?


    2> cas complexe:
    -----------------
    Aussi, je me demande si tu ne veux pas plutot ca, exemple:
    Chiffre en arrivée : 2532.2632
    Affichage francais: deux milles cinq cents trente deux dinars vingt six centimes.
    affichage anglais: two thousand five hundred thirty two dinars twenty six centimes
    Dans ce cas, je crains que tu sois obligé de faire une classe et d'avoir une propriété langue et des méthodes suivant la valeur de la propriété langue.

    Là, tu vas avoir du boulot.


    .
    oui je suis dans le 2ème cas je veux bien convertir le resultat en lettre.
    Chiffre en arrivée : 2532.2632
    Affichage francais: deux milles cinq cents trente deux dinars vingt six centimes.
    oui c exactement ca. et comme j'ai di dans mon premier message j'ai creer une classe en java qui convertit un nombre en lettre mais mon probleme c'est
    1- comment integrer ma classe java dans BIRT.
    2- comment passer le résultat de ma requête dans la classe pour le convertir.
    merci encore une fois.

  8. #8
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Citation Envoyé par stratocasters Voir le message
    oui je suis dans le 2ème cas je veux bien convertir le resultat en lettre. oui c exactement ca. et comme j'ai di dans mon premier message j'ai creer une classe en java qui convertit un nombre en lettre mais mon probleme c'est
    1- comment integrer ma classe java dans BIRT.
    2- comment passer le résultat de ma requête dans la classe pour le convertir.
    merci encore une fois.
    Ca j'ai déjà repondu

    SOLUTION SPECIFIQUE

    Ta demande est assez spécifique, donc autre solution:
    ----------------------------------------------------
    1> tu mets ta classe dans le INITIALIZE du REPORT (tres facile).
    2> tu as besoin d'un objet, aussi il te faut une variable que tu vas instantiée dans le INITIALIZE.
    Après quand tu as besoin de formater, tu MAJ ta variable grace à la méthode de classe et la valeur lue.
    Ensuite, dans la zone plutot DYNAMIC TEXT (cette fois), tu mets le nom de ta variable.

    Normalement, ça devrai marcher.
    Mais plutot que d'utiliser un DYNAMIC TEXT, tu peux faire autremment.
    Créer une COMPUTED COLUMN dans le DataSet et MAJ la variable puis la COMPUTED dans la COMPUTED elle-même.

    Ce qu'y te reste à faire n'est pas très dur, courage.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par stratocasters Voir le message
    1- comment integrer ma classe java dans BIRT.
    2- comment passer le résultat de ma requête dans la classe pour le convertir.
    merci encore une fois.
    1. Tu crées ton dataset
    2. Tu ajoutes un colonne (computed columns) avec comme valeur (expression) :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      importPackage( Packages.[monPackage] );
      MaClasse.maFonction(row["monChamp"]);

  10. #10
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par erwan.bodere Voir le message
    1. Tu crées ton dataset
    2. Tu ajoutes un colonne (computed columns) avec comme valeur (expression) :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      importPackage( Packages.[monPackage] );
      MaClasse.maFonction(row["monChamp"]);
    bonjour j'ai le message d'erreur suivant :
    Data (id = 650):
    + A BIRT exception occurred: Error evaluating Javascript expression. Script engine error: ReferenceError: "Nombre" n'est pas défini
    Script source: null, line: 1, text:
    <compiled script>. See next exception for more information.
    Error evaluating Javascript expression. Script engine error: ReferenceError: "Nombre" n'est pas défini
    Script source: null, line: 1, text:
    <compiled script>
    data.engine.BirtException ( 1 time(s) )
    detail : org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred: Error evaluating Javascript expression. Script engine error: ReferenceError: "Nombre" n'est pas défini Script source: null, line: 1, text:<compiled script>. See next exception for more information.Error evaluating Javascript expression. Script engine error: ReferenceError: "Nombre" n'est pas défini Script source: null, line: 1, text:<compiled script> at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:118) at org.eclipse.birt.data.engine.expression.BytecodeExpression.evaluate(BytecodeExpression.java:53) at org.eclipse.birt.data.engine.expression.ExprEvaluateUtil.evaluateCompiledExpression(ExprEvaluateUtil.java:174) at org.eclipse.birt.data.engine.expression.ExprEvaluateUtil.evaluateExpression(ExprEvaluateUtil.java:63) at org.eclipse.birt.data.engine.impl.BindingColumnsEvalUtil.evaluateValue(BindingColumnsEvalUtil.java:190) at org.eclipse.birt.data.engine.impl.BindingColumnsEvalUtil.getColumnsValue(BindingColumnsEvalUtil.java:147) at org.eclipse.birt.data.engine.impl.ResultIterator.prepareCurrentRow(ResultIterator.java:338) at org.eclipse.birt.data.engine.impl.ResultIterator.next(ResultIterator.java:192) at org.eclipse.birt.report.engine.data.dte.DteResultSet.next(DteResultSet.java:195) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:65) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:73) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:35) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:63) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:94) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutChildren(HTMLInlineStackingLM.java:138) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLRowLM.layout(HTMLRowLM.java:30) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:74) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:94) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutChildren(HTMLInlineStackingLM.java:138) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLRowLM.layout(HTMLRowLM.java:30) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutChildren(HTMLBlockStackingLM.java:68) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:74) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:159) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:139) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:81) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:85) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:142) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(Unknown Source) at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(Unknown Source) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(Unknown Source) at org.eclipse.birt.report.presentation.aggregation.AbstractBaseFragment.service(Unknown Source) at org.eclipse.birt.report.servlet.BirtEngineServlet.__doGet(Unknown Source) at org.eclipse.birt.report.servlet.BaseReportEngineServlet.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.eclipse.tomcat.internal.EclipseErrorReportValve.invoke(EclipseErrorReportValve.java:153) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Unknown Source)Caused by: org.eclipse.birt.core.exception.CoreException: Error evaluating Javascript expression. Script engine error: ReferenceError: "Nombre" n'est pas défini Script source: null, line: 1, text:<compiled script> at org.eclipse.birt.core.script.JavascriptEvalUtil.wrapRhinoException(JavascriptEvalUtil.java:281) ... 77 moreCaused by: org.mozilla.javascript.EcmaError: ReferenceError: "Nombre" n'est pas défini at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3240) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3230) at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3303) at org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1632) at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1571) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3103) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.eclipse.birt.data.engine.expression.BytecodeExpression.evaluate(BytecodeExpression.java:47) ... 76 more


    Image (id = 266):
    + There are errors evaluating script "package convertion;

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Peux-tu nous fournir ton code pour pouvoir t'aider ?

    De plus :

  12. #12
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par erwan.bodere Voir le message
    Peux-tu nous fournir ton code pour pouvoir t'aider ?

    De plus :

    voici ma classe java


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
     
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    public class Nombre
       {
    	 @SuppressWarnings("unused")
    	private ResultSet rs;
         private static  Connection con;
       private static Statement stmt;  
       public static final String ZERO="zéro";
     
       public static final String UN="un";
     
       public static final String DEUX="deux";
     
       public static final String TROIS="trois";
     
       public static final String QUATRE="quatre";
     
       public static final String CINQ="cinq";
     
       public static final String SIX="six";
     
       public static final String SEPT="sept";
     
       public static final String HUIT="huit";
     
       public static final String NEUF="neuf";
     
       public static final String DIX="dix";
     
       public static final String ONZE="onze";
     
       public static final String DOUZE="douze";
     
       public static final String TREIZE="treize";
     
       public static final String QUATORZE="quatorze";
     
       public static final String QUINZE="quinze";
     
       public static final String SEIZE="seize";
     
       public static final String VINGT="vingt";
     
       public static final String TRENTE="trente";
     
       public static final String QUARANTE="quarante";
     
       public static final String CINQUANTE="cinquante";
     
       public static final String SOIXANTE="soixante";
     
       public static final String CENT="cent";
     
     
       public static final String MILLE="mille";
     
       public static final String MILLION="million";
     
       public static final String MILLIARD="milliard";
     
     
       public static final String MOINS="moins";
     
     
       private static final String[] tab={"",MILLE,MILLION,MILLIARD,MILLE+" "+MILLIARD,
       MILLION+" de "+MILLIARD,MILLIARD+" de "+MILLIARD};
       public static String getChiffre(int l)
       {
       if((l<0)||(l>9))
       throw new IllegalArgumentException("Un chiffre est entre 0 et 9, donc "+l+" est interdit");
       switch(l)
       {
       case 0 :
       return ZERO;
       case 1 :
       return UN;
       case 2 :
       return DEUX;
       case 3 :
       return TROIS;
       case 4 :
       return QUATRE;
       case 5 :
       return CINQ;
       case 6 :
       return SIX;
       case 7 :
       return SEPT;
       case 8 :
       return HUIT;
       case 9 :
       return NEUF;
       }
       return null;
       }
     
     
       private static String paquet(int p)
       {
     
       String reponse="";
     
       if(p>100)
       {
     
       if(p/100>1)
       reponse=getChiffre(p/100)+" ";
     
       reponse += CENT+" ";
     
       p=p%100;
       }
     
       int c=p/10;
       int u=p%10;
       switch(c)
       {
     
       case 0 :
       if(u!=0)
       reponse += getChiffre(u);
       break;
       case 1 :
       switch(u)
       {
       case 0 :
       reponse += DIX;
       break;
       case 1 :
       reponse += ONZE;
       break;
       case 2 :
       reponse += DOUZE;
       break;
       case 3 :
       reponse += TREIZE;
       break;
       case 4 :
       reponse += QUATORZE;
       break;
       case 5 :
       reponse += QUINZE;
       break;
       case 6 :
       reponse += SEIZE;
       break;
       default :
       reponse += DIX+" "+getChiffre(u);
       }
       break;
       case 2 :
       reponse += VINGT;
       if(u==1)
       reponse += " et";
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 3 :
       reponse += TRENTE;
       if(u==1)
       reponse += " et";
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 4 :
       reponse += QUARANTE;
       if(u==1)
       reponse += " et";
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 5 :
       reponse += CINQUANTE;
       if(u==1)
       reponse += " et";
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 6 :
       reponse += SOIXANTE;
       if(u==1)
       reponse += " et";
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 7 :
       reponse += SOIXANTE+" ";
       if(u==1)
       reponse += " et";
       switch(u)
       {
       case 0 :
       reponse += DIX;
       break;
       case 1 :
       reponse += ONZE;
       break;
       case 2 :
       reponse += DOUZE;
       break;
       case 3 :
       reponse += TREIZE;
       break;
       case 4 :
       reponse += QUATORZE;
       break;
       case 5 :
       reponse += QUINZE;
       break;
       case 6 :
       reponse += SEIZE;
       break;
       default :
       reponse += DIX+" "+getChiffre(u);
       }
       break;
       case 8 :
       reponse += QUATRE+" "+VINGT;
       if(u>0)
       reponse += " "+getChiffre(u);
       break;
       case 9 :
       reponse += QUATRE+" "+VINGT+" ";
       switch(u)
       {
       case 0 :
       reponse += DIX;
       break;
       case 1 :
       reponse += ONZE;
       break;
       case 2 :
       reponse += DOUZE;
       break;
       case 3 :
       reponse += TREIZE;
       break;
       case 4 :
       reponse += QUATORZE;
       break;
       case 5 :
       reponse += QUINZE;
       break;
       case 6 :
       reponse += SEIZE;
       break;
       default :
       reponse += DIX+" "+getChiffre(u);
       }
       break;
       }
     
       return reponse.trim();
       }
     
     
       public static String getLettre(long l)
       {
     
       if(l==0L)
       return ZERO;
       String signe="";
     
       if(l<0L)
       {
     
       l=-l;
     
       signe=MOINS+" ";
       }
     
       String reponse="";
     
       int rang=0;
       while(l>0L)
       {
     
       reponse=paquet((int)(l%1000L))+" "+tab[rang]+" "+reponse;
     
       l=l/1000L;
       rang++;
       }
     
       reponse=signe+reponse;
     
       return reponse.trim();
       }
      public static void main(String args[])
       {
    	   String valx="";
       String valy="";
       int x=0;
       String nbr = "8945.36";
        x=nbr.indexOf(".");
       valx=nbr.substring(0,x);
       valy=nbr.substring(x+1,nbr.length());
       long ax=Long.parseLong(valx);
       long ay=Long.parseLong(valy);
     
       if(x!= -1)
       {
         System.out.println(""+getLettre(ax)+" Dinars et "+getLettre(ay)+" Millimes"); 
       }
        else
       {
        System.out.println(""+getLettre(ax)+" Dinars ");
     
       }
       } 
       }
    et dans la data set :
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    importPackage( Packages.convertion );
    Nombre.getLettre(Row["sum((ls.principal+ls.INTEREST))"]);

  13. #13
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    1. Ta classe Java (Nombre) est-elle dans le package "convertion" ?
      Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      package ???;
      
      import java.sql.Connection;
      import java.sql.DatabaseMetaData;
      import java.sql.DriverManager;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.sql.Statement;
      
      public class Nombre  { }
    2. Où as-tu stocké ta classe ?

  14. #14
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    oui la classe est dans le package convertion mais j'ai oublier de copier la premiere la ligne dsl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package convertion;
     
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
     
    public class Nombre
       {

  15. #15
    Membre habitué
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 176
    Points
    176
    Par défaut
    Je croyais que ton problème était résolu.
    Il y a bien une semaine, tu avais noté la discution comme finie et résolue.
    Aussi, quel peut bien être ton problème?

    Donnes quelques explications.


    Edit:
    Ah, désolé, je n'avais pas vu les messages d'avant.
    Le forum m'a mis seulement sur le dernier message aussi je n'avais pas lu les 2 ou 3 messages d'avant.

    Bon, je pense que Erwann va te débloquer, mais je vais essayer de regarder aussi, a+.
    Ne pas oublier le bouton RESOLU

    Mes lois informatiques qui n'ont pas encore trouvées de contre exemple:
    - Quand on gagne d'un coté, on perd très souvent voire toujours d'un autre.
    - Il est très rare de gagner sans rien perdre.
    - Quand la solution devient trop complexe à mettre en oeuvre, c'est qu'elle ne convient pas à ce que l'on attend, voire qu'elle est tout bonnement mauvaise.

  16. #16
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par birt1976 Voir le message
    Je croyais que ton problème était résolu.
    Il y a bien une semaine, tu avais noté la discution comme finie et résolue.
    Aussi, quel peut bien être ton problème?

    Donnes quelques explications.


    Edit:
    Ah, désolé, je n'avais pas vu les messages d'avant.
    Le forum m'a mis seulement sur le dernier message aussi je n'avais pas lu les 2 ou 3 messages d'avant.

    Bon, je pense que Erwann va te débloquer, mais je vais essayer de regarder aussi, a+.
    malheureusement non le probleme n'etait pas resolu et oui j'espere trouver une solution le plutot possible. en tout cas merci a toi et a Erwann pour votre aide

  17. #17
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    importPackage( Packages.convertion );
    Nombre.getLettre(Row["sum((ls.principal+ls.INTEREST))"]);
    Deux choses :
    1. Où as-tu stocké ta classe Nombre ?
    2. Es-tu sûr de ton champ ? Déjà, je pense qu'il faut utiliser row et non Row. Le nom de ton champ est-il correct ?

  18. #18
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par erwan.bodere Voir le message
    Deux choses :
    1. Où as-tu stocké ta classe Nombre ?
    2. Es-tu sûr de ton champ ? Déjà, je pense qu'il faut utiliser row et non Row. Le nom de ton champ est-il correct ?
    bonjour Erwan,
    1-j'ai stocké ma classe dans la partie "Script"
    2-oui je suis sûr de mon champ et j'ai tester avec raw au lieu de Raw et c'est le meme probleme.

  19. #19
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    pfffffffffffff. toujours pas de solution

  20. #20
    Membre régulier
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2008
    Messages : 211
    Points : 115
    Points
    115
    Par défaut
    j'ai créer une fonction javascript (transformer la classe en java en javascript)
    et c bon le probleme est résolu .
    merci pour tous ceux qui m'ont aider.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Convertir des chiffres en lettres
    Par azde7015 dans le forum VBA Access
    Réponses: 16
    Dernier message: 19/05/2019, 15h16
  2. [À télécharger] Convertir des chiffres en lettres
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 14/11/2010, 14h33
  3. convertir des chiffres en lettres
    Par funmatica dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2010, 18h44
  4. Convertir des chiffres en lettres
    Par bruce207 dans le forum Contribuez
    Réponses: 1
    Dernier message: 02/09/2010, 14h24
  5. convertir des chiffres en lettres
    Par stratocasters dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2008, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo