# Operación con variable

Escribe en una variable un valor que indicas tú o el resultado de un cálculo. El bloque sirve para contadores, puntos en tests y concursos, y para calcular un total.

![Panel de configuración del bloque «Operación con variable»](https://support.jetbot24.ru/_media/es/01-chatbots/03-blocks/04-contact-data/_images/variable-operation.webp?v=1792562451)

## Configuración

- **«Tipo de operación»**: qué hace exactamente el bloque:
  - «Valor libre»: escribe en la variable el valor indicado;
  - «Expresión matemática»: cambia una variable: suma, resta, multiplica, divide;
  - «Expresión matemática 2.0»: calcula una expresión con varias variables;
  - «Asignación múltiple»: escribe valores en varias variables a la vez.
- **«Valor/Expresión»**: qué escribir o qué calcular. Cómo rellenar el campo para cada tipo se explica más abajo.
- **«Nombre de la variable de resultado»**: la variable en la que se guarda el resultado.
- **«Tipo de la variable de resultado»**: «Variable local» (cada contacto tiene la suya) o «Variable global» (común a todo el bot).

El tipo «Asignación múltiple» no tiene ninguno de estos tres campos: en su lugar está la lista «Variables que asignar».

### Valor libre

Escribe un texto o un número en el campo «Valor/Expresión». Aquí funcionan las [plantillas](https://support.jetbot24.ru/es/chatbots/templates), incluidas las [expresiones](https://support.jetbot24.ru/es/chatbots/templates/expressions), así que puedes formar el valor a partir de otras variables y de los datos del contacto.

![Bloque «Operación con variable»: el total del pedido se escribe en una variable](https://support.jetbot24.ru/_media/es/01-chatbots/03-blocks/04-contact-data/_images/variable-operation-free.webp?v=1792562451)

### Expresión matemática

Calcula el nuevo valor de la variable a partir de su valor actual. En la expresión, la variable siempre se escribe como `x`, sea cual sea el nombre que hayas indicado en el campo «Nombre de la variable de resultado». Por ejemplo, `x + 1` aumenta la variable en uno.

- **«Valor inicial de la variable»**: si la variable no existía antes de este bloque, el cálculo empieza desde este número.

![Bloque «Operación con variable»: un 10 % de descuento sobre el total del pedido con la expresión x * 0.9](https://support.jetbot24.ru/_media/es/01-chatbots/03-blocks/04-contact-data/_images/variable-operation-math.webp?v=1792562451)

### Expresión matemática 2.0

La expresión puede usar varias variables. En la lista **«Variables de la expresión»**, haz clic en «Variable local» o «Variable global» y escribe el nombre de la variable. Cada una recibe un nombre corto: la primera, `x`; la segunda, `y`; la tercera, `z`, y así sucesivamente. Esos nombres cortos son los que escribes en la expresión, por ejemplo, `(x + y) * 10`.

Si alguna de las variables todavía no existe, se usa 0 en su lugar.

![Bloque «Operación con variable»: el descuento se calcula a partir del total del pedido y del porcentaje de descuento](https://support.jetbot24.ru/_media/es/01-chatbots/03-blocks/04-contact-data/_images/variable-operation-math2.webp?v=1792562451)

### Qué puedes escribir en una expresión matemática

- Números, los signos `+`, `-`, `*`, `/` y paréntesis.
- Números decimales, con punto: `1.24`.
- Redondeo hacia arriba a un número entero: envuelve toda la expresión en `ceil( )`, por ejemplo, `ceil(x / 3)`.

Las plantillas `{{ }}` no funcionan en las expresiones matemáticas: usa los nombres cortos de las variables. El bot quita de la expresión todo lo que no sean números, signos y nombres cortos.

### Asignación múltiple

En la lista **«Variables que asignar»**, haz clic en «Variable local» o «Variable global», escribe el nombre de la variable y su valor. Puedes añadir varias filas: el bloque escribe todos los valores a la vez. En los valores funcionan las [plantillas](https://support.jetbot24.ru/es/chatbots/templates), pero solo con funciones simples.

![Bloque «Operación con variable»: se asignan cuatro variables del pedido a la vez](https://support.jetbot24.ru/_media/es/01-chatbots/03-blocks/04-contact-data/_images/variable-operation-mass.webp?v=1792562451)

## Salidas

- «Continuar»: el bot sigue adelante justo después de guardar.

## Conviene saber

- Si todavía no existe una variable con ese nombre, el bloque la crea.
- El resultado se guarda como texto. Puedes insertarlo en un mensaje como cualquier otra variable.
- Si la expresión matemática tiene un error (por ejemplo, una división entre cero o una variable que contiene texto en lugar de un número), en la variable se escribe un mensaje de error. Comprueba la expresión en la vista previa del bot.
