PDA

Ver la Versión Completa : Como enviar una fecha a Rave Report


JefeNet
10-10-2007, 23:21:06
hola, estoy usando delphi 7 con rave report. mi necesidad es la siguiente.

necesito hacer un reporte donde mando a mostrar una tabla con varios campos. uno de esos campos es del tipo date. lo que necesito es restrar dos fechas una de las fechas viene en la tabla como tipo date y la otra fecha a restar se la mando al rave desde delphi como un parametro.

el problema: que como la fecha no es string, la comvierto a string y se la mando al rave, lo que pasa es que el rave si le envio 10/10/007 en vez de tomarlo como fecha viene y lo toma como 10102007. en otro reporte resto dos fechas pero directamente de la tabla y las dos fechas son de tipo date y ahi si me las resta normal.

todo esto es para saber cuantos dias duro un producto en un almacen.

ejemplo fecha de recepcion = 01/01/2000 y fecha de despacho 30/01/2000 si las resto tomando los valores de las tablas con los componentes CalcOp del rave me da como resultado 29. todo bien, pero si en vez de eso tomo una fecha de la tabla y la segunda se la envio como parametro tipo string, me da un valor loco. esto es para que a todos los registros les reste la fecha que yo envio como parametro.

si me pueden decir que hacer se los agradecere for ever

FGarcia
11-10-2007, 05:27:56
tengo poca experiencia con los reportes, de hecho es el rave el unico reporteador que conosco, en el ftp del club subi hace unos dias unos manuales de rave reports la developer guide y el Visual designer guide revisalos a ver si te ayudan.

JefeNet
11-10-2007, 16:56:02
ok gracias seguire esperando a ver quien me ayuda porque no he podido... :(

JefeNet
12-10-2007, 15:26:22
necesito ayuda urgente necesito eso para entregar el proyecto solo me falta eso :( ayuda por faaaaa

JefeNet
14-10-2007, 18:14:19
tengo otra idea, hay alguna manera de que rave me imprima la fecha actual en una etiqueta??

santi33a
17-10-2007, 15:15:15
en el evento OnGetText del componente Text le dices

Value := DateToStr(date);

JefeNet
20-10-2007, 14:33:00
ok gracias y como hago para que ese valor lo pueda usar en un componente calc o usarlo como un parameto? gracias..

noukeys
21-10-2007, 14:13:13
Hola, mira, lo que tienes que hacer es crear un parametro en el informe por ejemplo param.fecha y luego supongo que tendrás un boton llamado imprimir o ver o algo asi, con una funcion asociada, pues bien el caso es que cuando vayas a ejecutar el informe, pasas el valor con la funcion del componente SetParam(param.fecha,'texto que quieras'). Te lo estoy dicendo a grandes rasgos de memoria, pero verás como no es difícil encontrarlo.

JefeNet
21-10-2007, 19:30:23
Hola, mira, lo que tienes que hacer es crear un parametro en el informe por ejemplo param.fecha y luego supongo que tendrás un boton llamado imprimir o ver o algo asi, con una funcion asociada, pues bien el caso es que cuando vayas a ejecutar el informe, pasas el valor con la funcion del componente SetParam(param.fecha,'texto que quieras'). Te lo estoy dicendo a grandes rasgos de memoria, pero verás como no es difícil encontrarlo.



hola y gracias, pero ese es el problema si lo envio como parametro y por ejemplo le envio: SetParam(fecha,DatetoStr(Date)). me lo envia como string y en rave me lo toma como ponte: 10/10/2007 y yo necesito restar esa fecha con otra que viene de una abla y es de tipo date y no me la resta porque toma la fecha que le envio como parametro como un numero 10102007 ves? si yo resto dos fechas que vengan de una tabla si me las resta y el resultado me da el numero de dias por ejemplo 10/10/2007 - 01/10/2007 = 9 pero si 10/10/2007 lo venvio como parametro me lo toma 10102007 - 01/10/2007= una locura. ves?

noukeys
21-10-2007, 20:05:27
esque en mi opinión, los informes deberían hacer los menos calculos posibles. ¿Porque no cojes las dos fechas, las restas en el propio programa (como una consulta sql por ejemplo) y envías el resultado al formulario? Yo creo que eso sería lo mejor.