🧩 Condiciones y reglas (editor GUI)

La pestaña «Condiciones y reglas» en la configuración del formulario es el editor visual más moderno para la lógica de los campos: mostrar u ocultar campos, convertir campos obligatorios en dinámicos, calcular valores, filtrar opciones. Es el método recomendado para la mayoría de los casos de uso.

> ⚠️ Estado beta: La función está activa, pero seguimos probando casos extremos. Si una configuración concreta no responde como se espera: envía un breve correo electrónico a hello@propform.io con el ID del formulario; lo revisaremos.


Contenido


Acciones disponibles

Por cada regla, eliges una acción que se ejecutará cuando se cumpla la condición:

Acción Efecto
Ocultar El campo ya no se muestra (el valor permanece vacío al enviar)
Mostrar Los campos ocultos por defecto se hacen visibles
Hacer campo obligatorio La validación obliga a introducir datos antes de enviar
Bloquear El campo permanece visible pero no se puede editar (p. ej., tras el primer envío)
Ocultar opciones En selección única/múltiple: eliminar determinados valores de la selección
Establecer valor El campo recibe un valor fijo
Calcular valor El campo recibe el resultado de una fórmula (véase más abajo)
Cambiar etiqueta Cambiar dinámicamente la etiqueta del campo (p. ej., «Precio de compra» → «Precio de alquiler»)

Operadores de condición

Las condiciones comprueban el valor de otro campo. Operadores disponibles:

  • ist gleich / ist nicht gleich
  • ist leer / ist nicht leer
  • enthält / enthält nicht (para campos de selección múltiple y de texto)
  • ist größer als / ist kleiner als (para números)
  • ist größer-gleich / ist kleiner-gleich

Las condiciones múltiples por regla se combinan con Y (todas deben cumplirse) o O (basta con una), seleccionable por regla.

---

Cálculos entre campos (Calcular valor)

Con la acción «Calcular valor» puedes combinar aritméticamente valores de varios campos — por ejemplo, calcular una comisión interna automáticamente a partir del precio de compra y el porcentaje de comisión.

La fórmula utiliza una sintaxis de barra vertical con ID de campo:

{{multiply:field:125802|field:125803|/100}}

→ multiplica los valores del ID de campo 125802 y del ID de campo 125803, y divide el resultado entre 100.

Paso a paso

Configuración de ejemplo: Tres campos en el formulario — Kaufpreis (campo numérico), Prozent Innenprovision (campo numérico), Summe Innenprovision (campo numérico).

1. Averiguar los ID de campo

El ID de campo es el ID DOM del elemento <input> en el formulario. Así es como lo encuentras:

  • Abre el formulario en el navegador
  • Haz clic con el botón derecho del ratón en el campo correspondiente → Inspeccionar
  • En el panel DevTools, despliega el <div> circundante: el ID del campo se encuentra en la propiedad ID (p. ej., 125802)
  • Anota los ID de los tres campos

2. Crear regla

Pestaña «Condiciones y reglas» → Nueva regla:

  • Condición: Kaufpreis no está vacío Y Prozent Innenprovision no está vacío
  • Acción: Calcular valor → Campo Summe Innenprovision
  • Fórmula en el campo de valor:
{{multiply:field:<ID-Kaufpreis>|field:<ID-Provisions-Prozent>|/100}}

3. Prueba en vivo

Abrir formulario → Introducir precio de compra → Introducir porcentaje de comisión → El total se calcula automáticamente.

Operadores de sintaxis de barra vertical (pipe)

Los operadores se encadenan con la barra vertical |:

Patrón Significado Ejemplo
multiply:... Multiplicación `multiply:field:A
add:... Suma `add:field:A
subtract:... Restar `subtract:field:A
divide:... Dividir `divide:field:A
/<zahl> Dividir por un valor fijo `multiply:field:A
*<zahl> Multiplicar por un valor fijo `add:field:A

field: frente a field_value:

Sintaxis ¿Cuándo se utiliza?
field:<ID> En campos numéricos: devuelve el valor introducido. En selección única: devuelve el nombre claro (p. ej., «Piso»)
field_value:<ID> En selección única: devuelve el valor de clave técnica (p. ej., ind_3673). Importante para comparaciones en condiciones IF()

En campos puramente numéricos, field: y field_value: devuelven lo mismo: ambos funcionan.

Casos de uso

  • Calculadora de comisiones internas: Precio de compra × Porcentaje ÷ 100
  • Cálculo de la rentabilidad: (Ingresos por alquiler − Costes) ÷ Importe de la inversión × 100
  • Conversión bruto/neto: Neto × 1,19
  • Precio por metro cuadrado: Precio ÷ Superficie habitable
  • Cálculo del valor residual (modo promotor inmobiliario, combinable en varias etapas)

> 💡 Nota sobre la experiencia de usuario: La configuración actual mediante ID de DevTools y sintaxis de tuberías no es muy intuitiva. Tenemos previsto incluir un editor visual de fórmulas.


## Condiciones unidireccionales frente a bidireccionales

La mayoría de las acciones se aplican de forma persistente (unidireccional): una vez que se cumple la condición, el efecto permanece, incluso si la condición vuelve a ser falsa. Solo unas pocas acciones vuelven automáticamente al estado original (bidireccional).

Acción Comportamiento
Ocultar / Mostrar Unidireccional (sticky) — el estado de visibilidad establecido se mantiene; para revertirlo necesitas una segunda regla
Bloquear / Desbloquear Unidireccional
Solo lectura / Editable Unidireccional
Campo obligatorio / Opcional Unidireccional (STICKY) — si la condición vuelve a ser falsa, se mantiene el estado de obligatorio
Ocultar opciones Bidireccional — las opciones se vuelven a mostrar automáticamente cuando la condición pasa a ser falsa
Volver a mostrar opciones Unidireccional (sticky show)
Establecer valor / calcular (campos estándar) Unidireccional — el valor establecido se mantiene
Establecer valor para campos de imagen/vídeo Bidireccionalsrc se restablece automáticamente al valor original
Cambiar etiqueta Bidireccional — la etiqueta original vuelve automáticamente cuando la condición pasa a ser falsa

> 💡 Para acciones unidireccionales: si quieres deshacerlas, necesitas una segunda regla con la condición inversa que restablezca el estado original. Ejemplo: Una regla muestra el campo, una segunda regla lo vuelve a ocultar.


Prioridades cuando hay varias reglas

Si varias reglas afectan al mismo campo (p. ej., la regla 1 establece el valor en X, la regla 2 establece el valor en Y), la prioridad es decisiva:

  • Número más alto = mayor prioridad
  • En caso de empate: gana la regla posterior en el editor

> 💡 Práctica recomendada: Asigna las prioridades deliberadamente en incrementos de 10 (10, 20, 30, …), para que luego puedas insertar reglas entre ellas.


Configuraciones típicas

«Cambia el tipo de comercialización → Ajustar la etiqueta»

  • Condición: Vermarktungsart = Miete
  • Acción: Campo Kaufpreis → Cambiar la etiqueta a Kaltmiete
  • Acción 2: Campo Kaufpreis → Sufijo de la denominación (€/Monat)

«Si no hay comisión → Ocultar campos de comisión»

  • Condición: Provisionsfrei = Ja
  • Acción: Campos Provision Außen, Provisions-Prozent, MwSt. → Ocultar

«El nombre del comprador debe estar rellenado en los contratos de compraventa»

  • Condición: Vertragsart = Kaufvertrag
  • Acción: Campos Käufer-Vorname + Käufer-Nachname → Campo obligatorio

«Calcular automáticamente la comisión interna»

  • Condición: Kaufpreis no está vacío Y Provisions-Prozent no está vacío
  • Acción: Campo Summe Innenprovision → Calcular valor → {{multiply:field:KAUFPREIS_ID|field:PROZENT_ID|/100}}

«Filtrar opciones de selección única en función de otro campo»

  • Condición: Bundesland = Bayern
  • Acción: Campo Region → Ocultar opciones → todas excepto las regiones bávaras

Relacionado