Buen día Amigos, Paco y Arturo y todos los demás.
Antes que nada una disculpa por la tardanza en responder, pero han sido en verdad 5 días de prueba y error, prueba y error, prueba y error y prueba y error, y después de en ratos casi patear mi laptop, o golpear mi monitor, o azotar el teclado, y digo casi porque en realidad no lo hice, soy mula, no tarado.
Bueno, pues resulta que a fin de cuentas SI FUNCIONAN las “malditas” tablas de referencias cruzadas, pero aún a esta hora me siento un poco como el burro que tocó la flauta, todavía no descifro por completo como funcionan al 100%, pero les anexo algunos pantallazos, de el reporte por medio tradicional, luego de algunas pruebas con tablas de referencias cruzadas y por último el resultado final que es lo que buscaba.
Tocaré escuetamente la documentación, que con mucha pena y después de revisar su correspondiente versión en inglés por parte de NOCISOFT, veo que lo que tenemos en Velneo no es más que una fusilata traducida sin más ni menos. Hasta aqui esa parte.
Bueno, ahora lo interesante, ojo, todo es mi experiencia y espero les sirva y ahorre mucho dolor de cabeza.
- Partimos de una lista en un procesos, manejador de evento, etc. no hay necesidad de ordenar, agrupar ni nada, con que pasemos la lista es suficiente, de alguna manera al generar la referencia cruzada todo se agrupa bien.
- Definimos el origen de datos en vReport como normalmente lo hacemos, igual, nada, ningun tipo de agrupamiento en especial, no es necesario.
- En el detalle del reporte insertamos la tabla de referencia cruzada y con doble click tenemos la pantalla de configuración con tres pestañas, Propiedades de tabla, Propiedades de celda y Tabla eje.
- En la primer pestaña, Propiedades de tabla seleccionamos el ID del origen de tabla, el cual es uno de los que hayamos definido como origen de datos del informe, en mis cientos de pruebas las dos siguientes líneas no son funcionales para ABSOLUTAMENTE NADA, no observé ningún comportamiento o digamos que sí había algún comportamiento errático más bien al poner algún dato en la fila de Origen del título de la columna, en cuyo caso deben poner el nombre del campo precedido del # y todo en mayúsculas. Las columnas ocultas no sé para que demónios sean, pongas o no pongas nada el comportamiento es el mismo, lo pongas con # o sin él.
- La parte de configuración de tamaños y espacios, tamaños de sección y Mostrar partes de tabla SI SON FUNCIONALES y hacen bien su trabajo.
- Brinquemos la siguiente pestaña y pasemos a la última, que es la que realmente hace funcionar el mamotreto. La pestaña en cuestión es la de Tabla Eje.
- Forzosamente se debe configurar los datos de esta pestaña, de lo contrario nunca, jamás esperen que funcione su reporte.
- Omitamos de momento el primer check “Crear tabla pivote” y expliquemos que pretendo lograr en principio.
- Tengo una tabla que guarda los cierres de caja de oficinas foráneas, tres de esos datos son los que necesito para generar mi informe, la fecha, la taquilla y el saldo final. Requiero el nombre de la taquilla u oficina como título de las columnas y la fecha como título de las filas, con eso en mente pasamos ahora si a la configuración de la tabla.
- Función agregada: Acumulado
Crear tabla eje: #TAQUILLA.NAME
Origen de columnas: #FECHA
Origen de los valores: #TOTAL_CIERRE
NOTA, en esta última celda podemos poner expresiones, sumas, restas, divisiones o multiplicaciones, no probé otros tipos pero estos son funcionales.
Ordenar automáticamente los datos de la cabecera: Si, marcar el check.
- Con esta configuración en mente ya tendríamos un reporte funcional, pero aqui las columnas serían las fechas y los nombres de las oficinas serían las filas, aquí aplicamos entonces el marcar el primer check, Crear tabla pivote y con eso las fechas pasan a ser filas y los nombres de taquillas columnas.
- Ahora pasemos a la pestaña de enmedio, Propiedades de celda.
Aqui configuraremos los tipos de datos y valores que contendra cada celda, desde las cabeceras superiores, las laterales, hasta las sumatorias laterales o inferiores, colores, bordes, etc.
- Antes que nada configuro primero el tipo de dato que llevarán las celdas de cruce, en primer plano hay que seleccionar el tipo de dato, sea texto, numérico, fecha, etc. SI NO CONFIGURAMOS BIEN ESTE TIPO en las celdas se mostraran cosas raras o no se mostrará nada de plano, las pestañas de Fondo y Bordes las omito porque es obvio su funcionamiento, es meramente dar formatos, y nos vamos a la pestaña Número.
- En este caso si en la primer pestaña seleccionamos número, obligatoriamente debemos darle formato en esta, de lo contrario aparecerá sin ningún tipo de formato.
- De igual forma hay que seleccionar el tipo de dato y su posible formato en las celdas de Cabecera de columna y Cabecera de la fila, el no seleccionar el tipo de dato adecuado ocasionará o que no aparezca nada o que aparezcan cosas raras (nombres de variables, de campos, etc.)en nuestro caso la cabecera de la columna es texto y la cabecera de fila es tipo fecha.
- Esto es importante porque son estos datos obtenidos de la BD V7.
- Ya puedes generar tu reporte.
- En este caso, si quitamos el check de pivote habrá que cambiar los tipos de datos en las cabeceras de columnna y fila, recordemos que estamos quitando el giro o pivote y las fechas ahora seran columnas y los nombres filas, si no hacemos esto no aparecerá el título de las cabeceras.
Esto es todo.
Si no quieres hacer pivote, simple, cambiamos esto:
Crear tabla eje: #TAQUILLA.NAME
Origen de columnas: #FECHA
Origen de los valores: #TOTAL_CIERRE
por esto
Crear tabla eje: #FECHA
Origen de columnas: #TAQUILLA.NAME
Origen de los valores: #TOTAL_CIERRE
Ojo, mi error al principio era o consistía en que el check al inicio de la pestaña Tabla eje (Crear tabla pivote), me hacía pensar que solo en caso de seleccionarlo requería llenar los siguientes datos, pero no es así, SIEMPRE HAY QUE COMPLETAR esa información dado que es la base para el cruce de referencias.
Y por último me pasó que duré dos días en que no podía lograr que me aparecieran los títulos de cabecera de las columnas, probé de todo, metiendo datos del tipo #campo, $D{campo}, $F{campo}, campo, %campo, %1campo, y otras que inventé por ahi pero nada, hastá que viendo algunos ejemplos de reportes en la página de NOCISOFT observé que extrañamente ponia los títulos de fechas de manera perpendicular, o vamos, con una altura exagerada, a las mil le cambie el ángulo y vualá, como por arte de magia o brujería aparecio el título que deseaba, después lo regresé a 0 grados y ya siguio apareciendo.
Otro pequeño detalle es que en ocasiones algo que no se que es no le gusta al vClient y si cambias el pivote sin reconfigurar los tipos de datos de las cabeceras de filas y columnas el vClient rompe sin más ni más, de que lo hace aunque vuelva a reconfigurar el reporte a su estado original, el vClient sigue rompiendo, y me pongo a cambiar pequeños parámetros de otras cosas hasta que deja de romper, digo por si les pasa.
Como esto ya fue mucho choro me guardo los comentarios acerca de la documentación al respecto, que como siempre, ya no pido ejemplos, ya con que me pongan qué se pone en cada caso o expliquen el funcionamiento de cada cosa me ahorarrian tiempo.
Saludos a todos y cualquier duda, seguimos probando.