PDA

Ver la Versión Completa : RAVE REPORT Problma con Procedimiento Almacenado


vtrleo
04-01-2008, 21:28:29
Hola Amigos, decilucionado total, uso el Rave porque es el unico que pude imprimir boletas de ventas a 1/2 Carta, pero el maldito Rave no me respeta los parametros que pongo en la consulta del Procedimiento Almacenado.
Cliente desde, Cliente hasta, etc, uso Un ADOStoreProcedure -> RvDateSetConnection .. Me funciona solo cuando le doy los valores a los parámetros en las propiedades del ADOStoreProcedure en el Object Inspector, no cuando se los asigno desde Delphi. Alguien ha podido hacer esto que es obvio que funciona con el QReport por ejemplo.??

Muchas Gracias.

spBolMasiva.Active := False ;
spBolMasiva.Parameters.ParamByName('@idCliDes').Value := EdCliDes.AsInteger ;
spBolMasiva.Parameters.ParamByName('@idCliHas').Value := EdCliHas.AsInteger ;
spBolMasiva.Active := True ;
RvBoleta.Open ;
RvBoleta.Execute;
spBolMasiva.Close ;
:(

ElDioni
07-01-2008, 17:48:32
La verdad, no he entendido muy bien que es lo que te falla o lo que quieres hacer, yo creo que no te coge los parametros en rave y eso es lo que te voy a explicar o te voy a decir como lo hago yo.


rvproject1.SelectReport('report3',true);
RvProject1.SetParam('codagente','0');
RvProject1.SetParam('nombreagente','');
rvproject1.Execute;


Selecciono el report, le asigno los parametros y lo ejecuto.
Ya me contarás.

vtrleo
09-01-2008, 13:33:21
Bueno eso me funciona bien, se pasar los parametros para cada Etiqueta que deseo ver en reporte, el problema es que yo quise filtrar una consulta con un Procedimiento Almacenado (spBoleta es el procedimiento) y está enlasado con RvDataSetConnection, algo de no entender es que al estar diseñando la Boleta, me exige que el Procedimiento debe estar Activo para poder mostrar el contenido de los Campos que muestra el DataView interno del Rave, eso me obliga a poblar los Parametros del Procedimiento en el Object Inspector, lo que me deja la consulta fija, Finalmente cuando está todo terminado, al ejecutar el programa, se define el rango de consulta Cliente desde, y Cliente Hasta, se da Clic al Boton Imprimir, ahí reasigno los Parametros del Procedimiento con los datos indicados, CliDes y CliHas, pero el informe trabaja con la consulta que quedo en el tiempo de desarrollo. y no se refresca o no es capaz de actualizar la consulta en tiempo de ejecución final. sin embargo ese mismo procedimiento enlasado con el el QuickReport si responde bien, salvo que q QkReport no me respeta el tipo de papel 1/2 Carta que la boleta que necesita. snif....:confused:

Gracias por responder.

vtrleo
09-01-2008, 13:34:04
Bueno eso me funciona bien, se pasar los parametros para cada Etiqueta que deseo ver en reporte, el problema es que yo quise filtrar una consulta con un Procedimiento Almacenado (spBoleta es el procedimiento) y está enlasado con RvDataSetConnection, algo de no entender es que al estar diseñando la Boleta, me exige que el Procedimiento debe estar Activo para poder mostrar el contenido de los Campos que muestra el DataView interno del Rave, eso me obliga a poblar los Parametros del Procedimiento en el Object Inspector, lo que me deja la consulta fija, Finalmente cuando está todo terminado, al ejecutar el programa, se define el rango de consulta Cliente desde, y Cliente Hasta, se da Clic al Boton Imprimir, ahí reasigno los Parametros del Procedimiento con los datos indicados, CliDes y CliHas, pero el informe trabaja con la consulta que quedo en el tiempo de desarrollo. y no se refresca o no es capaz de actualizar la consulta en tiempo de ejecución final. sin embargo ese mismo procedimiento enlasado con el el QuickReport si responde bien, salvo que q QkReport no me respeta el tipo de papel 1/2 Carta que la boleta que necesita. snif....:confused:

Gracias por responder.

santi33a
09-01-2008, 13:51:19
Mirando lo que haces no me explico porque falla, pero te diré por mi experiencia que no necesitas abrir y cerrar las consultas que usas en el informe, pues al ejecutarlo este se encarga de abrirlo y al cerrarlo este cierra las consultas asociadas a el, si la abres manualmente entonces si tienes que cerrarla


spBolMasiva.Parameters.ParamByName('@idCliDes').Value := EdCliDes.AsInteger ;
spBolMasiva.Parameters.ParamByName('@idCliHas').Value := EdCliHas.AsInteger ;
RvBoleta.Execute;
RvBoleta.Close;


siempre con la propiedad de TRvSystem
soPreviewModal := True

vtrleo
17-01-2008, 15:58:15
Asombroso, e inexplicable, pero bueno, quité todos esos open y close de todos lados y me Funciono como debia.

Agradecido por el despeje de mente.

Gracias santi33a.