Блоки

Логика процесса определяется блоками. Блок - это операция, которая имеет тип и параметры. Выполнение процесса всегда начинается с входных блоков. Некоторые типы блоков запрашивают взаимодействие с пользователем, такие блоки содержат все процессы для ответа пользователя при выполнении. Когда выполнение блока закончено, процесс выполняет следующий блок.

Функциональные блоки могут иметь возвращаемое значение. После выполнения блока, результат выполнения операции хранится в переменной среды с именем блока. Поэтому каждый блок может получать значения для каждого блока из ранее выполненных с помощью ссылки на переменные среды. Если же значение не было посчитано, то вернется null.Также доступен результат предыдущего вычисления блока и хранится в переменная среды с именем value. Если же предыдущее значение отсутствует, то вернется null.

Каждый блок имеет графический компонент.

Группы блоков

Существует три основные группы блоков:

Соединение блоков

Каждый блок имеет точки прикрепления, с помощью которых блоки соединяются друг с другом посредством коннекторов. Входящие точки прикрепления всегда находятся сверху компонента, выходные - снизу. В одну входящую точку прикрепления может входить сколько угодно коннекторов. Из выходящей точки прикрепления может выходить только один коннектор.

Среда вычисления выражений и значений

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

Среда вычисления выражений и значений параметров:


Контекст по умолчанию

Сам контекст Процесс.

Таблица данных по умолчанию

Таблица, которая задана при запуске процесса. Таблица не разделяется между задачами. Для каждой задачи создается отдельный экземпляр таблицы.

Переменные среды

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

Привязки параметров

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

Пример: Оператор требует ввести текст объяснения, затем отобразить это объяснение в виде сообщения. При блоке (вызывающем UI процедуру  Edit Text, названном explanation) мы подсказываем оператору, что нужно ввести текст сообщения, затем нам требуется передать этот текст как параметр UI процедуры отображения сообщений. Поэтому, к блоку( вызывающему UI процедуру Show Message) должна быть добавлена следующая привязка параметров:

  • Цель: message
  • Выражение: cell({env/explanation},"text") или cell({env/value},"text")

Где message - это параметр функции посылки сообщений, и {env/explanation} - это результат выполнения explanation блока.