# Campos calculados

Calcula puntuaciones, totales y texto dinámico a partir de las respuestas del formulario.

## Campos calculados

Campos invisibles que calculan valores a partir de las respuestas: puntuaciones de cuestionarios, totales de pedidos, clasificaciones de leads o texto concatenado. Se actualizan en tiempo real mientras el encuestado rellena el formulario.

<h2 id="how-it-works">Cómo funciona</h2>

<p>
  Los campos calculados son invisibles para los encuestados, pero calculan valores según las reglas de lógica que tú defines. Almacenan un
  resultado de tipo <strong>número</strong> o <strong>texto</strong>, y se actualizan en vivo a medida que el encuestado responde las
  preguntas.
</p>

<p>
  El flujo es el siguiente: creas un campo calculado, defines un valor inicial y luego añades{' '}
  <a href="/es/building-forms/conditional-logic">reglas de lógica</a> con la acción <strong>Calcular valor</strong>. Cada regla ejecuta una
  operación (sumar, multiplicar, establecer, etc.) cuando se cumple su condición.
</p>

<h2 id="adding">Añadir un campo calculado</h2>

<p>
  Escribe <code>/</code> en una línea vacía y elige <strong>Campo calculado</strong> en la categoría Layout. Solo funciona en el nivel
  superior del formulario — no dentro de una columna ni de un grupo repetible. Configura:
</p>

<ul>
  <li>
    <strong>Tipo de campo</strong> — número o texto
  </li>
  <li>
    <strong>Nombre</strong> — cómo lo referencias en las reglas de lógica y en las menciones @. También es la clave de este campo, así que
    el valor sale hacia las integraciones y los callbacks bajo ese nombre
  </li>
  <li>
    <strong>Valor inicial</strong> — el valor de partida antes de que se ejecute cualquier regla. Escribe un valor literal (por ejemplo,{' '}
    <code>0</code> para una puntuación) o selecciona un <a href="/es/building-forms/hidden-fields">campo oculto</a> del mismo tipo para
    inicializarlo desde un parámetro de URL. Si el parámetro falta o no es válido, el campo empieza en <code>0</code> (número) o vacío
    (texto)
  </li>
</ul>

<h2 id="numeric-operations">Operaciones numéricas</h2>

<p>Estas son las entradas exactas del selector de operación de una acción Calcular valor.</p>

<h2 id="text-operations">Operaciones de texto</h2>

<h2 id="operation-values">Valores de operación</h2>

<p>Cada operación toma un valor que puede ser:</p>

<ul>
  <li>
    <strong>Un valor fijo</strong> — un número o cadena específica que escribes (por ejemplo, siempre sumar <strong>10</strong>)
  </li>
  <li>
    <strong>El valor de otro campo</strong> — selecciona una pregunta, un campo oculto o un campo calculado para que el valor sea dinámico
    (por ejemplo, sumar lo que el encuestado haya introducido en la P2)
  </li>
</ul>

<p>
  Una operación numérica se omite cuando su valor está vacío o no es un número, y dividir entre 0 también se omite, así que el total actual
  permanece igual. Las respuestas a preguntas ocultas por lógica no cuentan — una pregunta oculta no tiene ningún valor, así que su
  respuesta nunca llega a un cálculo.
</p>

<p>
  Cada regla de Calcular valor que coincide se ejecuta, en el orden del documento, sobre el valor en curso — se acumulan en lugar de
  competir. Una excepción al orden del documento: una regla que <em>lee</em> un campo calculado siempre se ejecuta después de la regla que
  lo <em>escribe</em>, así que una puntuación queda terminada antes de que algo se ramifique según ella. Las reglas que se escriben unas a
  otras en bucle se marcan como una advertencia de publicación que nombra la cadena, así que rompe el bucle en lugar de publicar a través de
  él.
</p>

<h2 id="examples">Ejemplos</h2>

<p>
  <strong>Puntuación de cuestionarios</strong> — Crea un campo calculado "Puntuación total" con valor inicial <strong>0</strong>. Añade
  reglas de lógica: si P1 es igual a "Sí", <strong>Sumar 10</strong>; si P2 es mayor que 5, <strong>Sumar</strong> el valor de P2. La
  puntuación se actualiza en vivo mientras el encuestado responde.
</p>

<p>
  <strong>Precios dinámicos</strong> — Un formulario de pedido de productos tiene un campo Número para la cantidad y un Desplegable para el
  tamaño (Pequeño, Mediano, Grande). Crea un campo calculado "Precio". Reglas de lógica: si el tamaño es "Pequeño",{' '}
  <strong>Establecer en 10</strong>; si es "Mediano", <strong>Establecer en 15</strong>; si es "Grande", <strong>Establecer en 20</strong>.
  Debajo de esas, añade una regla sin condiciones que <strong>Multiplica</strong> Precio por el campo de cantidad. Las reglas se ejecutan de
  arriba abajo, y una regla sin condiciones siempre se ejecuta. Inserta <strong>@Precio</strong> en la página de agradecimiento. Para cobrar
  ese precio calculado directamente, consulta <a href="/es/building-forms/payment-collection#dynamic-pricing">Precios dinámicos</a> en Cobro
  de pagos.
</p>

<p>
  <strong>Calificación de leads</strong> — Tres preguntas de Valoración con estrellas puntúan presupuesto, plazos y autoridad. Un campo
  "Puntuación del lead" usa <strong>Sumar</strong> para cada valoración. Una regla de lógica comprueba: si la Puntuación del lead es mayor
  que 12, <strong>Establecer página siguiente</strong> "Seguimiento prioritario"; de lo contrario, salta al agradecimiento estándar.
</p>

<p>
  <strong>Concatenar texto</strong> — Un campo calculado de texto "Nombre completo" empieza vacío. La lógica añade <strong>@Nombre</strong>,
  luego añade un espacio, y después añade <strong>@Apellido</strong>. Usa <strong>@Nombre completo</strong> en la página de agradecimiento o
  en las notificaciones por correo.
</p>

> 💡 **Combina con lógica**
> <p>
>     Los campos calculados también funcionan como fuentes de condición. Una regla calcula un valor y otra reacciona a él — por ejemplo, "si
>     Total &gt; 50, saltar a la página Premium". Esto te permite crear puntuaciones en varios pasos sin escribir código.
>   </p>

<h2 id="pre-populating">Prellenar otros campos</h2>

<p>
  Un campo visible puede partir del valor de un campo calculado, para que el encuestado revise un valor calculado en lugar de escribirlo. En
  un campo Text Input, Text Area, Email, Phone Number, Website URL o Number, escribe <kbd>@</kbd> como primer carácter del campo de entrada
  y elige el campo calculado. El encuestado puede seguir cambiando el valor.
</p>

<p>
  El campo de entrada toma el primer valor que tiene el campo calculado — normalmente su valor inicial, o el campo oculto que lo inicializa.
  Los cambios posteriores provocados por reglas de lógica no sustituyen lo que ya hay en el campo de entrada. Para mostrar un valor que siga
  actualizándose, inclúyelo en el texto mediante una <a href="/es/building-forms/answer-piping">mención @</a> en su lugar. Consulta{' '}
  <a href="/es/building-forms/field-configuration#default-values">Valores predeterminados de otros campos</a> para más detalles.
</p>
<h2 id="next-steps">Próximos pasos</h2>
<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Inserción de respuestas](/es/building-forms/answer-piping) — Muestra valores calculados en el formulario o en correos
  - [Página de agradecimiento](/es/building-forms/custom-thank-you) — Muestra resultados calculados tras el envío
  - [Configuración del formulario](/es/building-forms/form-settings) — Notificaciones, control de acceso y más
  - [Apariencia y temas](/es/branding-domains/appearance-theming) — Tema, portada, logotipo, modo oscuro
</div>
