Ссылки

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

Ссылки могут указывать на любое значение, представляющее внутренние данные AggreGate. Общие правила синтаксиса ссылки приведены в примере:

schema/server^context:entity(parameter_list)$field[row]#property

Все части ссылки являются опциональными, поэтому самая короткая возможная ссылка - это пустая строка.

Использование ссылок в выражениях

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

Ссылки выполняются при вычислении выражения. Выглядит это так: {temperature} <= 100. В данном случае temperature - это ссылка.

Схема ссылок

Схема ссылок определяет, как система разрешает оставшуюся часть ссылки. Она помогает системе "понять", что означает оставшаяся часть ссылки. Схемы широко применяются в программировании. Например, в адресе http://www.domain.com  часть http:// является схемой. Она сообщает браузеру, что это ссылка HTTP и что он должен рассматривать оставшуюся часть строки соответствующим образом. Ссылка FTP может отличаться по структуре, например, ftp://joeuser:xxx@domain.com. В этом случае тоже, часть ftp://определяет схему, и теперь ваша программа знает, как обращаться с окончанием ссылки.

В AggreGate Схемы используются для ссылки на различные части системы:

env/ схема используется для ссылки на переменные среды (которые являются свойствами, моментально принимающими во внимание выполнение текущей операции), form/ схема используется в конструкторе UI для ссылки на свойства графических компонентов, из которых состоит виджет.

Схема является опциональной: вам необязательно включать ее в свою ссылку. Она просто говорит системе, что ваша ссылка указывает на переменную среды (env/) или графический компонент (form/). Если ваша ссылка указывает на данные из переменной контекста, функцию или ячейку Таблицы данных и т.д., вы можете опустить схему и записать ссылку в формате по умолчанию, который описан в следующем разделе (Разрешение ссылок).

Например, ссылка form/TextField1#text использует form/ схему и указывает на свойство "text" компонента виджета под названием  "TextField1". Ссылка users.admin:childInfo$firstname не включает в себя схему и указывает на имя пользователя "admin" (которое является полем переменной childInfo).

Схемы ссылок, используемые в AggreGate

Схема

Описание

Не задана

Указывает, что ссылка является стандартной.

action/

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

env/

Указывает на ссылку среды.

form/

Ссылка на компонент UI. Подобные ссылки используются в выражениях привязки виджета и инструментальной панели.

menu/

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

previous/

Используется в выражениях массива данных графиков (см. свойства компонента График Данные, основанные на событии и Данные, основанные на переменной). Они используют тот же формат, что и стандартные ссылки. Однако, Таблица данных по умолчанию, на которую указывает такая ссылка, является Таблицей данных, содержащей значение для предыдущей точки данных (т.е. данные события или значение измененной переменной).

См. данный пример, чтобы понять, как ссылка previous/ может использоваться для рассчета различия между двумя точками данных.

statistics/

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

table/

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

web/

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