Переменные делятся на два основных вида: глобальные и локальные.

Локальные переменные существуют только в рамках своего бизнес-процесса во время его выполнения.

Значения глобальных переменных хранятся в оперативной памяти и могут быть использованы в разных БП.

В AppMaster можно создавать переменные для бэкенда и фронтенда. Использование глобальных переменных позволяет ускорить работу приложения, минимизировать количество запросов к базе данных.
Хранение в оперативной памяти накладывает некоторые ограничения для работы глобальных переменных:

  1. При перезапуске приложения глобальные переменные примут значения установленные по умолчанию.
  2. Для веб-приложений каждая вкладка браузера является отдельной запущенной копией данного приложения. Соответственно для каждой отдельной копии будут собственные значения глобальных переменных.

Глобальные переменные 

Чтобы создать глобальную переменную бэкенда нужно перейти в раздел Business Logic, выбрать вкладку Global Variable и нажать Create global variable.

Создание переменных

Здесь можно:

  1. выбрать тип переменной;
  2. задать ей имя;
  3. указать описание;
  4. включить/выключить параметр Read only;

При включенном параметре Read only значение переменной нельзя изменить в бизнес-процессах.

Параметры переменной

При выборе типа переменной, появляется возможность задать значение по умолчанию

Значение по умолчанию для переменной

После создания глобальной переменной можно найти ее в редакторе БП во вкладке Global Variables.

Добавление переменной на канвас БП

Локальные переменные

Здесь также можно создать локальные переменные, они расположены в разделе Variables.

Использование локальной переменной в БП

Чтобы создать локальную переменную нужно перетащить ее на канвас.

Задать значение переменной можно, используя блок Set variable.

Чтобы определить, в какую переменную сохранять значение, нужно соединить переменную с входным полем Variable блока Set Variable.

Параметр Value – можно задать по умолчанию или динамически передать из другого блока.

Как задать значение переменной

С помощью блока Set variable можно задать и глобальную и локальную переменную.

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

Чтобы создать глобальную переменную во фронтенде нужно открыть приложение в редакторе. Инструкция аналогична для веб и мобильных приложений.

В редакторе приложения нужно перейти на вкладку Global Variables и нажать Create global variable.

Как создать переменную фронтенда

Создание глобальной переменной фронтенда происходит почти так же, как для бэкенда. Добавляется только дополнительное поле – Persistent.

Persistent

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

Чтобы использовать глобальную переменную фронтенда или добавить локальную переменную фронтенда нужно перейти во вкладку Workflow любого элемента, например, таблицы. Здесь также можно использовать глобальные переменные и создавать новые локальные.

При использовании переменных для фронтенда стоит учитывать, что разные триггеры даже при расположении на одном экране запускают отдельные независимые БП. Например:

Integer – локальная переменная. Логика работы: когда срабатывает триггер onShow, с помощью блока Set Variable задается значение переменной Integer.
Когда срабатывает триггер onClick, значение из переменной Integer должно попасть в блок To String, а потом в блок Notification.

Для локальной переменной такая логика не будет работать, так как каждый триггер запускает свой собственный БП. Поэтому при запуске по триггеру onClick значение локальной переменной не будет установлено.

Чтобы исправить это достаточно использовать глобальную переменную, вместо локальной.

Was this article helpful?

AppMaster.io 101 Полный курс

10 модулей
2 недели

Не знаете с чего начать? Начните с нашего ускоренного курса для начинающих и изучите AppMaster от А до Я.

Начать обучение
Development it’s so easy with AppMaster!

Остались вопросы?

Наши эксперты с радостью ответят на все ваши вопросы о платформе AppMaster и помогут вам в создании приложений.

headphones

Служба поддержки

Поделитесь своей проблемой с нашими специалистами.

message

Комьюнити AppMaster

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

Присоединиться