2008-08-21 26 views
12

Si tiene dos versiones del mismo informe (.rpt) y desea establecer cuáles son las diferencias exactas, ¿cuál es la mejor manera de hacerlo? He visto algunas herramientas comerciales para hacer esto, pero no estoy demasiado interesado en obtener efectivo para algo que debería ser relativamente sencillo. ¿Puedo conectarme a Crystal API y simplemente enumerar todas las propiedades de cada campo o algo así? Por favor, alguien me diga que hay un proyecto de código abierto en algún lugar que hace esto ... @ :-)¿Cuál es la mejor manera de diferir Crystal Reports?

@Kogus, ¿no difiriría las salidas ya que el texto oculta las diferencias de formato?

@ladoucep, parece que no puedo exportar el informe sin datos de.

+1

Acaba de encontrar otra forma de diferenciar, específicamente buscando cambios de código ocultos en todas las propiedades de varios objetos de informe: exporte los informes con el formato 'Definición de informe (TXT)' – SQLFox

Respuesta

8

¿Puedo enganchar en la API de Cristal y simplemente una lista de todas las propiedades de cada campo o algo? Por favor que alguien me diga que hay un proyecto de código abierto en alguna parte que hace esto ... :-) @

Existe, en efecto, una API. Escribí una aplicación VB6 para hacer exactamente lo que me pediste y más. Creo que incluso lo migré a VB.Net. Como era para mi propio uso, no pasé mucho tiempo haciéndolo 'pulido'. He tenido la intención de lanzarlo, pero no he tenido el tiempo ...

Otro enfoque que he utilizado en el pasado es crear una aplicación de acceso para ayudar a administrar grandes proyectos de desarrollo de informes. Una de sus muchas funciones incluye la capacidad de extraer las tablas que utiliza el informe y las sentencias SQL utilizadas por sus Comandos y Expresiones SQL. Su intención es darle a uno una perspectiva global de qué informes usan qué tablas. Probablemente todavía tengo en alguna parte ...

** ** 1 editar

BusinessObjects Enterprise XI (R?) Tiene una característica llamada 'Meta Manager'. Examinará periódicamente el contenido del Repositorio y guardará los resultados en una base de datos. Utiliza el servicio de aplicación de informes (RAS) para generar metadatos. Es una licencia adicional de 5 cifras, por supuesto.

** ** 2 editar

Considere el uso de PowerShell para hacer el trabajo: PsCrystal.

+1

Si cree que su código podría ser compatible con Crystal Reports 11, me interesaría obtener acceso a los dos programas que describe. – LeBleu

+0

suena muy útil, ¿es algo que te gustaría poner en un repositorio de GitHub o algo así? – ninesided

+5

Agregado a code.google.com. El nombre del proyecto es 'RptToXml'. – craig

1

Una técnica útil es enviar ambas versiones del informe a texto sin formato, luego diferir esas salidas.

Puede escribir algo utilizando el componente de informe de cristal para describir cada propiedad del informe, como describió. A continuación, puede enviar al texto, y diff esos. No conozco ninguna herramienta de código abierto que lo haga por usted, pero no sería terriblemente difícil escribirlo.

@ pregunta en la publicación: Al diferir las salidas solo se mostrarían cambios de formato si las posiciones relativas hubieran cambiado. Por ejemplo, si tuviera esto:

antes: primer nombre, apellido, addresss

después: Apellido, nombre, dirección

Luego de que aparecería como una diferencia.

Pero si acabara de golpear la columna de la dirección en unos pocos píxeles, o la cambie de texto sin formato a negrita, entonces tiene razón, eso no se mostraría.

+0

Exportar cada informe al formato de Definición de informe (a archivo de texto) y Use cualquier herramienta de comparación de texto como Compare it o Beyond Compare para comparar los informes – marak

1

Una técnica que he utilizado con gran éxito en el pasado es imprimir informes de ambas versiones en base a los mismos datos. Luego tomo la primera página de cada versión, coloco una encima de la otra (es importante no mezclarlas) y las sostengo en una ventana. En general, es bastante fácil ver las diferencias, y estas diferencias se pueden anotar manualmente con un instrumento de escritura adecuado, como un lápiz. Repita para cada página en el informe.

Es cierto que, para informes grandes, esto puede consumir mucho tiempo y es propenso a errores, pero estas limitaciones se pueden superar con paciencia y cuidado.

+2

ha, nice - ¡las formas de baja tecnología (o sin tecnología) a menudo son las mejores! – ninesided

Cuestiones relacionadas