Конструктор выражений

Конструктор выражений - это среда разработки для работы с языком выражений. Этот компонент открывается при редактировании полей Выражение в редакторе свойств и содержит инструменты для эффективного тестирования и создания выражений в AggreGate.

Вид Конструктора выражений по умолчанию показан ниже.

  • Текстовая область в верхней части отображает краткую информацию о конкретном редактируемом поле выражения, если такая информация доступна. Ниже приведен пример выражения привязки веб-панели.

  • Селектор сущностей в левой панели позволяет ссылаться на контекстыAggreGate Server, переменные, функции, события и даже на определенные поля и строки из их форматов таблиц данных. При наведении курсора на элемент в дереве появляются кнопки для копирования или прямой вставки абсолютной ссылки на сущность.

  • Область "Компоненты" представляет собой вкладку в левой панели и содержит селектор сущностей для поиска ссылок на свойства компонентов приборной панели. Этот раздел доступен только при редактировании выражений привязки приборной панели.

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

    • Нажав кнопку меню под надписью Контекст по умолчанию, можно выбрать другой контекст по умолчанию.

    • Режим оценки указывает, должно ли выражение оцениваться на сервере () или в браузере (). Вычислить в браузере может быть быстрее, но результаты оценки могут отличаться, поскольку функции и возможности выражений на стороне сервера и браузера немного отличаются.

    • Кнопка " Оценить" обрабатывает все выражение в выбранном контексте. Оцените часть выражения, выделив нужный текст и нажав Ctrl+Enter или нажав кнопку Вычислить.

    • Кнопка Сохранить сохраняет текущий текст в редактируемом поле выражения.

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

  • Редактор ссылок находится на вкладке в правой панели и позволяет редактировать текущую выбранную ссылку в области выражения. Любая часть ссылки может быть изменена независимо. При внесении изменений текст выражения обновляется. Кнопка Вычислить позволяет получить доступные значения.

  • На панели " События" в нижней центральной части отображается список событий, которые были вызваны при оценке выражений.

Вычисление выражений в конструкторе

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

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

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

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

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

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