...
Подраздел 2.1 описывает структуру и правила создания выражений. При этом используется терминология и обозначения, принятые в графическом конструкторе.
Информация |
---|
Структура выражения |
Возможные операции над объектами можно условно разделить на две группы: операции и функции. Деление условное, т.к. функция – тоже операция над данными, но операции и функции, как правило, имеют различное написание (синтаксис):
операция: ОПЕРАНД1 ОПЕРАТОР ОПЕРАНД2,
функция: ФУНКЦИЯ (АРГУМЕНТ1, АРГУМЕНТ2,
Здесь ОПЕРАТОР – это условное обозначение операции, ФУНКЦИЯ – заголовок (имя) функции.
Выражения могут быть вложенными, т.е. в качестве операнда или аргумента может выступать как функция, так и выражение.
В качестве операндов выражений могут выступать объекты, перечисленные в Табл. 2.1. Операнды могут содержать значения (данные) различных типов (типы данных описаны в п. 1.2 Руководства).
Все возможные виды операторов и описание соответствующих им операций приведены в Табл. 2.2, перечень функций – в Табл. 2.3
Табл. 2.1 Виды операндов выражений
...
Операнд
...
Элемент интерфейса конструктора
...
Описание
...
Атрибут сущности
...
Панель атрибутов
...
Общая информация о сущностях и их атрибутах приведена в п. 1 настоящего руководства.
Использование атрибутов сущностей в выражениях описано в п.2.3.1.
...
Константное значение (константа)
...
Панель инструментов,
...
Величина, значение которой не меняется в процессе выполнения программы и фиксируется при создании условия.
Применение константных значений описано в п. 2.3.2.
...
Системный параметр
...
Панель инструментов,
...
Параметр, значение которого определяется в момент вычисления результата выражения. Перечень системных параметров ограничен и создается на этапе разработки системы.
Применение системных параметров описано в п. 2.3.3.
...
Пользовательский параметр
...
Панель инструментов,
...
Пользовательский параметр, значение которого запрашивается приложением у пользователя в момент вычисления результата выражения.
Применение пользовательских параметров описано в п. 2.3.4.
Табл. 2.2 Операторы, используемыые в выражениях
...
Элемент интерфейса
...
Оператор
...
Тип операнда
...
Тип результата
...
Описание
Логическое ИЛИ
Лог.
Лог.
...
Объединение операндов – логических значений или выражений (условий) через «или», т.е. положительным результатом выражения будет выполнение любого из этих условий.
...
Логическое И
Лог.
Лог.
...
Объединение условий через «и», т.е. положительным результатом выражения будет одновременное выполнение всех этих условий.
Похоже
Строка
Лог.
...
Возвращает положительный результат, если значение удовлетворяет определенному шаблону. Подробное описание оператора и применение шаблонов приведено в п. 2.4.1 Руководства.
...
Равно
Число, строка
Лог.
...
Точное равенство операндов – чисел, строк, дат и т.д. Регистр символов строки данной операцией игнорируется, т.е. строки «Текст» и «текст» равны.
...
Не равно
Число, строка
Лог.
...
Операнды не должны быть равны друг другу. В случае строк это означает, что строки не должны совпадать.
...
Меньше или равно
Число
Лог.
...
Значение первого (левого) операнда должно быть меньше или равно значению второго (правого).
...
Больше или равно
Число
Лог.
...
Значение первого (левого) операнда должно быть больше или равно значению второго (правого).
...
Меньше
Число
Лог.
...
Значение первого (левого) операнда должно быть меньше значения второго (правого).
...
Больше
Число
Лог.
...
Значение первого (левого) операнда должно быть больше значения второго (правого).
In
Входит в…
Любой
Лог.
...
Значение первого операнда должно быть равно значению одного из элементов перечисления (списка значений) второго операнда, см. п. 2.4.2
Not
Не
Лог.
Лог.
...
Оператор отрицания, применяется только в связке с другими операторами. См. п.2.4.3.
Is
I
Объект
Лог.
...
Оператор накладывает условие на сущность, на которую указывает атрибут-ссылка.
Подробно см. п.2.4.4.
Exact IS
Именно это
Объект
Лог.
...
Оператор накладывает условие на сущность, на которую указывает атрибут-ссылка.
Подробно см. п.2.4.5.
...
Сложение
Число, Строка
...
Число, Строка
...
Арифметический оператор сложения, либо оператор сложения (конкатенации) строк.
...
Вычитание
...
Число
...
Число
...
Арифметический оператор вычитания.
...
Умножение
...
Число
...
Число
...
Арифметический оператор умножения.
...
Деление
...
Число
...
Число
...
Арифметический оператор деления.
...
Скобки
...
-
...
-
...
Скобки определяют очередность вычислений (см. п. 2.3.7).
Табл. 2.3 Операторы, используемыые в выражениях
...
Элемент интерфейса
...
Функции
...
Тип аргумнта
...
Тип результата
...
Описание
...
Разность дат
Дата
Целое число
...
Функция, позволяющая вычислить разность между двумя датами в различных единицах измерения – годах, месяцах, днях и т.д.
Применение функции описано в п. 2.5.1.
...
Прибавить к дате
Дата
Дата
...
Функция, позволяющая вычислить дату путем добавления периода к исходной дате. Период может быть выражен в годах, месяцах, днях и т.д.
Применение функции описано в п.2.5.2.
...
Получить часть даты
Дата
Целое число
...
Функция получения части даты в виде числа (год, месяц, номер недели в году и т.д.).
Применение функции описано в п.2.5.3.
...
Подстрока
Текст
Текст
...
Функция получения заданной части текстовой строки (подстроки).
Применение функции описано в п.2.5.4.
...
Длина строки
Текст
Целое число
...
Функция вычисления длины строки в символах.
Применение функции описано в п.2.5.5.
...
Значение функции
Число
Число
...
Вычисление математической функции. Руководство содержит описание наиболее употребительных функций:
· Получение абсолютного значения (п.2.5.6)
...
Привести к типу
Любой
Любой
...
Функция позволяет преобразовать значение аргумента функции к требуемому типу данных.
Применение функции описано в п.2.5.7.
...
...
Удовлет-воряет выражению
Текст
Целое число
...
Функция позволяет анализировать значение аргумента с помощью регулярных выражений.
Применение функции описано в п.2.5.8.
Условие
Логический
Любой
...
Позволяет вставить в выражение условную конструкцию вида «Если … тогда … иначе …».
Применение функции описано в п.2.5.9.
...
Количество элементов в коллекции
Объект
Целое число
...
Функция подсчета количества элементов в указанной коллекции элементов типа «Объект».
Применение функции описано в п.2.6.1.
...
Выбрать
Сущ-ность
Коллекция
...
Функция позволяет сделать выборку значений определенного атрибута заданной сущности.
Применение функции описано в п.2.6.2.
...
Существует
Сущность
Логический
...
Функция позволяет проверить факт существования данных сущности, удовлетворяющих определенным условиям.
Применение функции описано в п.2.6.3.
...
...
Поиск по дереву
...
Сущ-ность
...
Логический
...
Функция анализа дерева наследования.
Применение функции описано в п.2.6.4.
Информация |
---|
Графический конструктор |
Интерфейс конструктора
Форма редактора выражений в режиме конструктора показана на Рис. 2.1.
...
Рис. 2.1 Форма редактора выражений
Форма состоит из четырех разделов:
Управляющая панель (в верхней части формы).
Панель атрибутов сущности (левая часть формы).
Панель инструментов (часть формы между панелью атрибутов и панелью выражения).
Панель выражения или редактирования выражения (правая часть формы).
Между панелями атрибутов, инструментов и выражения расположены сплиттеры, которые позволяют настраивать размеры областей друг относительно друга.
Содержимое управляющей панели описано в Табл. 2.4. Функции конструктора, не представленные на панели инструментов, описаны в Табл. 2.5.
Табл. 2.4 Кнопки управляющей панели
...
Режим конструктора
...
Включение режима конструктора выражений. Включение кнопки автоматически отключает кнопку режима XML-редактора.
...
Режим XML-редактора
...
Переход в режим XML-редактора. Включение кнопки автоматически отключает кнопку режима конструктора.
С помощью этого режима также можно просмотреть XML-код выражения, созданного с помощью конструктора.
...
Отменить действие
...
Отменить последнее изменение в выражении. Также для вызова данной функции можно применить сочетание клавиш [Ctrl+Z].
...
Вернуть действие
...
Вернуть последнее отмененное изменение.
...
Отображать ошибки
...
Включает/отключает режим отображения ошибок (по умолчанию включен), когда ошибочные конструкции выделяются красной рамкой. Ситуация, когда режим проверки может быть отключен, описана в п. 2.8.
...
Упорядочить параметры
...
Функция предназначена для управления порядком элементов в списке пользовательских параметров (см. п. 2.7).
Табл. 2.5 Функции конструктора, не представленные на управляющей панели
...
Пункт контекстного меню
...
Клавиша
(комбинация клавиш)
...
Описание
-
Одинарный клик мышью
...
Выделение элемента выражения, на область которого наведен указатель мыши. Клик на заголовке логического оператора вызывает выделение всей конструкции, связанной с этим оператором.
...
-
...
Двойной клик мышью
...
Редактирование элемента выражения, на область которого наведен указатель мыши.
...
Удалить
...
[Delete]
...
Удаление выделенного элемента выражения.
...
Копировать
...
[Ctrl+C]
...
Копирование в буфер обмена содержимого выделенного элемента выражения.
...
Вставить
...
[Ctrl+V]
...
Вставка на место выделенного элемента выражения содержимого буфера обмена.
В нижней части панели атрибутов располагается ярлык с отображением наименования сущности, с которой в данный момент работает конструктор (текущей сущности). Панель содержит список атрибутов указанной сущности (см. п.3 настоящего руководства) и служит для поиска нужных атрибутов и включения их в выражение.
Панель инструментов (средняя часть формы между панелью атрибутов и панелью условий) содержит кнопки, соответствующие различным элементам условия (виды операндов, операторы, функции). Кнопки панели инструментов описаны в таблицах, соответствующих видам элементов выражений:
Табл. 2.1 Виды операндов выражений,
Табл. 2.2 Операторы, используемые в выражениях,
Табл. 2.3 Функции, используемые в выражениях.
Кнопки двойных стрелок, появляющиеся в верхней и нижней части панели инструментов, служат для пролистывания панели инструментов, если она не помещается целиком в области формы. Двойной щелчок мышью на правом сплиттере автоматически устанавливает такой размер панели инструментов, чтобы на нем помещались все кнопки.
Панель выражения служит для отображения и редактирования выражения. Способ отображения и приемы работы с выражением описаны в п. 0. Начать создание выражения можно перетаскиванием элемента панели атрибутов или любого элемента панели инструментов конструктора.
Последовательность добавления элементов на панель редактирования выражений не имеет значения, т.к. добавленное условие в любой момент времени может быть отредактировано (изменены как операнды, так и операторы выражения).
В подпунктах настоящего раздела подробно описаны способ представления выражения и приемы работы с элементами логических выражений (п.2.2.2). Далее описана работа с основными видами элементов: атрибут сущности (п. 2.3.1), константное значение (п. 2.3.2), параметр (пп. 2.3.3 и 2.3.4), скобки (п. 2.3.7), оператор (п. 2.3.5) и функция (п. 2.3.6).
Особенности применения некоторых операторов и функций описаны в соответствующих разделах:
п. 2.4 Применение отдельных операторов,
п. 2.5 Применение функций,
п. 2.6 Применение функций для работы с объектами.
Информация |
---|
Графическое представление выражения |
Операция может быть представлена двумя способами:
«объемное» представление логической операции, т.е. использующей логический оператор «И»/«ИЛИ» (см. Рис. 2.2),
универсальное представление операции (см. Рис. 2.3).
...
Рис. 2.2 Представление логического выражения «И»/«ИЛИ»
Рис. 2.3 Универсальное представление выражения
Область операнда в свою очередь также может содержать выражение, представленное любым из вышеупомянутых видов, а также функцию. Т.е. описанные выше блоки могут быть вложенными друг в друга. Двойной клик мышью на пиктограмме логического оператора «И»/«ИЛИ» сворачивает конструкцию следующим образом:
...
Это может быть полезным при редактировании больших выражений сложной структуры.
Функция на панели редактирования может быть представлена одним из двух способов, представленных на Рис. 2.4, Рис. 2.5. В качестве аргумента функции может выступать другая функция или операция, возвращающая значение требуемого типа.
Для редактирования выражения, содержащего функцию, используются те же методы, что и в операциях: контекстное меню, двойной клик на аргументе функции, перетаскивание.
...
Рис. 2.4 Блок функции (1 вариант)
Рис. 2.5 Блок функции (2 вариант)
Любой элемент выражения может быть выделен для произведения над ним какого-либо действия (например, для перемещения, удаления):
...
щелчок мыши на обозначении (наименовании) операнда или оператора вызывает выделение этого операнда/оператора;
щелчок мыши на обозначении (наименовании) операнда или оператора вызывает выделение этого операнда/оператора;
Выделенный элемент обозначается синей пунктирной рамкой, как это показано на Рис. 2.6. Над выделенным элементом могут быть произведены действия – удаление, копирование, вставка (см. Табл. 2.5). Выделенный элемент также может перетаскиваться с помощью мыши в другие области условия. Если при этом удерживать нажатой клавишу [Ctrl] выбранный объект не перемещается, а копируется.
Некорректный элемент выражения (операция/функция с отсутствующим операндом/аргументом, с несовместимыми типами операндов, некорректный тип операнда/аргумента и т.д.) выделяется красной рамкой (см. Рис. 2.7).
...
Рис. 2.6 Фрагменты панели редактирования выражений
с выделенными элементами различных видов
Рис. 2.7 Пример выделения некорректных элементов выражения
Символ вопросительного знака «?» отображается на месте операнда/оператора/аргумента функции, если они не определены. Соответствующая область элемента выражения автоматически выделяется как некорректная и пользователю следует заполнить ее правильным значением. До тех пор, пока выражение содержит некорректные элементы, невозможно его применение и просмотр в виде XML-кода.
Все условные обозначения, применяемые на панели редактирования условия, представлены и описаны в Табл. 2.6.
Табл. 2.6 Условные обозначения элементов выражения
...
...
Заголовок конструкции, содержащей один из логических операторов «И» или «ИЛИ».
...
?
...
Пустой оператор или операнд. Сигнализирует о том, что данная область должна быть заполнена конкретным значением (оператором или операндом).
...
...
Обозначение области элемента выражения (операции или операнда, функции или аргумента функции), щелчок на пиктограмме выделяет эту область.
...
...
Жирным шрифтом черного цвета выделяется заголовок (наименование) сущности или атрибута сущности, а также строка-приглашение к указанию сущности или атрибута.
...
Синим цветом текста выделяется константное значение любого типа, константное значение «Пусто» заключается в угловые скобки.
...
Черным шрифтом отображается заголовок параметра или функции. Клик на заголовке функции выделяет область этой функции.
...
...
Блок функции. Некоторые функции, имеющие сложную структуру, отображаются в выделенном блоке. Кнопка в правом верхнем углу блока функции позволяет свернуть блок для более компактного отображения, при этом будет видна только первая строка блока функции. Кнопка восстанавливает исходный размер блока.
...
...
Рамка выделения элемента выражения (оператора, операнда или выражения)
...
...
Рамка выделения некорректного элемента выражения