Функция «Количество элементов в коллекции»

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

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

Рис. 2.13. Диалог выбора коллекции

Диалог содержит список атрибутов (см. п.3 Руководства), в котором видны только атрибуты, являющиеся коллекциями. Из списка необходимо выбрать атрибут, соответствующий child-сущности (значок:

 см. раздел 1.1 Руководства).

Можно также наложить условие, при выполнении которого элементы выборки будут включаться в расчет. Это можно сделать перетаскиванием в область блока функции любого элемента или готового выражения. При наведении указателя мыши на блок функции появляется дополнительный элемент – блок условия. Перетаскиваемый элемент необходимо «бросить» на этот дополнительный элемент (Иначе, если указатель мыши оставить на заголовке функции, она будет заменена новым элементом) с заголовком «Такие, что:», как это показано на рисунке:

На рисунке ниже показан пример функции с наложением условия на элементы выборки:

Функция вернет целое число, соответствующее количеству элементов коллекции, т.е. количество экземпляров child-сущности, содержащих ссылку на определенную запись parent-сущности.

Функция «Выбрать»

Функция позволяет сделать выборку из значений определенной сущности по заданным правилам.

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

Слово «Первый» соответствует опции отбора значений по умолчанию и означает, что нужно отобрать один первый по порядку элемент из коллекции экземпляров сущности. Другие варианты доступны для выбора с помощью контекстного меню, как это показано на Рис. 2.14.

Опция «ВСЕ» соответствует отбору всех экземпляров сущности. Опция «Другое» позволяет указать конкретное количество элементов выборки с помощью диалога (Рис. 2.15). В этом случае будут отобраны первые элементы выборки в указанном количестве, например, первые 10.

Рис. 2.14 Контекстное меню функции «Выбрать»

Рис. 2.15 Диалог ввода количества элементов

Выбор сущности производится с помощью строки-приглашения «Выберите имя сущности…», двойной клик на которой открывает список выбора, показанный на Рис. 2.16. Диалог содержит стандартную табличную форму и функции поиска нужного элемента в перечне сущностей системы (см. Базовое руководство пользователя).

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

Рис. 2.16 Диалог выбора сущности

Рис. 2.17 Диалог выбора атрибута

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

В данную функцию может добавлено условие отбора элементов и правило сортировки элементов в коллекции. Это можно сделать перетаскиванием в область блока функции любого элемента или готового выражения. При наведении указателя мыши на блок функции появляются два дополнительных элемента – блок условия и блок сортировки, как это показано на Рис. 2.18:

Рис. 2.18 Дополнительные элементы функции «Выбрать»

Рис. 2.19 Пример создания правила сортировки
в функции «Выбрать»

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

Для указания правила сортировки необходимо перетащить нужный атрибут на блок сортировки («Сортировать по:»). Пример результата такой операции показан на Рис. 2.19. В правой части поля с наименованием атрибута, по которому производится сортировка, располагается элемент управления с изображением стрелки, показывающий порядок сортировки. Изменить порядок можно двойным кликом по стрелке.

Таким образом, функция возвращает коллекцию значений определенного атрибута указанной сущности или значение <ПУСТО>, если не найден ни один элемент. Коллекция может быть использована для поиска в ней определенного значения и т.д.

Функция «Существует»

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

Двойной щелчок на приглашении «Выберите имя сущности…» открывает диалог выбора сущности, показанный на Рис. 2.16. Контекстное меню заголовка функции кроме опции по умолчанию «Существует» позволяет выбрать опцию «Не существует» (см. Рис. 2.20).

Рис. 2.20 Контекстное меню функции «Существует»

Рис. 2.21 Пример использования
функции «Существует»

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

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

Функция «Поиск по дереву»

Под деревом имеется в виду дерево наследования, т.е. данная функция позволяет анализировать отношения наследования сущности (о наследовании сущностей см. п.1.1 Руководства). Исходный вид блока, соответствующего функции, показан на Рис. 2.22.

Рис. 2.22 Исходный вид функции «Поиск по дереву»

Рис. 2.23 Контекстное меню функции «Поиск по дереву»

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

Автоматически в качестве аргумента функции устанавливается сущность из текущего контекста. Двойной клик на области аргумента (который на рисунке содержит подпись «текущий сущности») открывает диалог выбора атрибута (см. Рис. 2.17). Из списка атрибутов можно выбрать атрибут-ссылку (значок:

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

Числовые параметры «Не ближе чем…» и «Не дальше чем…» позволяют указать глубину поиска. Т.е. значение «Не ближе чем 2» и «Не дальше чем 3» будет означать, что поиск будет охватывать вторую и третью ступени в иерархии наследования вверх – в случае поиска предков, вниз – в случае поиска потомков.

Функция также позволяет включить дополнительное условие поиска, как это описано для функции «Количество элементов в коллекции» (п. 2.6.1).

  • Нет меток