Перейти к содержанию

Параметры шаблона

Материал из Химсофт Вики
Версия от 09:39, 18 февраля 2026; Sidminik (обсуждение | вклад) (Sidminik переименовал страницу Работа с шаблонами. Параметры шаблона в Параметры шаблона)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Общие сведения

Параметры документа предназначены для пользователей и помогают установить каких-либо исходные данные при построении документа из шаблона.

Например, периода создания (дата от\до), места отбора пробы, шифр пробы, ФИО исполнителя и т.д.

Все параметры шаблона имеют заранее определённое имя пользователем, тип данных и значение по умолчанию.

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

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

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

Для выполнения автоматической генерации этого же самого шаблона (через скрипты), так же указываются необходимые входные параметры и запускается генерация. Процесс генерации отчетов для ручного и автоматического режима одинаков.

В отчетах возможно:

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

Создание простого параметра

  • добавить еще один DataSet (п. 1.4, рис. 1.5-1.10), например, FilterLaboratory;
  • в качестве SQL-запроса в поле Query набора данных FilterLaboratory можно использовать SQL-запрос из набора данных MainDataSet или, по возможности, его упрощенный вариант (исключение неиспользуемых полей и соединений таблиц);
  • добавить параметр в дереве отчета (рис. 5.1);
  • в открывшемся окне на вкладке General (рис. 5.2)
    • в поле Name ввести название параметра, например, ReportParameterLaboratory (по умолчанию – ReportParameter1);
    • в поле Text for prompting users for a value: ввести текст-приглашение для выбора значения пользователем, например, «Выберите лабораторию:» (по умолчанию – ReportParameter1);
  • в открывшемся окне на вкладке General (рис. 5.3)
    • установить переключатель в значение From query (по умолчанию – Non-queried);
    • в поле Dataset: выбрать используемый набор данных FilterLaboratory;
    • в полях Value field: и Label field: установить необходимое поле из набора данных (например, lab_name);
    • в поле Condition: установить значение Value или Label (если в полях Value field: и Label field: указано одно и то же значение, то любой вариант);
    • в поле Direction: указать желаемый вариант сортировки (Ascending – по возрастанию, Descending – по убыванию);
    • нажать OK.

Подключение параметра к таблице

  • выделить таблицу на основном поле конструктора или в дереве;
  • нажать на кнопку диалогового окна свойств Property dialog…;
  • в открывшемся окне в левом столбце перейти на вкладку Table - Filters и нажать на кнопку + (рис. 5.4);
  • в результате появится «пустой» параметр, не имеющий свойств;
  • для добавления свойств нажать на стрелку поля Expression и в раскрывшемся списке выбрать поле из DataSet (например, =Fields!lab_name.Value), по которому будет проводиться группировка (рис. 5.5);
  • в поле Operator: выбрать оператор Equal (рис. 5.6);
  • в разделе Values в поле Expression нажать стрелку меню и выбрать из списка значение Expression… (рис. 5.6);
  • в открывшемся окне Expression Editor в левой части окна в области Fields: раскрыть группу Parameters и выбрать пункт ReportParameterLaboratory (рис. 5.7);
  • двойным кликом или кнопкой Append добавить пункт ReportParameterLaboratory в область Expression:;
  • нажать кнопку ОК в окне Expression Editor;
  • нажать кнопку ОК в окне Table - Filters;
  • при формировании отчета перед выводом документа на экран появится колонка с параметром в качестве параметра (рис. 5.8).

Создание каскадного параметра

Если список значений параметра зависит от значения другого параметра, отчёт собирает необходимое значение параметра и использует его для создания списка значений для второго параметра. Такой каскад значений параметров иногда называют зависимыми, связанными или иерархическими параметрами. Чтобы создать каскадные параметры на странице или в отчёте, выполните следующие действия:

  • для создания каскадного параметра на первом этапе создается простой параметр
    • создаем новый набор данных FilterFio с таким же или более коротким SQL-запросом;
    • создаем параметр ReportParameterFio (с принимаемым из набора данных значением fio);
    • при необходимости фильтрации таблицы по данному критерию подключаем созданный параметр к таблице с общим значением параметра =[fio] In (=Parameters!ReportParameterFio.Value);
    • если значение ФИО нужно только для однократного вывода на экран (например, для подписи документа), то шаг подключения параметра к таблице пропускается;
  • в результате создается второй параметр со значениями, не зависящими от первого;
  • для добавления зависимости необходимо в дереве отчета выбрать набор данных FilterFio правой кнопкой выбрать пункт меню Edit;
  • в отрывшемся окне в левой части выбрать раздел DataSet - Parameters и нажать на кнопку +;
  • в отрывшемся окне в поле Name ввести имя параметра (например, SelectedLaboratory);
  • в поле Value нажать стрелку меню и выбрать пункт Expression…;
  • в левой части окна в области Fields: раскрыть группу Parameters и выбрать пункт ReportParameterLaboratory;
  • двойным кликом или кнопкой Append добавить пункт ReportParameterLaboratory в область Expression:;
  • нажать кнопку OK;
  • в оставшемся открытым окне свойств набора данных в левой части окна выбрать раздел DataSet - Query;
  • в поле Query: в конце запроса добавить условие WHERE fio In (@SelectedLaboratory);

Таким образом, итоговые записи данного запроса будут браться не напрямую из набора данных БД, а после предварительной фильтрации на основе лаборатории, выбранной в первом параметре.

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