Работа с переменными

Переменная — это ячейка памяти, своеобразный контейнер, содержащий какое-либо значение. При этом в зависимости от типа переменной значениями могут быть числа, текст, изображения, таблицы и даже более комплексные объекты, такие как списки, словари, коллекции т.д.  Переменные в Дизайнере используются для хранения данных различных типов информации и её передаче между Блоками.

Можно представить себе переменную как некую коробочку, у которой есть название, тип и значение. Название переменной всегда начинается со значка $. На рисунке ниже первая переменная называется Result, её значение – 1542, тип данных – число. Если при создании переменной указать определенный тип данных, она будет работать именно с ним. Пременная Result, соответственно, может хранить только числа.

Имя переменной является ее уникальным идентификатором, и оно определяет способ ее отображения и использования.

В Sherpa RPA предусмотрена специальная панель Переменные, на которой пользователь может создавать, переименовывать и удалять переменные.

Объявление переменной

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

Однако желательно, чтобы оно было описательное, и было интуитивно понятно, какие данные содержит эта переменная. Не используйте только отдельные буквы, цифры или большие длинные фразы.

У переменных могут быть русскоязычные и англоязычные названия, но в названии не может быть пробелов. Можно выбирать тип данных для переменной (число, текст, выражение и пр.). Некоторые из типов — простые (число, логический, текстовый тип), другие являются составными (словарь, список, таблица данных). Также можно задавать начальные значения переменных (значение, которое переменная примет в момент запуска сценария).

Во многих Свойствах Блоков по умолчанию уже указаны названия Переменных (например, переменная $ProcessID на картинке). Вы можете использовать их в своих проектах, изменять или вводить собственные переменные.

Типы переменных

Поддерживается большое количество типов данных, которые хранятся в переменной: число, логические, текст, выражение (универсальное значение), картинка, массив, словарь, дата и время и другие.

  • Текст. Хранит текстовые строки. При задании константных значений текстовых переменных эти значения всегда заключаются в кавычки.
  • Число. Числа могут быть обычными или с плавающей точкой. Пишутся без кавычек.
  • Таблицы. Могут хранить некоторое количество строк и столбцов.
  • Списки. Могут хранить некоторое количество строк. Можно получить значение той или иной строки по её индексу.
  • Дата и время. Хранит только дату или дату и время.
  • Словари (хэш-таблицы). Список, котором каждая строка представляет собой некое имя и присвоенное ему значение (название ключа и значение ключа).
  • Логический тип. Принимает два значения (хранит одну из двух констант) – true и false (истина/ложь).

При создании переменной на панели Переменные её начальное значение может быть задано в специальном окне.

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

Если переменной присваивается числовое значение, оно указывается без кавычек.

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

Данная таблица содержится в нашей переменной с именем «Переменная2» на момент запуска сценария.

В режиме отладки при проходе по шагам сценария и остановке на отдельном блоке на панели Переменные отобразится текущее значение переменных. Таким образом, если ранее переменная не была объявлена на панели «Переменные», при отладке невозможно будет посмотреть текущее значение переменной.

Если вы хотите использовать переменную, установленную по умолчанию, то добавьте ее в панель «Переменные», то есть явным образом укажите использование данной переменной. Назначьте тип и начальное значение каждой переменной. Этот шаг не является обязательным, то есть переменная будет работать даже без добавления переменной в панель «Переменные».

Существует два вида переменных:

— Системные переменные, которые по умолчанию уже существуют при создании диаграммы

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

При создании собственных переменных необходимо указать тип данных новой переменной. Sherpa Designer использует неявную типизацию. Это значит, что если вы попытаетесь присвоить переменной выражение или константу с другим типом данных, это в большинстве случаев не приведет к ошибке, и переменная изменит свой тип данных автоматически. Однако это может привести к неправильному отображению текущего значения переменной на панели Переменные при отладке, а также к неявным ошибкам в работе алгоритмов. Поэтому рекомендуем всегда явным образом объявлять и устанавливать правильный тип данных используемым переменным.

С простыми типами данных платформа Sherpa проводит т.н. неявные преобразования. Например, если вы сложите две простые переменные, получится число. Если к числовой переменной прибавить текстовую, платформа автоматически распознает, что складываются переменные с разными типами данных и преобразует число в текст. Если вы решили присвоить текстовую константу числовой переменной, это, как правило, автоматически приведет не к ошибке, а к изменению типа данных.

В результате неявных преобразований не только значения, но даже типы переменных могут меняться во время работы сценария

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

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

Как только переменная объявлена (то есть на панели Переменные заданы имя, тип и начальное значение переменной), ей можно присвоить значение с помощью Блока Assign Variable. С помощью этого же блока можно присвоить одной переменной значение из другой переменной или вычислить результат арифметического выражения, использовать математические, логические, строковые и другие функции и методы.

Если вы объявите переменную и присвоите ей значение, заключенное в кавычки, то Sherpa Designer будет обрабатывать переменную как строку: $Текст = “Привет”