# Действия с полями/переменными: тип "Число"

Source: https://docs.botman.pro/a/212-deystviya-s-polyami-peremennymi-tip-chislo

С помощью блока "Действия с полями/переменными" можно:\
\
**◇** Установить числовое значение (например, задать начальный баланс)\
**◇** Увеличивать или уменьшать число (например, списывать баллы или увеличивать счетчик)\
**◇** Выполнять математические операции (сложение, вычитание, умножение, деление)\
**◇** Очищать значение переменной

Далее разберем, как правильно настроить работу с полями "Число", а также рассмотрим практические примеры.

---

## Добавление блока в сценарий

Перейдите в редактор бота → В списке шагов выберите "Действия" → Внутри шага "Действия" нажмите "Добавить действие" → выберите "Действия с полями/переменными".

## Настройка блока "Действия с полями/переменными"

**Выбор переменной**

В поле "Название переменной" выберите переменную с типом "Число", с которой хотите работать.

- Если нужной переменной нет, создайте новую в "Настройки" → "Пользовательские переменные" или "Настройки" → "Глобальные переменные".
- Новая переменная автоматически добавится в список.

## Выбор типа действия

После выбора переменной необходимо определить, какое действие бот будет выполнять.

**📌 Установить значение**\
Позволяет записать новое числовое значение. Например, задать баланс пользователя или указать начальное количество товаров.

**📌 Очистить значение**\
Удаляет текущее числовое значение из переменной, делая ее пустой.

**📌 Увеличить значение на…**\
Добавляет указанное число к текущему значению переменной. Используется для увеличения баланса, количества покупок и т. д.

**📌 Уменьшить значение на…**\
Вычитает указанное число из текущего значения переменной. Например, для списания бонусов или уменьшения доступного количества товаров.

**📌 Математические операции**\
Позволяет выполнять расчеты (+, -, \*, /) с числовыми значениями.

*Далее разберем каждое действие подробнее.*

---

**📌 Установить значение**

Позволяет задать конкретное числовое значение. Если переменная уже содержит число, оно заменится на новое.

Пример: Установка начального баланса\
Сценарий: При регистрации пользователь получает начальный баланс в 1000 рублей.

Настройка блока:

- Название переменной: Баланс
- Тип действия: *Установить значение*
- Значение: 1000

🎊 Теперь в переменной Баланс будет храниться 1000 рублей.

---

**🗑 Очистить значение**

Полностью удаляет число из переменной.

Пример: Очистка счетчика покупок\
Сценарий: После завершения акции нужно сбросить счетчик покупок пользователя.

Настройка блока:

- Название переменной: Счетчик покупок
- Тип действия: *Очистить значение*

🎉 Теперь переменная Счетчик покупок станет пустой.

---

➕ **Увеличить значение на…**

Добавляет указанное число к текущему значению.

Пример: Начисление бонусов\
Сценарий: После каждой покупки пользователю начисляется 100 бонусов.

Настройка блока:

- Название переменной: Бонусы
- Тип действия: *Увеличить значение на...*
- Значение: 100

🎊 Теперь при каждом начислении в переменную Бонусы будет добавляться 100 баллов.

---

➖ **Уменьшить значение на…**

Вычитает указанное число из текущего значения.

Пример: Списание бонусов при оплате\
Сценарий: Пользователь тратит 500 бонусов на оплату заказа.

Настройка блока:

- Название переменной: Бонусы
- Тип действия: Уменьшить значение на
- Значение: 500

🎉 Теперь у пользователя спишется 500 бонусов из общего количества.

---

**🧮 Математические операции**

Позволяет выполнять вычисления внутри переменной.

Пример: Расчет скидки на товар\
Сценарий: Нужно вычислить цену со скидкой 20%.

Настройка блока:

- Название переменной: Цена\_со\_скидкой
- Тип действия: Математические операции
- Формула: {Цена} \* 0.8

🎊 Теперь в переменной Цена\_со\_скидкой будет храниться сумма с учетом скидки.

---

## **💡 Особенности работы с "Число"**

❗Если установлено новое значение, старое заменяется полностью – будьте внимательны.

❗При увеличении/уменьшении значения учитывайте минимальные и максимальные лимиты (если они есть в логике бота).

❗Операции деления могут давать дробные значения, если требуется округление – используйте дополнительную обработку.

❗Очистка значения полностью сбрасывает переменную, и если затем вызвать ее без повторного задания, бот может вернуть ошибку.

---

## Количество элементов массива

В математической операции можно использовать функцию «Количество элементов массива» (`array_length`). Она возвращает размер пользовательского или глобального массива.

1. Выберите числовое поле, в которое нужно сохранить результат.
2. Выберите «Математические операции со значением».
3. Откройте меню переменных и функций.
4. В разделе «Системные функции» выберите «Количество элементов массива».
5. Выберите массив и сохраните действие.

*Выбор функции «Количество элементов массива»*\
\
\
*Функция* *`array_length`* *в математической операции*

Для пустого массива или массива без значения результат равен `0`.

Используйте функцию, когда количество нужно сохранить, вывести в сообщении, переиспользовать или включить в формулу. Для простой развилки проверяйте количество напрямую в шаге «Условие» — подробнее в статье [«Проверка массива»](https://docs.botman.pro/a/182-proverka-massiva).

Формат и общие правила массивов описаны в статье [«Массивы: создание, формат и использование»](https://docs.botman.pro/a/192-massivy-sozdanie-format-i-ispolzovanie).

