Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Variables en ireport (http://www.forosdelweb.com/f45/variables-ireport-463743/)

SandraM 09/02/2007 10:17

Variables en ireport
 
Hola!

Necesito trabajar con una variable en ireport: Cuando el valor de un campo es igual a 100, entonces cuente el numero de ocurrencias. Lo estoy haciendo de la siguiente forma y me saca error:

Defini una variable tipo entero, y en "Calculation Type" le coloque "count".

En variable Expression:
if($F{Codproducto}.equals("100"))

Sale el siguiente error: Syntax*error*on*token*"if",*delete*this*token ****************value*=*(java.lang.Integer)(if(((j ava.lang.Integer)field_Codproducto.getValue()).equ als("100")));

Gracias

GreenEyed 09/02/2007 10:47

Re: Variables en ireport
 
Por lo que parece, en expression le tienes que poner algo que se pueda asignar a una variable, y no un trozo de codigo. Si mueves el trozo de codigo a una funcion que te devuelva un valor segun los parametros, quizá te funcione.

Pero como no hago esas cosas con el iReport, hablo de intuiciones. :-)

SandraM 09/02/2007 12:44

Re: Variables en ireport
 
Cambie la expresion por:

$F{Codproducto}.equals("100")?0:new Integer($V{SUMA}+ $F{Total})

Lo que necesito es: Que si el codigo del producto=100, entonces a la variable $V{SUMA} sumele el campo $F{Total}.

pero me arroja el siguiente error:

1.*Incompatible*conditional*operand*types*int*and* Integer ****************value*=*(java.lang.Object)(((java. lang.Integer)field_Codproducto.getValue()).equals( "100")?0:new*Integer(((java.lang.Integer)variable_ SUM_100.getValue())+*((java.lang.Integer)field_Tot al.getValue()))); ******************************************<----------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 2.*The*operator*+*is*undefined*for*the*argument*ty pe(s)*java.lang.Integer,*java.lang.Integer ****************value*=*(java.lang.Object)(((java. lang.Integer)field_Codproducto.getValue()).equals( "100")?0:new*Integer(((java.lang.Integer)variable_ SUM_100.getValue())+*((java.lang.Integer)field_Tot al.getValue()))); *************************************************

Gracias a quien pueda ayudarme ....

Venuz 11/02/2007 15:43

Re: Variables en ireport
 
hola, prueba esto:
define una variable $V{suma} ... en ella colocas


$F{Codproducto}==new java.lang.Integer(100)?"escribe lo que quieras sumar, sin las comillas" : "escribe lo que desees en caso q no sea 100, sin las comillas"


----

yolivaldez 06/12/2010 10:41

Respuesta: Variables en ireport
 
hola no se si puedas ayudarme con esto por q la verdad ya le he hecho de varias maneras diferentes...quiero hacer algo parecido una expresion q me haga por ejemplo tengo un campoy en algunos campos tengo datos pero otros son nulos quiero q cuandos ea nulo me ponga cero si no q me ponga lo q hay en ese campo..pero no se donde ponerlo y como hacerle y los datos son de tipo decimal...algunos son doubles y otros son bigdecimal...serias tan amable de ayudarme un poquito gracias y de especificarme donde poner la expresion por favor..saludos
:partido:

Jin_Zero0 15/12/2010 08:45

Respuesta: Variables en ireport
 
Cita:

Iniciado por yolivaldez (Mensaje 3661816)
hola no se si puedas ayudarme con esto por q la verdad ya le he hecho de varias maneras diferentes...quiero hacer algo parecido una expresion q me haga por ejemplo tengo un campoy en algunos campos tengo datos pero otros son nulos quiero q cuandos ea nulo me ponga cero si no q me ponga lo q hay en ese campo..pero no se donde ponerlo y como hacerle y los datos son de tipo decimal...algunos son doubles y otros son bigdecimal...serias tan amable de ayudarme un poquito gracias y de especificarme donde poner la expresion por favor..saludos
:partido:

Eso hacelo en la clase java, valida que si es null le asignas el 0, de lo contrario le pasas el valor que recibe o lo otro si es un parameters cuando lo defines hay una opcion que dice "Default value expression" ahi coloca "0" y si viene nulo el valor te lo tomara como 0, pero ojo que solo si es parameters si es un Field mejor la validacion desde Java.


La zona horaria es GMT -6. Ahora son las 21:34.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.