PDA

Ver la Versión Completa : No se imprime listado en Rave report


identsoft
26-03-2015, 13:08:35
Buenas, un saludo para todos.
A ver si consigo explicarme.
Tengo un formulario delphi (XE2) que en funcion de un TEDIT hace una llamada a un listado1 o a un listado2.
La llamada al listado se hace de la siguiente manera:

if edtVari.Text = 'S' then
RvProject1.SelectReport('lsListado1', true)
else
RvProject1.SelectReport('lsListado2',true);
RvProject1.Open;
RvProject1.Execute;
RvProject1.Close;


los dos listados estan en el mismo proyecto.
Ahora viene el problema.
Si ejecuto un listado (cualquiera de los dos) tengo que cerrar la aplicacion completamente para poder ejecutar el otro listado.
¿Alguien save porque sucede esto?.¿Me falta algo?
Gracias.

Casimiro Notevi
26-03-2015, 14:02:11
¿Puede ser el orden?

rvprj.open
rvprj.selectreport
rvprj.execute
rvprj.close

identsoft
26-03-2015, 14:08:06
No.Da error :No existe el report ''
Primero hay que seleccionar un reporte dentro del proyecto.

Casimiro Notevi
26-03-2015, 14:18:20
¿Seguro?
Creo haber visto código y era así.

identsoft
26-03-2015, 15:38:38
Seguro.
Acabo de probarlo.

orodriguezca
26-03-2015, 16:13:10
En Delphi 2010 me funciona así:


RvProject.ProjectFile := '.\Facturas.rav';
if RvProject.SelectReport('RptPortadaFactura', False) then
begin
{aqui va código para adornar el reporte}
RvProject.Execute;
end



En este caso se está utilizando el reporte 'RptPortadaFactura', pero más adelante, en el mismo procedimiento se ejecuta:


RvProject.ProjectFile := '.\Facturas.rav';
if RvProject.SelectReport('RptSoporteFacUvi', False) then
RvProject.Execute;



y trabaja perfectamente. Notese que no utilizo RvProject.Open o RvProject.Close;

identsoft
26-03-2015, 16:45:11
Así es como lo he hecho en otros reports y siempre ha funcionado. Pero en este caso no funciona.
¿Tendra algo que ver que los dos reports utilizan los mismos DataWiew?

identsoft
26-03-2015, 16:58:48
por preguntar algo

ElDioni
26-03-2015, 17:07:42
Yo tampoco utilizo Open y Close y me funciona lo de elegir un Report y luego cambiar a otro, si que es verdad que para cada report tengo su dataview pero no creo que sea por eso, debería dar igual. De todas formas no has dicho que es lo que pasa en tu caso, ¿te vuelve a salir el mismo reporte?, ¿te dar un error?, ¿te aparece las filas con "invalid"?, ¿se queda bloqueado?

Saludos.

orodriguezca
26-03-2015, 17:20:57
Humm, Yo sospecho del mayordomo. ¿ EdtVari.Text si tiene el valor que se espera ?

identsoft
26-03-2015, 17:24:36
Solucionado.
Gracias a todos por vuestro tiempo.
El problema estaba que en el OnCreate del formulario tenia puesto:

RPDefine.DataID := IntToStr(HInstance)

Ha sido quitarlo y parece que funciona bien.

Lo que no se es que hacia esa linea