PDA

Ver la Versión Completa : Problemas en Rave Reports 7.7.0


mizzard
25-11-2011, 01:53:53
Hola a todos!, antes de nada daros la enhorabuena por este magnifico foro el cual me ha ayudado en numerosas ocasiones a avanzar con mis proyectillos y que con cariño intento aportar mis conocimientos para ayudar a mas gente. :)

Bueno os comento mi problema.

El objetivo es generar un albarán mostrando en la cabecera, los datos de la empresa y del cliente, asi como fecha, etc.

Luego en detalle se desea mostrar un desglose de los productos adquiridos, indicando la referencia de cada uno, el numero de unidades, el modelo y una breve descripcion. De momento todo sencillo pues bien, el campo DESCRIPCION es de tipo MEMO.
La conexion de Rave con C++ Builder 2010 la hago mediante AdoQuerys (leyendo unas tablas en access) y utilizando los componentes TRvDataSetConnection (utilizo 3 para recoger diferentes Querys), TRvSystem y TRvProject.

Todo me funciona a la perfeccion salvo dicho campo DESCRIPCION tipo MEMO, ya que cuando genero el albaran (simulando una impresora en PDF), en este campo aparece un monton de basura al final del texto.

He intentado subsanarlo realizando el siguiente "apaño":

1- He cogido mi componente DataMemo que recoge los datos DESCRIPCION y le he puesto el texto con las letras en blanco
2- He creado otro componente Memo y dentro de su evento OnBeforePrint he añadido las siguientes lineas de codigo:
self.text:=copy( DataMemo1.text, 0, round( length( DataMemo1.text )/2));
Donde DataMemo1 es el que apunta al campo MEMO DESCRIPCION

El problema que tengo es que el primer registro q me recoge me lo repite y el ultimo no llega a mostrarlo, si lo pongo en el evento OnAfterPrint, pasa lo mismo solo q no pone nada en el primero, me explico, supongamos que tiene que salir lo siguiente:

ref1 descrp1
ref2 descrp2
ref3 descrp3
ref4 descrp4

Si lo pongo en OnBeforePrint, veo esto:

ref1 descrp1
ref2 descrp1
ref3 descrp2
ref4 descrp3

Y si lo pongo en OnAfterPrint, veo esto:

ref1
ref2 descrp1
ref3 descrp2
ref4 descrp3


Tambien he probado con componente DataText pero seguia viendo basura... La verdad es que estoy un poco desesperado porque no se que hacer, alguna idea??

NOTA: Esto es lo que me pasa cuando intento ver el campo DESCRIPCION tipo MEMO (donde los caracteres del final son aleatorios (basura)):

ref1 descrp1sdgsgwert
ref2 descrp243rthg34
ref3 descrp3wetgert2
ref4 descrp4¿?kt2rjogi

Cualquier ayuda la agradeceria muxisimo, de verdad. Un saludo y un enorme abrazo!

mizzard
25-11-2011, 13:37:48
Tambien he probado con las sugerencias propuestas aqui, y lo que me ha pasado es o bien no lo entiendo o no me corrigen el problema :( Ideas?

https://forums.embarcadero.com/thread.jspa?threadID=19327

mizzard
25-11-2011, 19:12:39
Bueno, viendo que esto era necesario para la aplicacion que estoy desarrollando he optado por hacer lo siguiente (no se trata de una solucion optima, pero me sirve para salir del paso).

1º En mi BBDD de Access me creo una nueva tabla con aquellos campos que deseo visualizar despues en el informe (generado por Rave Reports).
2º una vez en mi programa tengo el query cargado con la informacion deseada (la que antes mandaba directamente a Rave Reports) lo que hago es rellenar esta nueva tabla que me he creado, de tal forma que el componente tipo memo pasa a ser de tipo Texto (max 255 caracteres, que es mas de lo q necesito).
3º Una vez actualizada la tabla procedo a cargar el query con los parametros de esa nueva tabla y se los paso a Rave Reports. Ya que no hay ningun campo MEMo todo funciona a la perfeccion
4º Lanzo el informe y despues del evento close, borro la informacion de la tabla con la instruccion delete sin where, de esta forma me borra todos los datos.

Si alguien necesita que de mas detalles estare encantado de ayudar en la medida que me sea posible. Reitero que se trata de una opcion "a la desesperada" y aprovechando que tenia acceso total a una de las dos bases de datos a las que conecto.


Un saludo!

ElDioni
28-11-2011, 13:24:35
Hola, has probado a cambiar el valor de las propiedades Truncate y ExpandParent del objeto memo a ver si así te resuelve el problema.

Saludos.

mizzard
28-11-2011, 14:06:30
Si lo que probe, pero no funcionaba...

ElDioni
28-11-2011, 16:45:18
Hola mizzard, prueba con lo que indican en este otro hilo del club a ver que tal.

http://www.clubdelphi.com/foros/showthread.php?t=72489

Saludos.

mizzard
28-11-2011, 17:07:12
Gracias por la información, ya lo probé y tampoco funcionó.

ElDioni
28-11-2011, 18:39:50
Pues ya no se me ocurre que más puede ser, a ver si alguien del club te puede decir algo, mientras, yo miraré por ahí a ver si te puedo echar una mano.

Saludos.

ElDioni
28-11-2011, 18:58:03
Hola otra vez,
¿has probado a usar otro tipo de fuente, por ejemplo tahoma, en el Report?.

Saludos.

mizzard
28-11-2011, 20:07:15
Hola de nuevo, no, el tipo de fuente lo deje a Arial, por defecto.

No obstante recalco que el problema quedo solucionado de la forma que indiqué anteriormente. Con esto te quiero decir que (aunque te lo agradezco mucho), no es necesario tanto ímpetu en buscar una solucion puesto que ya se la di (no optima, pero valida).

Muchas gracias por tu interes

Casimiro Notevi
28-11-2011, 20:47:41
¿Puedes poner una imagen de ejemplo?
La "basura" no será que el memo no es del tipo "plaintext", y entonces muestra los códigos rtf?

mizzard
28-11-2011, 22:23:01
¿Puedes poner una imagen de ejemplo?
La "basura" no será que el memo no es del tipo "plaintext", y entonces muestra los códigos rtf?

La verdad es que ya no dispongo de ninguna version anterior ya que como llegue a solucionar el problema, lo borre.

El caso es que el memo viene de un campo de una tabla de access en la cual solo tengo permisos de lectura, no puedo modificar nada y se q es de tipo memo.

El componente DataMemo de Rave reports probe a ponerle con/sin RTF, con/sin Truncate, para que se extienda automaticamente, sin que se extienda, etc... y siempre obtenia el mismo resultado.

La basura que comento es que aparece el texto que deseo, pero al final aparecen caracteres que se corresponden con otros campos de mi informe, o bien letras chinas, etc... (es lo que llamo basura).

Siento no disponer de una version anterior para mostrar lo que comento, pero resumiendo es:

- Campo MEMO de una tabla access
- Accedo a ella con un query y conecto como he explicado al principio del post con RAVE reports
- Coloco todos mis componentes y a ese en concreto le pruebo a ponerle un DataMemo y un DataText viendo en ambos la basura que comento.
- Que yo sepa no hay ningun formato en ningun caracter, se trata todo de texto plano

Casimiro Notevi
28-11-2011, 22:26:18
Es que "basura" no puede haber, en ese caso es que la base de datos está mal, ¿lo has comprobado?.

mizzard
28-11-2011, 22:34:09
Es que "basura" no puede haber, en ese caso es que la base de datos está mal, ¿lo has comprobado?.

En la base de datos veo la informacion correctamente y cuando la cargo en Builder tambien. Es únicamente cuando trato de mostrarla en RAVE Reports.

Un saludo

Casimiro Notevi
28-11-2011, 22:37:50
¿Puede ser un error de ese componente?, Prueba con un campo que tenga una longitud suficientemente corta como para presentarlo en un edit, en lugar del memo, y si sale bien en el edit y sale mal en el memo, entonces es un problema con el memo.
No he usado nunca el rave report, así que habrá que esperar que alguien lo conozca lea este mensaje.