Diseñador de informes

Crear un listado paso a paso

¿Te cuesta hacer un listado a tu medida?

Pues aquí tienes todo el proceso básico, explicado paso a paso, para que vayas puliendo tus conocimientos en la potente tarea de diseñar informes con el programa Hermandad. 

La monografía te enseña como

  • Crear un condicionante
  • Crear un diseño de listado asociado al condicionante
  • Incluir los detalles mínimos para que tu listado sea completo y elegante 

Bájate el documento PDF y tenlo siempre a mano para que te sirva de guia cuando vayas a crear tu próximo listado.  Si lo practicas te convertirás en un diseñador experto.

paso a paso

Fórmula para el cálculo de la edad

Pregunta: 
 
¿Existe alguna manera de colocar la edad de una persona en un listado?
 
Respuesta: 

Por supuesto. Y esto que paso a detallar va dirigido a expertos y amantes del diseñador:

Cuando construyas el listado, a la hora de elegir los campos, no olvides la fecha de nacimiento.
Diseñando la hoja del listado (zona sobre papel blanco donde debes incorporar las bandas) mete un campo en la banda de datos maestros para que aparezca la edad.     Dentro debes meter esta función:

[ [ INT (  (  [date] - [Fecha de Nacimiento] ) / 365 ) ]                   ( copia y pega para no equivocarte con tantos corchetes y paréntesis )

la funcion INT te convierte a entero y te trunca los decimales, de una resta entre la fecha de hoy y la fecha de nacimiento, y te divide el resultado en días entre 365.
Y para ser detallista, debajo entre el Begin y End escribe esto:

begin
      visible:=[fecha de nacimiento] > 0
end

esta última sentencia te quitará los CEROS cuando una persona no tiene fecha de nacimiento

Problemas con imágenes en los diseños

Pregunta: 
 
Estoy realizando un diseño de listado, que contiene una imagen en la cabecera, pero no consigo solucionar este problema:
Yo pincho para poner una imagen y me aparece el cuadrito en el ángulo superior izquierdo.
Cargo la imagen y tiro de ella, pero se me va descentrando y no encuentro cómo hacerlo.
 
Respuesta: 

Haz lo siguiente:

al cargar la imagen y "tirar de ella"...    abre la paleta de propiedades,  pulsando F11 (o también se abre desde la opción del menú Herramientas/Barras de herramientas). Se trata del inspector de objetos que ofrece todos los atributos del objeto que tienes marcado en cada momento.   Ponle la propiedad "centrado" o "center"  (no se si lo tendrás en castellano o inglés... hay una opción que te deja elegir el idioma en Herramientas/opciones), de manera que siempre quedará centrado en el cuadro.

Hay otras propiedades con las que jugar:

keepaspect o conservar aspecto,  y stretched o ajustado.     Sus funciones las verás cuando las cambies.   Cuidado que el ajustado=false hace que la imagen se abra a su tamaño natural y te puede hacer un lio con el diseño... si pierdes el control basta con cerrar el diseño y su miniventana inicial SIN GRABAR y todo queda como estaba originalmente.

Campo antiguedad en los diseños

Pregunta: 
 
Estoy completando un diseño de informe con datos procesionales. Ya le he cogido totalmente el truco, pero quiero insertar un dato que no encuentro, está la antigüedad de nazareno, la de portador y la total, la dos primeras sin problemas, pero la total no la encuentro, hay alguna manera de incluir ese dato en el informe?  
 
Respuesta: 

Sí.
las que indicas son los campos Antiguedad de Nazareno y Antiguedad de Portador en la carpetita de procesión.
La antiguedad general de procesión está en la carpetita "Secretaría" con el literal "Antiguedad"

Diseño avanzado en FastReports para Hermandad

Pregunta: 
 
En el campo del Recibo que dice: “Sección” ¿cómo puedo hacer para que el texto me salga en color blanco y sobre un color de fondo para que resalte, en función de si es del CRISTO (Morado) ó de la VIRGEN (Rojo ó Fucsia) ?.
De esta manera al equipo de albacería que estará con estos recibos le será mucho más fácil separar por colores, sin tener que leerlo.
Hasta ahora lo estaban haciendo remarcándolo con un rotulador, pero creo que se puede hacer a través del programa.
 
Respuesta: 

Hay dos formas de conseguirlo, una, utilizando el botón de "resaltado" y la otra mediante un truco. Te explico las dos, y te quedas con la que quieras, pues ambas te pueden servir.

1.- Por resaltado: En el campo que deseas cambiar de color, bastará con usar el RESALTADO (botón de la paleta con la imagen del rotulador sobre línea amarilla, junto al botón de ajuste-izquierda).

resalteEsto funciona igual que el formato condicional de Excel. Y solo sería viable para una cofradía que tan solo tiene DOS SECCIONES.

En principio ponemos el campo con el color de fondo y tinta que se desee para una de las secciones (por ejemplo CRISTO) de manera que solo cambie cuando se trate de imprimir una papeleta de la otra sección (o VIRGEN).

En tal caso, por defecto siempre aparecerá en el color que hayas puesto por defecto, salvo que sea para la VIRGEN y es cuando actúa la condición que debes poner.
Para ello, pulsas sobre el cuadro de texto ya previamente coloreado, a continuación presionas el botón de resalte, y te aparecerá la siguiente mini ventana:

resaltado

En la zona de condición pones:

[Sección(Clv)]=’V’

Si deseas que se coloree para la Virgen, o

[Sección(Clv)]=’C’

Si deseas que se coloree para el Cristo, o cambia la ‘C’ y ‘V’ por la letra de sección que tengas configurada en tu programa.

Después solo tienes que elegir el texto de la letra y el fondo de color, que serán los que aparecerán cuando se cumpla la condición.

El comando  [Sección(Clv)] es la manera en que se interpreta el código de la sección en el programa Hermandad.

En resumen, como por defecto ya tiene un color y un fondo, será el que siempre aparezca, excepto para cuando se cumpla la condición que se usará los colores indicados en el resaltado condicional.

¿Qué ocurre cuando tengo más de dos secciones?, pues habrá que usar el truco que te indico a continuación, descartando el sistema por resaltado condicional.

2.- Truco: Consiste en crear dos campos (cuadros de textos idénticos) y superponer uno encima de otro.  Cada cuadro de texto llevará el color que se desee para cada sección.
El truco consiste en introducir una sentencia que haga visible solo el cuadro que queramos en cada momento y, por supuesto, con los colores deseados.
Abre cada cuadro de texto e introduce la sentencia en la zona superior entre en begin y end, escribiendo lo siguiente
   En el cuadro que quieres que aparezca en una papeleta de la sección del Cristo
          visible:= [Sección(Clv)]='C'
   y en el cuadro que quieres que aparezca en una papeleta de la sección de la Virgen
          visible:= [Sección(Clv)]='V'
A continuación te presento una vista de lo que te acabo de explicar, los dos campos ya previamente coloreados, y la sentencia que debo poner al abrir el cuadro de texto para el Cristo.

resaltado

Al superponer uno encima de otro conseguirás que ambos aparezcan en la misma posición, pero solo se hace visible en que encaje con la condición de la sentencia.

Si tienes más de dos secciones, solo debes crear tantos cuadros como secciones usas, superponiéndolos todos, uno encima de los otros, escribiendo la sentencia correspondiente.

Otra sentencia relacionada sería

visible:= [Sección(Clv)] <> 'C' and  [Sección(Clv)] <> 'V'

lo que obliga a presentar el cuadro de texto en cualquier sección distinta de la C y de la V.

Plantillas predefinidas de diseños

Pregunta: 
 
En las plantillas predefinidas de Diseños, no sé como se accede a ellas para modificarlas.
Genero un infome y cargo la plantilla de Secretaria, pero aparte quiero incluir el campo de email, lo añado y guardo el informe, pero al salir e imprimir no me aparece el email.
 
Respuesta: 

Las plantillas no son modificables directamente. Están ahí para ayudarte a hacer un listado, especialmente en la construcción de las bandas.
Puedes usar la de secretaría que ofrece un montón de campos, y para incorporar el email, primero debes añadir el campo en la pantalla previa al diseñador, zona donde se seleccionan todos los campos a usar (campos seleccionables), echando el de email a la zona central.

Después te vas al diseñador (botón arriba-derecha del cartabón),   incluyes un cuadro de texto en la banda de DATOS MAESTROS, zona donde deben aparecer los datos, y en el cuadro de texto le asignas el campo email  usando el boton de insertar variable, que te dejará el enlace  así:    [email]

Es conveniente pulsar el botón de vista previa desde el propio diseñador para ver que tal va quedando el listado.

También tendrás que poner una etiqueta o título del campo en la banda superior a la de datos maestros (suele ser la banda de cabecera de página), para que aparezca el encabezado  "Correo electrónico"  (por ejemplo).   Esto se hace añadiendo otro cuadro de texto y escribiendo dentro de él directamente el texto que deseas que aparezca.

Si me dices que no te sale el dato de email solo puede ser por alguna de estas tres cosas:

  • Las personas no tienen dato en el campo email.
  • Has metido el campo email correctamente pero su cuadro de texto está fuera de la banda de datos maestros, por tanto solo se imprime una vez en el fondo de hoja y tapado por los datos.
  • Has metido el campo email sin usar los botones de "insertar variable" y lo has puesto literalmente    email  (sin corchetes)  con lo que el intérprete no sabe qué hacer con él.

Échale un vistazo al manual de FastReports para Hermandad que tienes en la zona de descargas de SoporDad. Te vendrá de maravilla. En la página 14 se muestra como se insertan los campos de datos.

Tipografías en el diseñador

Pregunta: 

Hola Juan,
una consulta cuando trabajo con fast reports:
Una vez estoy en el editor de texto, cómo puedo el cambiar el tamaño de la tipografía, ponerle negrita, etc.
 
Respuesta: 

Seleciona el objeto y elige el botón de tipos o estilos de la paleta superior.
Todo el contenido de un objeto debe tener el mismo atributo, es decir, dentro de una caja de texto ha de ser todo igual.
Si necesitas diferenciar atributos, cada parte debe ser un objeto distinto.
También puedes abrir la paleta de atributos presionando F11 o la opción del menú Herramientas/Barras de herramientas/Inspector de objetos.   Te aparece una ventana flotante con los atributos del objeto que selecciones, en donde se permiten cambiar directamente.

Plantillas publicadas en SoporDad

Pregunta: 
 
Buenas tardes Juan,
te envio este correo para solicitar tu ayuda.
Quiero descargarme la plantilla LISTADO DE RECIBOS, que se encuentra en el área de descargas de SoporDad, lo descargo en la carpeta FR_DOC dentro de H6, pero ¿como puedo utilizarla dentro del programa para poder utilizarla como plantilla?.
Gracias por todo y un saludo.
 
Respuesta: 

Lo tienes en el propio artículo: Es un diseño para el Generador de informes.

Ejecuta el programa como usuario ANALISTA -ojo con esto- si no entras como analista no podrás cargar la plantilla.

Lo primero que debes hacer es crear un CONDICIONANTE que te genere los datos que deseas sacar. En el artículo se sugiere uno que nos pida el número de algún hermano, un rango de números de hermanos, o la lista de personas que tienen deuda actual pendiente.

Para estos los filtros del condicionante serían:

- Que pida un hermano:     Nº de Hermano = [variable]         (con este, cuando lo ejecutes te pedira el número)

- Un rango de hermanos (ejemplo):
       Nº de Hermano >= [variable] 
       Nº de Hermano <= [variable]        (con este, cuando lo ejecutes te pedira los números desde el inicio hasta el final)

- Los que deben:     Total deuda > 0

Una vez creado vete al Diseño del Generador, en el menú Explotación/Generador gráfico.../Diseño de informes y sigue los pasos indicados en el articulo.

Cuando pulses sobre el botón de la escuadra "DISEÑO"  pasa al editor, a ahí es donde has de cargar la plantilla, pulsando su menú ARCHIVO/ABRIR y seleccionando la plantilla descargada.

Diseñando listados: personas del activo y el pasivo en un mismo listado

Pregunta: 

¿Como puedo reflejar en el listado si un hermano está en el pasivo o en el activo?
¿Solamente si tiene o no fecha de baja?
¿Puede ser que alguien esté en el pasivo sin fecha de baja?
Para depurar este aspecto, ¿que campo puedo imprimir en el listado que me diga con exactitud si ese hermano esta en el pasivo o en el activo?, porque el tipo (por lo que he podido intuir) te da si es externo o no.

Respuesta: 

No existe el campo que te distingue lo de Activo y Pasivo. Solo lo puedes saber cuando el que está en PASIVO tiene fecha de baja...pero... en revisiones muy antiguas, cuando alguien retornaba del pasivo al activo, su campo "fecha de baja" se quedaba con el valor que tuviera (porque  en el activo no se muestra ese campo).

Pero cuando se detectó que eso no procedía se metió una corrección que vacia la fecha de baja tras un retorno. Claro que en los movimientos que se hicieron anteriores a ese parche, seguirían apareciendo datos en el campo Fecha de baja aún estando en activo.

Tomo nota para incluir ese campo -que hasta ahora nadie me la ha pedido- para la revisión futura.

Las cofradías suelen sacar por separado el activo del pasivo.

En los datos de exportación, verás que el campo existe y se llama FACTIVO (=1 significa de alta).

Por cierto, si al presentar el listado, en el campo FECHA te aparece el valor "0",  actívale la propiedad "Ocultar ceros" (con el botón derecho), y evitas que te lo muestre.

Diseñando listados: varias líneas por campo y espacio entre registros

Pregunta: 

Realizando un listado, si quiero imprimir muchos datos de un hermano, no me caben en la misma línea y quiero seguir en la línea de abajo con más datos (no necesito que arriba me ponga una cabecera repetitiva) solo que siga poniendo más datos de un hermano, y que además me incluya una especie de espacio en blanco para anotaciones y una línea para diferenciarlo del siguiente hermano.
Y que posteriormente me salte al siguiente registro.
¿como podría hacer eso?

Respuesta: 

si un campo que tiene mucho texto, deseas que este aparezca en más de una linea, debes activar la propiedad STRECHED o AJUSTADO (si usas las propiedades traducidas), tanto del cuadro de texto como de la banda donde se ubica.

Esta propiedad la tienes disponible con el boton derecho del ratón o desde la paleta de atributos que se abre presionando F11, y que sirve para cambiar cualquier cosa de cualquier objeto. 

Ah!, y el cuadro de texto NO DEBE TENER  "TAMAÑO AUTOMATICO",  porque activarías su ancho ilimitado, cosa que en este caso no se desea. Así pues, el cuadro debe tener el ANCHO de su columna y tamaño automático desmarcado. Y todo estrechado (ajustado).

El Fast Reports cuando detecta que el texto de un campo es superior al ancho del campo, escribirá lo que no le quepa en una segunda linea.

Respecto del espacio de separación entre los datos de cada persona: basta con que agrandes la altura de la banda de datos maestros, que es donde se  incluye cada campo.  Así pues, amplía la altura de esa banda, y aprovecha también para trazar la línea que deseas con el botón que te dibuja líneas.    El tamaño de la altura de la banda será el tamaño de los datos que se presentan para cada persona.

Distribuir contenido