EnotPRO Logo EnotPRO

DelVarLocal

DelVarLocal — полностью удаляет локальную переменную из текущего контекста выполнения.

📝 Назначение

Используется для:

  • Освобождения памяти в длинных триггерах (сотни реакций)
  • Предотвращения путаницы при повторном использовании имени переменной
  • Явного сброса значения перед переиспользованием переменной

💡 Совет: Локальные переменные автоматически удаляются после завершения триггера. Явное удаление требуется редко — только в специфических сценариях, описанных выше. В большинстве случаев можно не использовать DelVarLocal.

🔴 Важно: Операция необратима. Восстановить удалённую переменную можно только повторным созданием через SetVarLocal или AddVarLocal.

⚙️ Параметры

Параметр Тип Обязательный Описание
Название Строка ✅ Да Имя локальной переменной для удаления (латиница, без пробелов)

🧪 Примеры использования

Пример 1: Очистка перед переиспользованием имени

Задача: В одном триггере нужно использовать одну и ту же переменную для разных целей на разных этапах.

Реакции в триггере:

  1. SetVarLocal → название: data, значение: "временные данные"
  2. (Какие-то действия с data)
  3. DelVarLocal → название: data
  4. SetVarLocal → название: data, значение: {"new": "структура"}

Результат: Старое значение удалено, новое создано с чистого листа.

Пример 2: Освобождение памяти в длинном цикле

Задача: В триггере с большим количеством итераций (через TriggerFolder) накапливаются временные данные.

Реакции внутри итерации:

  1. (Обработка элемента)
  2. DelVarLocal → название: temp_item
  3. (Переход к следующей итерации)

💡 Примечание: В реальности локальные переменные в циклах автоматически перезаписываются. Явное удаление требуется крайне редко.

Пример 3: Сброс флага после использования

Задача: Отметить, что определённое действие уже выполнено, чтобы не выполнять его повторно.

Реакции в триггере:

  1. SetVarLocal → название: action_done, значение: true
  2. (Выполнение действия)
  3. DelVarLocal → название: action_done

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

⚠️ Важное предупреждение о контексте

Если значение переменной было прочитано (использовано в ${localVar...}) до удаления, оно останется в том месте, где было подставлено, даже после вызова DelVarLocal.

Пример проблемы:

1. SetVarLocal → название: message, значение: "Привет"
2. SendMessage → текст: ${localVar.message}   # Подставится "Привет"
3. DelVarLocal → название: message
4. SendMessage → текст: ${localVar.message}   # Будет пусто (переменной нет)

Результат: Первое сообщение получит "Привет", второе — ничего.

Как избежать: Удаляйте переменную до её использования, если нужно гарантировать отсутствие значения.

🔍 Проверка существования переменной перед удалением

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

Способ проверки (если нужна):

  1. TriggerFolder с условием: Has${localVar.target_var}
  2. Внутри папки: DelVarLocal → название: target_var

💡 Совет: Явная проверка не обязательна. DelVarLocal безопасно вызывать в любом случае.

🔄 Сравнение с DelVarCloud

Характеристика DelVarLocal DelVarCloud
Время жизни переменной До конца триггера Постоянно (до удаления)
Автоудаление ✅ Да (в конце триггера) ❌ Нет (только вручную)
Когда нужно вызывать Редко (в особых случаях) При необходимости очистки данных
Требует загрузки Нет Да (GetVarCloud)

💡 Совет: Для облачных переменных DelVarCloud нужен, чтобы очистить данные. Для локальных — чаще всего не нужен, так как они удаляются автоматически.

🔗 Связанные реакции

Реакция Назначение
SetVarLocal Создать локальную переменную
AddVarLocal Изменить локальную переменную
DelVarCloud Удалить облачную переменную

🔗 Связанные разделы

Раздел Описание
Локальные переменные Общая информация о локальных переменных
Облачные переменные Постоянное хранение данных
Условие Has Проверка существования переменной

🔗 Быстрая навигация

  • Вверх
  • Параметры
  • Примеры
  • Важное предупреждение
  • Сравнение с DelVarCloud
  • Частые ошибки
© 2025 EnotPRO. Все права защищены.