3.1 · Editor de fórmulas (sintaxis Crystal/Basic)

Nivel 3 · Avanzado: fórmulas y formato condicional

3.1Editor de fórmulas (sintaxis Crystal/Basic)

Objetivo: crear fórmulas sencillas en el editor (campos, operadores, funciones), verificando la sintaxis y el tipo devuelto.
Tiempo estimado: 12 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

Lo esencial en 30 segundos

  • Una fórmula = un valor que falta: precio con IVA, margen, nombre completo, categoría calculada — creada en el editor de fórmulas, aparece como un campo para colocar en cualquier sección.
  • Dos sintaxis, una sola elección: Crystal (histórica, la más documentada) o Basic (cercana a VB) — mismo resultado, pero una sola por informe para mantener la coherencia.
  • Verificar, tipar, convertir: controlar siempre la sintaxis antes de usarla y vigilar el tipo devuelto (ToText, ToNumber) — mezclar texto y número sin conversión hace fallar la fórmula.

Minicaso hilo conductor — Farès calcula sus precios con IVA sin hoja de cálculo

Farès, controlador de gestión en Argel, vuelve a introducir cada mes los importes con IVA de sus facturas en una hoja de cálculo junto a su informe Crystal — fuente de errores y de tiempo perdido. Abre el editor de fórmulas, inserta el campo desde la lista y escribe {Commandes.MontantHT} * 1.19 (IVA argelino): el campo calculado aparece en el explorador, lo coloca en la sección Detalles, verifica la sintaxis, y el precio con IVA se calcula solo con cada actualización. Se acabó la doble introducción: el informe produce por sí mismo su valor faltante.

Este mismo caso vuelve en el curso, el esquema, el guion y el desafío 48h.

1. El editor de fórmulas: campos, operadores, funciones

Una fórmula es un cálculo o una lógica que USTED crea para producir un valor que no existe como tal en la base de datos: un importe con IVA, un margen, un nombre completo, una categoría. Se crea en el editor de fórmulas (Formula Workshop); el campo de fórmula aparece entonces en el explorador y se coloca en una sección como cualquier campo. El editor ayuda: lista de campos para insertar (anotados {table.champ}), lista de funciones por categoría (matemáticas, cadenas, fechas, condiciones) y operadores. Farès los elige en lugar de escribirlo todo a mano — menos errores de escritura en los nombres de campos.

Los bloques de una fórmula: las referencias de campos entre llaves ({Commandes.MontantHT}), los operadores (aritméticos + - * /, comparación = <> > < >= <=, lógicos And Or Not, concatenación + o &), las funciones integradas (Round, UpperCase, Year, If…Then…Else…) y los literales (números como 1.19, texto entre comillas, fechas entre # como #2026-01-01#). Ejemplo: el precio con IVA = {Commandes.MontantHT} * 1.19; una etiqueta = {Client.Nom} + " " + {Client.Prenom}.

2. Dos sintaxis, una verificación, un tipo

Crystal Reports propone DOS SINTAXIS a elegir: la sintaxis Crystal (histórica, propia de la herramienta, la más extendida en la documentación — el valor de la fórmula es la última expresión evaluada) y la sintaxis Basic (cercana a Visual Basic, se asigna el resultado a « formula = … »). Hacen lo mismo: por defecto, la sintaxis Crystal, porque allí se encuentran más ejemplos y se leen más fácilmente los informes de otros. Y nos atenemos a ella en todo el informe.

Dos reflejos antes de usar una fórmula. Primero VERIFICAR la sintaxis (botón de control): el editor señala paréntesis faltantes y errores. Después vigilar el TIPO: una fórmula devuelve un tipo preciso (número, texto, fecha, booleano); mezclar texto y número sin conversión provoca errores — se convierte con ToText, ToNumber. Una fórmula puede luego mostrarse, totalizarse, servir en un filtro o en un formato — y las fórmulas se combinan entre sí.

Error frecuente de interpretación: « Las dos sintaxis se mezclan libremente en una misma fórmula, y el tipo se adivina solo ». No, dos veces. Se elige UNA sintaxis por fórmula (e idealmente por informe), porque Crystal y Basic tienen reglas diferentes; y un tipo incoherente (texto + número sin conversión) hace fallar la fórmula en lugar de « apañárselas ». Verificar la sintaxis + convertir explícitamente: ese es el precio de unas fórmulas que funcionan a la primera.
Fabricar un valor calculado Campos, operadores, funciones, verificación BloquesCampos {table.champ}, operadores, funciones, literales+Una sintaxisCrystal por defecto, Basic si VB resulta familiar+Verificar y tiparControl de sintaxis, tipo devuelto, conversiones Insertar los campos desde la lista en lugar de escribirlos.
Campos, operadores, funciones, verificación
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Bloques: Farès combina el campo {Commandes.MontantHT}, el operador * y la tasa 1.19 en lugar de volver a introducir los precios con IVA. 2) Sintaxis: elige Crystal de una vez por todas, la más documentada. 3) Control: verifica la sintaxis con el botón, vigila el tipo (número) y coloca el campo calculado como un campo normal. Lección: una fórmula es un campo fabricado — verificado y tipado antes de usarlo.

🔎 Ejemplo concreto — Precio con IVA y nombre completo, las dos primeras fórmulas

Farès escribe sus dos fórmulas básicas en sintaxis Crystal.

Precio con IVA (número): {Commandes.MontantHT} * 1.19
Nombre completo (texto): {Client.Nom} + " " + {Client.Prenom}
→ verificar la sintaxis con el botón, colocar cada campo en la sección deseada.

Lectura: un cálculo y una concatenación cubren ya lo esencial de las necesidades habituales.

Lección: insertar los campos desde la lista evita errores de escritura.

Vocabulario de la sección

Fórmula
Cálculo o lógica creado por el usuario para producir un valor ausente de la base de datos (precio con IVA, margen, nombre + apellido, categoría). Creada en el editor, colocada como un campo.

Ejemplo sencillo: El precio con IVA de Farès: {Commandes.MontantHT} * 1.19.

Lo que no es: una reintroducción manual de los precios con IVA en una hoja de cálculo al lado.

Reflejo: en cuanto falte un valor, fabricarlo como fórmula.

Editor de fórmulas (Formula Workshop)
El taller de escritura de fórmulas: listas de campos ({table.champ}), de funciones por categoría y de operadores, con verificación de sintaxis.

Ejemplo sencillo: Farès inserta allí {Client.Nom} desde la lista.

Lo que no es: escribir los nombres de campos a mano, fuente de errores.

Reflejo: insertar siempre desde las listas propuestas.

Sintaxis Crystal frente a Basic
Dos lenguajes a elegir para la misma fórmula: Crystal (histórica, la más extendida) y Basic (cercana a Visual Basic, « formula = … »).

Ejemplo sencillo: Farès escribe todo en Crystal para mantener la coherencia.

Lo que no es: mezclar las dos sintaxis en un mismo informe.

Reflejo: Crystal por defecto, una sola sintaxis por informe.

Bloques de una fórmula
Referencias de campos ({table.champ}), operadores (aritméticos, comparación, And/Or/Not, concatenación), funciones integradas, literales (números, « texto », #fechas#).

Ejemplo sencillo: {Client.Nom} + " " + {Client.Prenom}.

Lo que no es: un cálculo copiado a mano fuera del informe.

Reflejo: montar bloque por bloque, y luego verificar.

Tipo de la fórmula
Una fórmula devuelve un tipo preciso (número, texto, fecha, booleano); mezclar los tipos sin conversión provoca errores.

Ejemplo sencillo: ToText({Commandes.Montant}) para mostrar un número en una etiqueta.

Lo que no es: sumar un texto y un número esperando que « cuele ».

Reflejo: convertir explícitamente con ToText, ToNumber.

En la práctica — Escribir una primera fórmula

  1. Abra el editor de fórmulas y cree un cálculo sencillo (p. ej. precio con IVA = {MontantHT} * 1.19) insertando el campo desde la lista.
  2. Pruebe una concatenación de texto (p. ej. {Client.Nom} + " " + {Client.Prenom}) y recorra las funciones por categoría (matemáticas, texto, fechas).
  3. VERIFIQUE la sintaxis (botón de control): corrija los errores señalados antes de usar la fórmula.
  4. Coloque el campo de fórmula (ya en el explorador) en una sección como un campo normal; vigile el TIPO (convertir con ToText/ToNumber si hace falta).
Crea fórmulas en el editor (campos, operadores, funciones), verificando la sintaxis y el tipo: la personalización mediante el cálculo queda desbloqueada.

Guion listo para decir — explicar su fórmula al jefe de contabilidad (30 s)

« Los precios con IVA ya no se vuelven a introducir: he creado un campo calculado — importe sin IVA multiplicado por 1,19 — directamente en el informe, en sintaxis Crystal, verificado por el editor. Se recalcula solo con cada actualización, sin doble introducción ni error de copia. »

Para decir en la reunión de cierre; mostrar la fórmula y el botón de verificación.

Plantilla copiar-pegar — primeras fórmulas (sintaxis Crystal)

// Precio con IVA (número)
{Commandes.MontantHT} * 1.19
// Nombre completo (texto)
{Client.Nom} + " " + {Client.Prenom}
// Margen (número)
{Ventes.PrixVente} - {Ventes.Cout}
// Equivalente Basic : formula = {Commandes.MontantHT} * 1.19

Independiente

Dos fórmulas (un cálculo, una concatenación) automatizan lo que usted volvía a introducir a mano.

PYME en Argel

Farès calcula sus precios con IVA al 19 % en el informe: se acabó la hoja de cálculo paralela.

Equipo de proyecto

Imponer la sintaxis Crystal única en el informe para que cada uno relea las fórmulas de los demás.

Principiante

Esta semana: una fórmula de cálculo + una de texto, sintaxis verificada con el botón.

✓ Buenas prácticas

  • Inserte los campos desde la lista del editor en lugar de escribirlos (cero errores de escritura).
  • Elija la sintaxis Crystal por defecto y manténgala en todo el informe.
  • Verifique sistemáticamente la sintaxis antes de usar una fórmula, y vigile su tipo.

✗ Errores frecuentes

  • Mezclar sintaxis Crystal y Basic en un mismo informe: nadie se aclara.
  • Escribir los nombres de campos a mano en lugar de insertarlos (errores invisibles).
  • Sumar texto y número sin conversión: la fórmula falla en lugar de « apañárselas ».

Puntos clave

  • Una FÓRMULA produce un valor ausente de la base de datos (precio con IVA, margen, nombre + apellido, categoría); creada en el editor, se coloca como un campo.
  • Dos SINTAXIS (Crystal, la más extendida / Basic, cercana a VB): atenerse a UNA SOLA por coherencia.
  • Bloques: campos {table.champ}, operadores, funciones por categoría, literales (números, « texto », #fechas#).
  • VERIFICAR SIEMPRE la sintaxis y vigilar el TIPO (ToText, ToNumber para convertir).

Desafío 48h — aplíquelo mañana

Cree 1 fórmula de cálculo (precio con IVA o margen) + 1 fórmula de texto (nombre completo), sintaxis verificada, colocadas en su informe real.

Lista de salida de la sección
  • Creo un campo calculado en lugar de volver a introducir a mano.
  • Escribo en una sola sintaxis (Crystal por defecto).
  • Verifico la sintaxis y convierto los tipos explícitamente.
Autoevaluación 1-5: ¿me quedan valores copiados a mano fuera del informe?¿cada una de mis fórmulas ha pasado el control de sintaxis?

Preguntas frecuentes

Sintaxis Crystal o Basic: ¿cuál elegir, y cómo empezar?

Las dos sintaxis producen el MISMO resultado; la elección es cuestión de coherencia y de familiaridad. La sintaxis CRYSTAL es el lenguaje histórico, propio de Crystal Reports — la más EXTENDIDA: la mayoría de la documentación y de los informes existentes la utiliza, y el valor de la fórmula es la última expresión evaluada. La sintaxis BASIC es cercana a Visual Basic (« formula = … »), más familiar si conoce VB/VBA. Por defecto, elija Crystal (más ejemplos, lectura de los informes de otros) y mantenga la COHERENCIA en todo el informe. Para empezar: empiece SENCILLO (un cálculo aritmético, una concatenación), inserte los campos desde la lista, recorra las funciones por categoría, y VERIFIQUE la sintaxis sistemáticamente — el editor señala paréntesis faltantes y errores.

¿Para qué sirven concretamente las fórmulas, y qué cálculos habituales realizar?

Las fórmulas producen valores y lógica ausentes de la base de datos, e intervienen en todas partes: CALCULAR valores derivados (precio con IVA = sin IVA × tasa, margen = venta − coste, descuento, cantidad × precio, porcentaje); COMPONER texto (nombre + apellido, dirección en una línea, « Factura n.º » + número); CATEGORIZAR con If…Then…Else (3-4) para agrupar después (3-5); alimentar FILTROS (atención al lado servidor, 2-3); pilotar el FORMATO CONDICIONAL (3-2) y el OCULTAMIENTO de secciones (2-5); manipular las FECHAS (año, mes, diferencias); gestionar los VALORES NULOS. Cálculos de gestión típicos de Farès: precio con IVA al 19 %, margen por línea (venta − coste), total de línea (cantidad × precio unitario), parte en % (parte / total × 100).

Comprueba tu comprensión

¿Dónde se crea un valor calculado (precio con IVA, margen) en Crystal Reports?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 3Preguntas inéditas y más difíciles para validar tus conocimientos