Ruta | Duración | Nivel | Antes de empezar |
🔵 Configurador · Nivel 1 | 50 min | Intermedio |
Un buen formulario solo pide lo necesario en cada momento y hace las cuentas por el usuario. Las reglas son la herramienta para conseguirlo: cambian el formulario mientras se rellena, según lo que el usuario va introduciendo.
🎯 Al terminar sabrás
Construir una regla con su condición (Cuando) y su acción (Sucederá esto).
Mostrar, ocultar, habilitar u obligar campos de forma dinámica.
Calcular valores con fórmulas y scripts (funciones avanzadas).
Distinguir cuándo usar una regla y cuándo un evento.
🧠 La idea: Cuando esto, sucederá esto otro
Toda regla tiene dos partes:
CUANDO Resultado es igual a NO OK SUCEDERÁ ESTO Mostrar Acción correctora · Marcar como requerido Acción correctora
Cuando: un campo, un operador y un valor. Los operadores dependen del tipo de campo: está vacío, es igual a, contiene, mayor que, es igual a otro campo, cambia el valor… Puedes combinar varias condiciones con Y (todas) u O (alguna).
Sucederá esto: una o varias acciones sobre campos o bloques: mostrar, ocultar, habilitar, deshabilitar, marcar o desmarcar como requerido, cambiar un valor, calcular con una fórmula, ejecutar un script o lanzar una consulta.
¿Regla o evento?
| Regla | Evento |
Cuándo actúa | Mientras se rellena | Al guardar |
Sobre qué actúa | El propio formulario | Lo que pasa después: avisar, cambiar estado, planificar… |
Ejemplo | Si NO OK → mostrar Acción correctora | Si NO OK → enviar un email a Calidad |
💡 Mantén las reglas sencillas. Varias reglas cortas y con un nombre claro son mucho más fáciles de mantener que una regla gigante con diez condiciones.
🛠️ Práctica guiada
Regla 1 · Pedir explicaciones solo si el control es NO OK
En la lección 5 dejaste ocultos Motivo de rechazo y Acción correctora. Ahora harás que aparezcan cuando hacen falta.
En el Form Builder abre la pestaña Reglas y pulsa Añadir regla.
Cuando:
Resultadoes igual aNO OK.Sucederá esto:
Mostrar
motivo_rechazoy marcarlo como requerido.Mostrar
accion_correctoray marcarla como requerida.
4. Guarda y previsualiza: marca NO OK y luego cambia a OK.
⚠️ Comprueba qué ocurre al volver a OK. Si los campos siguen visibles u obligatorios, crea una segunda regla con la condición inversa (Resultado es igual a OK → ocultar y desmarcar como requerido).
Regla 2 · Calcular la fecha de caducidad con un script
1. Añade al formulario dos campos:
Vida útil (días) · Numérico · ID
vida_util· valor por defecto365.Fecha de caducidad · Fecha · ID
fecha_caducidad· Deshabilitado (se calcula, no se escribe).
2. Crea una regla: Cuando fecha_envasado no está vacío.
3. Sucederá esto: sobre fecha_caducidad, elige la acción Script. En el valor escribe @ para ver las funciones disponibles y elige addValueDate. Usa { para insertar los campos:
addValueDate({fecha_envasado}, {vida_util}, "days")
addValueDate suma una cantidad de tiempo a una fecha (days, weeks, months, hours…). Si la cantidad es negativa, la resta.
Regla 3 · Una fórmula numérica
Añade un campo Temperatura máxima permitida (Numérico, temp_max, deshabilitado, valor por defecto 4) y un campo Margen (°C) (Numérico, margen, deshabilitado). Crea una regla que calcule el margen con la acción Fórmula:
{temp_max} - {temperatura}Un margen negativo indica que la temperatura está por encima del límite. Las fórmulas funcionan como las de Excel: admiten paréntesis, potencias, redondeos, máximos y mínimos, entre otras funciones.
🔍 Comprueba que funciona
Con OK, Motivo de rechazo y Acción correctora no aparecen; con NO OK aparecen y son obligatorios: no se puede guardar sin rellenarlos.
Al poner fecha de envasado 01/01 con 365 días de vida útil, la caducidad es el 01/01 del año siguiente.
Con 5 °C, el margen sale −1.
⚠️ Errores habituales
"El script no hace nada." Las funciones deben empezar con
@y los campos se insertan con{. Revisa también que el campo destino sea del tipo que devuelve la función (una fecha paraaddValueDate).Ocultar un campo en el formulario esperando que desaparezca del histórico. Son cosas distintas: lo que se ve en el histórico se configura en Resumen (lección 8).
Usar una regla para enviar avisos. Las reglas no avisan a nadie; para eso están los eventos (lección 9).
Encadenar demasiadas condiciones en una sola regla. Si no sabes explicar la regla en una frase, divídela.
🏋️ Reto
Haz que, si temperatura es mayor que temp_max, el campo resultado pase automáticamente a NO OK y quede deshabilitado, para que el operario no pueda marcarlo como OK. Pista: el operador comparar con otro campo te evita escribir el 4 a mano. ¿Se mostrarán también los campos de la regla 1?
📚 Para saber más
➡️ Siguiente lección: Después de guardar - histórico, móvil y PDF

