Навигация:  МОДУЛЬ "СИСТЕМНОЕ ЯДРО" > ПОДМОДУЛЬ "СТАТИСТИКА" > Простые запросы > Визуальный конструктор запросов > Запрашиваемые данные >

Параметры

Предыдущая страницаВернуться в начало главыСледующая страница

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

Чтобы использовать в качестве параметра поле-фильтр, необходимо прописать ему имя параметра.

286

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

 Для параметра задаются алиас (до 31 символа) и заголовок, выбирается тип данных (рис. 2.3.12); могут быть определены одно значение (значение по умолчанию) и набор возможных значений (каждое вводится с новой строки).

 Рисунок 2.3.12. Атрибуты параметра


Рисунок 2.3.12. Атрибуты параметра

Ниже устанавливаются опции:

·Ввод обязательный – если запрос не должен выполняться без указания значения параметра;

·Отображать в заголовке отчета – если в заголовке отчета необходимо показать значение параметра.

Особенности параметров различных типов

Для параметра типа Дата можно установить дополнительные флажки:

·Учитывать время – будет требоваться ввод полностью даты и времени.

·Использовать 4 цифры для года – ввод года полностью, иначе – двух последних цифр.

Для параметра типа Логический возможны только два значения (Да/Нет). В выпадающем списке выбирается значение, которое параметр принимает по умолчанию.

Для параметра типа Ссылка (рис. 2.3.13) нужно указать имя таблицы, на которую ссылается параметр. Дополнительно можно выбрать срез данных, позволяющий ограничить выборку данных указанной таблицы при заполнении параметра. Срезы данных создаются с помощью утилиты Restruct: запустив утилиту, нужно открыть таблицу, на которую ссылается параметр, и на вкладке Table в секции Custom прописать коды, названия и фильтры срезов данных:

DataSubSetCodes=Code1, Code2,..., CodeN

DataSubSetTitles="Title 1", "Title 2",..., "Title N"

DataSubSetFilters="Filter 1", Filter 2",..., Filter N"

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

$$$.<Имя_поля>

Пример срезов данных для таблицы PATIENTS (Пациенты):

DataSubSetCodes=P1,P2,P3

DataSubSetTitles="Группа пациентов 1", "Группа пациентов 2", "Группа пациентов 3"

DataSubSetFilters="$$$.PATIENTS_ID = 45460 or $$$.PATIENTS_ID = 45456","$$$.PATIENTS_ID in (3,4,5) and $$$.AGE>20", "$$$.NOM='АБАКУМОВА'"

Для того чтобы срезы данных отобразились в выпадающем списке в окне настройки параметра, нужно перезапустить МЕДИАЛОГ. В соответствии с приведенным примером в выпадающем списке будут доступны срезы "Группа пациентов 1", "Группа пациентов 2", "Группа пациентов 3". Если выбран срез данных "Группа пациентов 3" (рис. 2.3.13), в дальнейшем при заполнении данного параметра будут доступны только пациенты с фамилией 'АБАКУМОВА'.

 Рисунок 2.3.13. Параметр типа Ссылка


Рисунок 2.3.13. Параметр типа Ссылка

Использование параметров в запросе

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

:Имя_параметра

Если параметр состоит из двух значений (например, интервал дат), ко второму значению можно обратиться следующим образом:

:Имя_параметра_1

Пример: имеется параметр datebill. В выражении обратиться к первому значению можно через :datebill, а ко второму – :datebill_1.

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

Пример: параметр с названием med включен по полю-ссылке на таблицу Врачи и пользователи. В этом случае обращение к параметру должно быть следующим:

FM_BILL.MEDECINS_ID in (:med)

При выполнении запроса автоматически генерируется окно с фильтрами и параметрами. Возможности задания фильтров и параметров в данном окне описаны в разделе Параметры запроса (Introduction.pdf).