7 Formato y diseño de informes
7.2 Propiedades de formato
7.2.2 Trabajo con formato condicional
El formato condicional es un formato que se aplica solo bajo ciertas condiciones. Por ejemplo, en un informe puede interesarle aplicar alguno de estos formatos cuando se satisfagan ciertas condiciones:
● Si son al cobro, los saldos del cliente se imprimen en rojo.
● Si el cliente es canadiense, las fechas aparecen en formato "Día, Mes, Año". ● Si el número de línea es impar, aparece un color de fondo.
Crystal Reports facilita la aplicación de formato condicional en estas situaciones y en muchas otras.
Con formato absoluto, se puede seguir el procedimiento de “seleccionar, después aplicar”. Para dar formato condicional se sigue el mismo procedimiento, pero se va un paso más adelante y se configuran condiciones que determinan cuándo será aplicado el formato. Estas condiciones se especifican utilizando fórmulas simples. Si se configura una fórmula de formato condicional, la fórmula pasa por alto cualquier valor fijo que haya configurado en el cuadro de diálogo Formato. Por ejemplo, si se activa la propiedad Ocultar y después se configura una fórmula condicional para la propiedad Ocultar, la propiedad solamente se aplicará si se cumple la condición de la fórmula.
Crystal Reports permite configurar condicionalmente tanto propiedades de activar y desactivar como propiedades de atributo. Sin embargo, cada una de éstas requiere un tipo diferente de fórmula.
7.2.2.1
Acerca de operadores y valores condicionales
Cuando da formato a un objeto de resultado o un elemento condicionalmente, es necesario seleccionar un operador y un valor para definir la condición.
La tabla siguiente enumera los operadores disponibles:
Operador Descripción
Igual a/No igual a La condición incluye elementos que incluyen/excluyen el
valor especificado.
Inferior que/Inferior que o igual a La condición incluye elementos cuyo valor es inferior que/ inferior que o igual al valor especificado.
Mayor que/Mayor que o igual a La condición incluye elementos cuyo valor es mayor que/
Operador Descripción
En la lista/Fuera de la lista La condición incluye elementos cuyo valor se incluye/no se incluye en una lista especificada de elementos.
Comienza con/No comienza con (solo objetos no numéricos) La condición incluye elementos que incluyen/excluyen la palabra o letra especificada.
Contiene/No contiene (solo objetos no numéricos) La condición incluye elementos que incluyen/excluyen la palabra o letra especificada.
Entre/No entre La condición incluye elementos cuyo valor se encuentra
entre/no entre los valores especificados.
La siguiente tabla enumera los valores disponibles y los pasos para aplicarlos:
Opción Procedimiento
<Introducir un valor> ● Seleccione un valor de la lista o haga clic en Nuevo parámetro para abrir el cuadro de diálogo Crear parámetro y crear un nuevo parámetro.
<Elegir un valor> ● Seleccione un valor de la lista o haga clic en Nuevo parámetro para abrir el cuadro de diálogo Crear parámetro y crear un nuevo parámetro.
<Elegir mín/máx> En el cuadro de diálogo Valores de Entre, seleccione una de las siguientes opciones:
● Haga clic en la lista Mínimo y seleccione un parámetro mínimo de la lista o haga clic en Nuevo parámetro para crear un parámetro nuevo.
● Haga clic en la lista Máximo y seleccione un parámetro máximo de la lista o haga clic en Nuevo parámetro para crear un parámetro nuevo.
7.2.2.2
Comprensión de las propiedades condicionales de
activación o desactivación
Una propiedad condicional de “activar” o “desactivar” prueba para ver si una condición ha sido cumplida. Se activa si la condición se cumple y se desactiva si la condición no se cumple. Use fórmulas booleanas para este tipo de formato.
Ejemplo de sintaxis Crystal
7.2.2.3
Descripción de las propiedades de atributo
condicional
Una propiedad de atributo condicional comprueba qué condiciones se cumplen entre dos o más. El programa entonces aplica el formato apropiado a la condición. Por ejemplo, asuma que usted quiere los valores bajo cierta cuota impresos en rojo y todos los demás valores impresos en negro. El programa verifica cuando el valor está bajo la cuota o no. Si está bajo la cuota, aplica el atributo rojo, si no, se aplica el atributo negro.
Use una fórmula If-Then-Else para este tipo de formato condicional.
Ejemplo de sintaxis Crystal
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then crRed
Else
crBlack
Al crear fórmulas para propiedades de atributo condicional, Crystal Reports muestra una selección de atributos en el área de comentarios de la fórmula en la vista Fórmulas. Puede usar cualquiera de estos atributos en una fórmula. Por ejemplo, si está definiendo un color de fondo condicional, la selección contiene atributos para cada color que puede usar. Si está definiendo bordes condicionalmente, la selección contiene atributos como crSingleLine, crDoubleLine, crDashedLine, crDottedLine y crNoLine.
Nota
Incluya siempre la palabra clave Else en las fórmulas condicionales; de lo contrario, puede que los valores que no cumplan la condición If no conserven su formato original. Para conservar el formato original de los valores que no cumplan la condición If, utilice la función DefaultAttribute. La función DefaultAttribute devuelve el valor de la propiedad de formato establecida en el cuadro de diálogo Propiedades.
Ejemplo de sintaxis Crystal
If {CUSTOMER.LAST_YEARS_SALES} > 5000 Then crRed
Else
DefaultAttribute
Usted puede ir más adelante con este tipo de propiedad. Puede especificar una lista de condiciones y una propiedad por cada una de ellas; usted no está limitado a dos o tres condiciones. Por ejemplo, si tiene un objeto numérico en su informe que contiene cifras de ventas de países alrededor del mundo, puede especificar el número de atributos que desea aplicar a cada país. En este caso, sus condiciones van a especificar que si es del País A, aplicar el atributo del País A; País B, aplicar atributo del País B; País C, aplicar atributo del País C, y así sucesivamente.
Ejemplo de sintaxis Crystal
If {CUSTOMER.Country} = "Canada" Then crRed
Else If {CUSTOMER.Country} = "England" Then crBlack
Else If {CUSTOMER.Country} = "Australia" Then crGreen
Else
crBlue
Use una fórmula de condición If-Then-Else múltiple para esta clase de formato condicional.
7.2.2.4 Cambiar fuentes de forma condicional
Para objetos de memorándum o de cadena que estén basados en condiciones, como un valor paramétrico, se pueden cambiar condicionalmente la fuente, el estilo de fuente, el tamaño y el color.
7.2.2.4.1
Para cambiar las fuentes de forma condicional
1. Haga clic con el botón derecho en el elemento al que desea dar formato y haga clic en Formato condicional. Aparece el cuadro de diálogo Dar formato.
2. En el cuadro de diálogo Dar formato, haga clic en Agregar condición. 3. En el panel Condición, seleccione un objeto de resultado en la lista objeto. 4. Seleccione un operador para el objeto de resultado en la lista operador. 5. Seleccione un valor en la lista valor.
6. En el panel Configuración de formato, seleccione una o varias propiedades de fuente que se aplicarán cuando se cumpla una condición.
7. Agregue valores para cada propiedad de fuente. 8. Haga clic en Aceptar para aplicar las condiciones.
7.2.2.5
Cambio de los márgenes de forma condicional
Márgenes basados en número de página
La siguiente fórmula comprueba si un número de página es par o impar y establece los márgenes en
consecuencia: si la página es un número par, el margen se establece en una pulgada; si la página es un número impar, el margen se establece en dos pulgadas.
If Remainder(pagenumber,2) = 0 then 1440 else 2880
Márgenes basados en la orientación de la página
La siguiente fórmula comprueba la orientación de la página y establece los márgenes en consecuencia: si la orientación es vertical, el margen se establece en una pulgada; si la orientación es horizontal, el margen se establece en dos pulgadas.
If CurrentPageOrientation = crPortrait then 1440 else 2880
Nota
La posición de margen se mide en twips (una pulgada contiene 1440 twips).
7.2.2.5.1
Para cambiar los márgenes de forma condicional
1. Haga clic en Archivo Configurar página . Aparece el cuadro de diálogo Configurar página.
2. Haga clic en el botón Fórmula condicional situado junto al margen que desea cambiar. 3. En el Taller de fórmulas, introduzca la fórmula de margen condicional.
4. Haga clic en Guardar y cerrar para volver al cuadro de diálogo Configuración de página. 5. Haga clic en OK (Aceptar).
7.2.2.6 Crear pies de página después de la primera página
Puede elegir imprimir un pie de página en todas las páginas excepto la primera. Esto lo puede hacer si da formato a la sección Pie de página condicionalmente, usando una propiedad de activar o desactivar.
7.2.2.6.1
Para crear pies de página después de la primera
página
1. Coloque el objeto que desea mostrar como un pie de página en la sección Pie de página de informe. 2. Haga clic con el botón derecho en la sección Pie de página y haga clic en Dar formato a sección.
Aparecerá el cuadro de diálogo Formato. 3. Seleccione Ocultar
4. Haga clic en el botón Taller de fórmulas situado junto a la opción Ocultar. Aparece el Taller de fórmulas y se muestra el nombre de la nueva fórmula. 5. Introduzca la fórmula siguiente en el Taller de fórmulas:
Ejemplo de sintaxis Crystal: PageNumber = 1
Esta fórmula suprime el pie de página en la primera página, pero no en ninguna otra página. 6. Haga clic en Guardar y cerrar.
7. Haga clic en el modo Página para ver el cambio del informe.
Nota
Si tiene un pie de página de varias líneas y ha insertado las líneas en diferentes secciones Pie de página, tendrá que suprimir condicionalmente cada una de esas secciones utilizando la fórmula de arriba.
Nota
Para crear un encabezado de página que aparezca en todas las páginas excepto la primera, coloque la información del encabezado en la sección Encabezado de Página y después suprima condicionalmente esa sección utilizando la misma fórmula que usó para suprimir la sección Pie de página.
Enlaces relacionados
Fórmulas [página 273]
7.2.2.7
Cambiar la posición X de forma condicional
Puede cambiar la posición X (es decir, la posición horizontal a partir del margen izquierdo) de un objeto basándose en una condición. Esta acción resulta útil cuando desea que los elementos aparezcan en columnas diferentes cuando su valor cumple una determinada condición; por ejemplo, puede hacer que los pedidos enviados a tiempo aparezcan en la primera columna y los pedidos enviados con retraso en la segunda.
Nota
7.2.2.8
Cambiar el ancho de elementos de forma condicional
También puede cambiar el ancho de un elemento basándose en una condición.
Nota
No puede cambiar el ancho de elementos de línea o cuadro de forma condicional.
7.2.2.8.1
Para cambiar el ancho de un elemento de forma
condicional
1. Haga clic con el botón derecho en el elemento cuyo ancho quiere cambiar de forma condicional y haga clic en
Dar formato a <<elemento>>.
Aparecerá el cuadro de diálogo Formato. 2. Expanda el nodo General.
3. Haga clic en el botón Fórmula condicional situado junto al elemento de ancho. Aparecerá el Taller de fórmulas.
4. En el Taller de fórmulas, introduzca el texto de la fórmula de ancho condicional. 5. Haga clic en Guardar y cerrar.
6. Cierre el cuadro de diálogo Formato para guardar los ajustes de ancho.
Crystal Reports cambia el ancho de los elementos que cumplen la condición dada y muestra los que no la cumplen en el tamaño original.
7.2.2.9 Crear una imagen condicional
Puede agregar condiciones a una o varias imágenes del informe usando el cuadro de diálogo Asistente de imagen condicional. Las imágenes condicionales se insertan en el informe en un único objeto de imagen. Para cada imagen que agregue al Asistente de imagen condicional, introducirá una condición que determinará el modo en que la imagen se aplica al informe.
7.2.2.9.1
Para agregar una imagen condicional
Antes de crear una imagen condicional, debe insertar una imagen en el informe. Para cada imagen que se agregue es necesario seleccionar un operador y un valor para aplicar una condición a la imagen. El tipo de operador (por ejemplo, igual, no igual, entre, no entre, etc.) afecta al valor y los tipos de selección disponibles para la imagen. 1. Haga clic con el botón derecho en el elemento de imagen en el informe y haga clic en Asistente de imagen
condicional.
Aparece el cuadro de diálogo Asistente de imagen condicional. 2. Haga clic en Agregar imágenes.
Aparecerá el cuadro de diálogo Abrir.
3. Seleccione los archivos de imagen que desea agregar al informe y haga clic en Abrir.
Aparece el cuadro de diálogo Asistente de imagen condicional con una lista de los archivos de imagen seleccionados.
4. En la lista Elija un objeto, seleccione un objeto de resultado para cada imagen.
Consejo
También puede escribir el título del objeto de resultado en el cuadro de texto. A medida que escribe el título del objeto de resultado, la lista filtra automáticamente los objetos de resultados enumerados.
5. En el cuadro Operadores, seleccione uno de los siguientes operadores para la imagen.
En función del operador que seleccione, el cuadro Valor muestra Introducir un valor, Elegir valores o Elegir valores mín/máx.
6. En el cuadro Valor, establezca un valor para la condición.
7. Repita estos pasos para agregar condiciones a cada imagen. Cuando haya terminado de aplicar condiciones a cada imagen, haga clic en Aceptar.
Las condiciones se aplican a la imagen o imágenes.