Атрибут
При перетаскивании мышью выбранного атрибута на панель редактирования выражений появляется диалог (см. Рис. 2.8), в котором отображается наименование атрибута, для которого необходимо выбрать оператор и константное значение, с которым будет сравнивается значение атрибута. Флажок «ПУСТО» позволяет задать условие, что значение атрибута должно быть пустым.
При добавлении условия на значение атрибута автоматически проверяется соответствие типа атрибута и введенного значения. При их несовпадении кнопка «ОК» диалога будет недоступна, т.е. сохранить некорректное условие нельзя. Для атрибутов логического типа вместо поля ввода будет отображаться переключатель «Да/Нет».
Рис. 2.8 Диалог добавления условия
Рис. 2.9 Диалог выбора атрибута
После указания необходимых параметров и подтверждения с помощью кнопки «ОК», на панели выражения отобразится добавленное условие:
Перед добавлением следующего условия можно выбрать логический оператор, который будет объединять существующее условие с новым. Добавление нового условия без вставки логического оператора автоматически применит логический оператор «И». Результат такой операции представлен на рисунке:
В приведенном примере условие требует, чтобы наименование лекарственной формы имело значение «раствор» и при этом оригинальное наименование имело значение «хлоргексидин».
При необходимости изменить атрибут, уже добавленный в выражение, следует выбрать одно из описанных ниже действий:
Удалить целиком условие, в которое включен данный атрибут (выделив мышью все выражение и нажав клавишу [Delete]) и добавить новое условие описанным выше способом.
Сделать двойной клик мышью на заголовке атрибута, который следует изменить.
При этом появится диалог выбора атрибута, список выбора которого повторяет содержимое панели атрибутов (см. Рис. 2.9).Выделить и удалить атрибут.
При удалении атрибута его область будет занята знаком «?» и выделена красной рамкой (см. Рис.2.7) Пример выделения некорректных элементов выражения). Новый атрибут может быть вставлен в выражение перетаскиванием нужного элемента в область пустого атрибута (указатель мыши при отпускании кнопки должен быть установлен на область пустого атрибута).
Следует обратить внимание, что редактирование с помощью двойного клика не позволит изменить вид операнда, т.е. атрибут может быть заменен только на другой атрибут. Заменить атрибут на, например, константное значение, можно только с помощью перетаскивания мышью.
Константное значение
В случае необходимости сравнить значение атрибута с некоторым постоянным, т.е. зафиксированным во время создания условия, значением, в выражении могут быть использованы т.н. константы. Константа – это величина, которая не меняется в процессе работы программы и ее значение задается один раз при создании условия. Константа может быть одного из допустимых типов данных (см. 1.2), а также иметь пустое значение (такая константа имеет обозначение :
Константа может быть добавлена перетаскиванием кнопки:
в нужную область панели редактирования условия. При этом появляется диалог добавления константы, аналогичный представленному на Рис. 2.10. Диалог позволяет указать требуемый тип данных константы (выпадающий список справа) и значение константы – поле ввода слева. Поле ввода будет выглядеть по-разному для разных типов данных. Например, для ввода значения типа «Дата», в поле ввода доступна кнопка:
открывающая элемент управления «Календарь», для логического типа данных вместо поля ввода отображается переключатель и т.д.
Рис. 2.10 Диалог добавления константы
После подтверждения выбора кнопкой <OK> выбранное значение константы появляется на панели редактирования условия.
Значение константы может быть изменено одним из следующих способов:
noteДвойной клик на области редактируемой константы, после которого на месте области операнда-константы появляются поля для указания нового значения:
Двойной клик на области редактируемой константы, после которого на месте области операнда-константы появляются поля для указания нового значения:
При этом также может быть изменен тип константы (выпадающий список справа). После внесения изменений в поля редактирования нажатие клавиши [Enter] отображает сделанное изменение в выражении.
noteПовторное перетаскивание кнопки «Константа» с панели инструментов в область элемента выражения, которую необходимо изменить. Это может быть как область уже существующей константы, так и область другого операнда выражения (например, атрибут может быть заменен на константу).
Повторное перетаскивание кнопки «Константа» с панели инструментов в область элемента выражения, которую необходимо изменить. Это может быть как область уже существующей константы, так и область другого операнда выражения (например, атрибут может быть заменен на константу).
После внесения изменения любым из описанных способов автоматически производится проверка корректности выражения.
Системный параметр
При создании условия могут быть применены т.н. системные параметры. Перечень доступных системных параметров и правила получения их значений устанавливаются разработчиком системы. Среди них наиболее употребительными являются:
«Текущая дата» - параметр вычисляет значение текущей даты в момент применения параметра. Вычисленное значение используется при проверке условия (например, при наложении фильтра на данные).
«Текущий пользователь» - вычисляет идентификатор пользователя системы на момент наложения условия.
Системному параметру на панели инструментов соответствует кнопка
Перетаскивание ее в нужную область панели редактирования условия (область операнда выражения) вызовет появление диалога, показанного на Рис. 2.11. Диалог запрашивает у пользователя выбор нужного системного параметра из предопределенного списка.
Рис. 2.11 Диалог выбора системного параметра
После подтверждения выбора в указанном элементе выражения появляется идентификатор указанного параметра. Например, в случае выбора параметра «Текущая дата»:
Независимо от даты создания такого условия, оно будет проверяться с учетом даты, текущей на момент вычисления результата выражения.
Ранее добавленный системный параметр может быть изменен так же, как и константное значение: либо двойным кликом на заголовке параметра, либо перетаскиванием значка системного параметра. Двойной клик открывает список выбора системного параметра.
Необходимо иметь в виду, что системный параметр возвращение значение типа «Объект», и в некоторых случаях требуется приведение значения системного параметра к нужному типу (см. функцию приведения к типу п. 2.5.7).
Пользовательский параметр
Применение пользовательского параметра позволяет запросить значение параметра в момент вычисления значения выражения (например, в момент наложения фильтра на данные).
Для пользовательского параметра на панели инструментов предусмотрена кнопка
Перетаскивание данной кнопки в нужный элемент выражения вызывает появление диалогового окна, показанного на Рис. 2.12, в котором необходимо ввести наименование параметра. Это наименование увидит пользователь, когда будет применять данное условие. Поэтому важно правильно выбрать наименование, помогающее понять назначение данного параметра.
Рис. 2.12 Диалог ввода наименования пользовательского параметра
Пользовательский параметр в структуре условия отображается, как это показано на рисунке:
Ранее добавленный пользовательский параметр может быть изменен так же, как и константное значение: либо двойным кликом на заголовке параметра, либо перетаскиванием значка системного параметра. Двойной клик открывает поле редактирования для ввода нового наименования.
Значение добавленного таким образом параметра будет запрашиваться у пользователя системы с помощью диалога запроса параметров (см. Базовое руководство пользователя).
Оператор
Оператор, как и атрибут сущности, может быть добавлен перетаскиванием мышью выбранного элемента панели инструментов (перечень операторов приведен в Табл. 2.2) на панель редактирования выражения. Эта операция вызывает создание на панели редактирования «заготовки» выражения, которая должна быть дополнена необходимыми операндами. При этом при перетаскивании логического оператора «И» или «ИЛИ» отобразится конструкция, представленная на Рис. 2.2, а для других операторов – конструкция, аналогичная показанной на Рис. 2.3, только в качестве операндов выражение будет содержать символы «?» и все элементы выражения будут выделены красной рамкой.
Далее следует заполнить недостающие элементы конструкции с помощью описанных в данном разделе руководства методов.
Редактирование оператора в выражении производится с помощью одного из двух способов:
Перетаскивание нового оператора с панели инструментов в область оператора, который должен быть заменен.
Использование контекстного меню оператора, которое включает список всех допустимых операторов, как это показано на рисунке справа. В этом списке символом «P» выделен оператор, который должен быть заменен. Выбор из списка нового значения заменит старый оператор на новый.
При этом следует обратить внимание, что:
оператор «Логическое И» (Логическое «ИЛИ») может быть заменен только на оператор этой группы, т.е. «И» на «ИЛИ» и наоборот (список операторов в контекстном меню будет содержать только два пункта «И» и «ИЛИ»);
для операторов, возвращающих логическое значение («LIKE», «IN», «IS», «ExactIS»), в контекстном меню будет отображен дополнительный элемент «НЕ» (см. п.2.4.3).
После вставки нового оператора выражение автоматически будет проверено на корректность, после чего его элементы могут оказаться выделенными красной рамкой. Это означает, что теперь должны быть скорректированы операнды выражения, либо выбран новый оператор.
Арифметические операторы (такие как сложение, вычитание и т.д.), и соответственно, арифметические выражения, могут быть использованы в конструкторе в качестве элементов логического выражения. Это требуется в том случае, когда необходимо сравнение значения атрибута/константы со значением, вычисляемым на основании значений других атрибутов/ констант.
Полный перечень операторов приведен в Табл. 2.2 настоящего руководства, описание отдельных операторов – в п.2.4.
Функция
Функция, как и другие элементы выражения, может быть добавлена в выражение путем перетаскивания мышью соответствующей кнопки панели инструментов в нужную область панели редактирования условия. Добавление функции создает шаблон функции, похожий на один из представленных на рисунке:
или
Шаблон содержит текст, соответствующий заголовку выбранной функции, и поля аргументов функции, которые автоматически заполняются символом «?». В качестве аргумента функции может выступать любой элемент из перечисленных в Табл. 2.1, а также операция или функция, возвращающая значение требуемого типа. Вставить нужный элемент можно путем его перетаскивания в область аргумента функции.
Двойной клик на пустом аргументе функции (содержащем символ «?») откроет поля для заполнения аргумента константным значением или диалог выбора соответствующего элемента из списка. Редактирование аргументов функции производится теми же способами, что и операнды выражения – двойной клик, перетаскивание.
Контекстное меню функции, содержащие доступные опции применения функции, открывается щелчком правой кнопки мыши на заголовке функции (подробное описание функций и содержимого контекстных меню приведено в описаниях функций подраздела 2.5).
Применение скобок
Скобки позволяют управлять порядком произведения вычислений точно так же, как это делают скобки, используемые в математических формулах. Скобки добавляются перетаскиванием кнопки
панели инструментов конструктора в нужную область условия. Область между скобками автоматически заполняется символом «?», на место которого может быть вставлено любое выражение.