Инструментальные средства системы Miracle,
рабочее место разработчика. (часть II)
  Конструктор отчетов

Назначение данной программы

  Конструктор отчетов предназначен для создания компонентов отчетов. “Отчет” - объект по организации необходимого вида печатного документа. Основная функция отчета - получение твердой копии документа. Объект “отчет” не содержит в себе ни управляющей логики, ни установленных связей с источниками информации. Все это проектируется в конкретных приложениях. “Отчет” - компонент информационной системы может быть использован в различных задачах. Готовый компонент - “отчет” размещается на Сервере управления, как ресурс информационной системы. Доступ к отчетам осуществляется через специализированный объект - отчет, организующего эксплуатацию выбранного проекта - отчета.

Запуск Конструктора отчетов

  Запуск Конструктора отчетов осуществляется под управлением Менеджера компонентов через список доступных “инструментов разработки приложений Miracle”. Если вам эта программа не доступна, обратитесь к администратору информационной системы.

Методика

  “Отчет” является одним из компонентов информационной системы и может быть организован в двух видах. Первый из них в виде бланка, второй в виде списка. Объем отчета определяется на момент проектировки.
  Отчет в виде бланка позволяет получать документ с различной информацией, организованной в виде одного набора данных.
  Отчет в виде списка позволяет получить документ со сложной организацией вывода информации. При этом, объем отчета - список зависит от объема предоставляемых данных и не может быть определен на момент проектировки. Проектирование отчета БЛАНК и СПИСОК отличается только количеством рабочих областей в документе, позволяющих организовывать отчеты разного типа. Все остальные действия по проектированию одинаковы для любого типа отчета.
  Проектирование отчета основано на размещении необходимого количества элементов в рамках установленной страницы. Количество размещенных элементов в отчете зависит только от того, какой документ вы хотите получить. Следует помнить, что отчеты системы Miracle не могут автоматически разбивать большой формат листов на группу листов меньшего формата. Т.е., создав отчет в формате А3, его можно будет получить только на печатающем устройстве, способном выводить отчеты в таком формате. При попытке вывести отчет на устройстве с меньшим доступным форматом, вы получите только часть отчета.

Горячие клавиши и действия к ним

Действия Аналог в меню Горячие клавиши На панели инструментов
Новый отчетОтчеты|Новый Ctrl+N
Загрузить отчет Отчет|Загрузить... Ctrl+L
ЗакрытьОтчет|Закрыть Ctrl+F4  
Сохранить Отчет|СохранитьCtrl+S  
ПечатьОтчет|Печать Ctrl+P
Выход из конструктора отчетов Отчет|Выход Alt+F4
ЛинияЭлемент|ЛинияALt+L
ПрямоугольникЭлемент|ПрямоугольникALt+P
ТекстЭлемент|ТекстALt+T
Внешние данныеЭлемент|Внешние данныеALt+D
ИзображениеЭлемент|ИзображениеALt+D
НастроитьЭлемент|НастроитьALt+Enter 
Связь по даннымЭлемент|Связь по даннымInsert 
РазмерЭлемент|РазмерALt+S 
УдалитьЭлемент|УдалитьDelete 
СледующийЭлемент|СледующийTab 
ПредыдущийЭлемент|ПредыдущийShift+Tab 
УвеличитьМасштаб|Увеличить+ на цифровой клавиатуре
УменьшитьМасштаб|Уменьшить- на цифровой клавиатуре
ВлевоПеремещение|Влевоклавиша курсора
ВверхПеремещение|Вверхклавиша курсора
ВнизПеремещение|Внизклавиша курсора
ВправоПеремещение|Вправоклавиша курсора

Работа в Конструкторе отчетов
Создание нового отчета

  Для создания проекта нового “отчета” необходимо активизировать команду - создание нового отчета. В дополнительном диалоговом окне “настройка отчета” установите необходимые свойства:

  • Название - область для ввода названия отчета. Установленное название будет являться именем компонента - имя необходимо для идентификации отчета.
  • Ширина - область для задания ширины листа документа (в миллиметрах).
  • Высота - область для задания высоты листа документа (в миллиметрах).
  • Установка размеров в областях ширина/высота возможна только при включенной опции - указанной в секции - размер страницы. Число в области должно быть от 18 до 9504.
  • Тип - установка необходимого размера листа.
    • А1 (594х841) - установка листа формата А1.
    • А2 (420х594) - установка листа формата А2.
    • А3 (297х420) - установка листа формата А3.
    • А4 (210х297) - установка листа формата А4.
    • Указанный - установка произвольного задания размеров листа, в областях ширина/высота. Координаты в документе соответствуют X0/Y0 в верхнем левом углу.
  • Ориентация - установка необходимой ориентации листа.
    • Портретная - портретная ориентация листа
    • Портретная - портретная ориентация листа
  • Просто отчет (только текст) - Включение данной опции позволяет создавать отчеты предназначенные для печати в “текстовом” режиме. Либо для печати в ASCII-файл. Подробности печати см. Книгу 2 - Сервер управления, глава 4 - Организация печати в текстовом режиме (вывод в ASCII-файл).

Открытие отчета

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

Сохранить

  При необходимости вы можете сохранить проект “отчета” в виде файла с расширением *.mrp, для этой цели активизируйте команду - сохранить.

Печать

  Для получения “тестовой” страницы документа воспользуйтесь командой печать. Следует помнить, что форма документа будет заполнена системными именами элементов.

Увеличит/Уменьшить

  При необходимости можно менять масштаб отображения проекта “отчета”. Однократное нажатие на кнопку увеличить/уменьшить будет приводить к смене масштаба на один пункт.

Влево, вверх, вниз, вправо

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

Линия

  “Линия” - элемент оформления отчета. Для размещения данного объекта в документе активизируйте команду - линия.
  Данный режим не доступен при включенной опции - “просто отчет (только текст)”
  Установите курсор в нужную точку документа, нажмите левую клавишу манипулятора мышь и, не отпуская клавиши, установите вторую точку линии. После установки второй точки, отпустите клавишу на манипуляторе мышь. Сразу после этого, возникнет дополнительное диалоговое окно по установке параметров элемента:
  Линия - настройка типа линии:

  • Непрерывная - сплошная линия.
  • Пунктир - часто прерывистая линия.
  • Штрих - прерывистая линия с небольшой частотой.
  • Штрих пунктир - прерывистая линия с переменными большими и мелкими частями.
  • Фантом - прерывистая линия с переменными несколькими большими и мелкими частями.
  • Никакая - отменить отображение линии.
  • Толщина - область задания толщины линии. Доступна только для непрерывного типа линии. Число должно быть в диапазоне от 1 до 40.

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

Прямоугольник

  “Прямоугольник” - элемент оформления отчета. Для размещения данного объекта в документе активизируйте команду - прямоугольник.
  Данный режим не доступен при включенной опции - “просто отчет (только текст)
  Установите курсор в нужную точку документа, нажмите левую клавишу манипулятора мышь и, не отпуская ее, установите вторую точку прямоугольника.

  • Удалить - режим, позволяющий удалять выбранный элемент.

Текст

  “Текст” - элемент оформления отчета. Для размещения данного объекта в документе активизируйте команду - текст. Установите курсор в нужную точку документа, нажмите левую клавишу манипулятора мышь и, не отпуская, установите вторую точку области занимаемой элементом - “текст”. Отпустите клавишу. Заданная площадь будет доступна для отображения текстовой информации. Сразу после установки второй точки появится дополнительное диалоговое окно настройки параметров элемента:

  • Область под отображаемый текст - область для ввода текста, который будет отображен. Длинные строки будут автоматически разбиваться на несколько строк. Однако в документе это может выглядеть иначе. В области “текста” навигация осуществляется клавишами курсора.
  • Тип выравнивания - способ размещения информации в заданной области.
    • Влево - задание стиля размещения информации выравниванием влево.
    • Центр - задание стиля размещения информации выравниванием по центру.
    • Вправо - задание стиля размещения информации выравниванием вправо.
  • Ориентация - позволяет задать ориентацию текста в заданной области.

      Ориентация применима только для шрифтов формата True Type. Ориентацию возможно задавать четырьмя стандартными величинами: 0, 90, 180, 270 градусов.

    • Размер шрифта - область установки необходимого размера шрифта.
    • Обрезать текст - опция, активизация которой позволяет ограничить вывод длинных слов не помещающихся в границы области.
    • Шрифт - настройка необходимого шрифта и его свойств.
В случае использования "простых" отчетов опции выбора ориентации и шрифта недоступны.

Внешний текст

  “Внешний текст” - элемент для отображения информации полученной от внешнего источника.
  Для размещения данного объекта в документе авторизуйте команду - внешний текст. Установите курсор в нужную точку документа, нажмите левую клавишу манипулятора мышь и, не отпуская ее, установите вторую точку области под внешний текст. После установки второй точки, отпустите клавишу на манипуляторе. Сразу после этого возникнет дополнительное диалоговое окно настройки параметров внешнего текста:

  • Введите пример внешнего текста для проверки - область для ввода текстовой информации, что позволяет спроектировать размер области элемента в зависимости от установок шрифта и количества элементов в примере. Параметр не обязательный для заполнения.
  • Тип выравнивания - способ размещения информации в заданной области.
    • Влево - задание стиля размещения информации выравниванием влево.
    • Центр - задание стиля размещения информации выравниванием по центру.
    • Вправо - задание стиля размещения информации выравниванием вправо.
  • Ориентация - позволяет задать ориентацию текста в заданной области.
    Ориентация применима только для шрифтов формата True Type. Ориентацию возможно задавать четырьмя стандартными величинами: 0, 90, 180, 270 градусов.
    • Размер шрифта - область установки необходимого размера шрифта.
    • Обрезать текст - опция, активизация которой позволяет ограничить вывод длинных слов не помещающихся в границы области.
    • Шрифт - настройка необходимого шрифта и его свойств.

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

Рисунок 3 Схема отношений логических полей и элементов документа.

  Настройка списка логических полей автоматически доступна при вводе нового элемента внешнего текста, либо при активизации команды - связь по данным. Работа в диалоге редактирования списка логических полей документа заключается в выборе необходимого поля и установки с ним связи активизацией клавиши ОК. При необходимости в диалоге возможно осуществлять:

  • Добавить - добавить в список новое логическое поле. Для этого необходимо ввести имя поля в дополнительном диалоге. Каждому логическому полю в списке присваивается индекс.
  • Изменить - данная опция позволяет изменить имя логического поля. Это не повлияет на связи элементов, установленные с этим полем.
  • Удаление - удаление логического поля из списка. Следует помнить, что данная операция может повлечь за собой сбои индексов полей. Т.е. после удаления логического поля из середины списка, индексация нижестоящих элементов собьется, что в свою очередь приведет к сбою связей элементов документов с логическим полем, так как элементы будут ссылаться на элементы с первоначальным индексом.
  • Отвязать - механизм по разрыву связей элемента документа с логическим полем.
  • ОК - механизм по установке связей между элементами документа и выбранным в списке логическим полем.
Все типы элементов, кроме "внешнего текста", в связи по данным ожидают логическое значение 0 или 1, которое отвечает за необходимость вывода данного элемента.

Изображение

  “Изображение” - элемент для отображения графической информации получаемой от внешнего источника. Для размещения данного объекта в документе, авторизуйте команду – изображение. Установите курсов в нужную точку документа. Нажмите левую клавишу манипулятора «мышь» и, не отпуская ее, установите вторую точку области под изображение. После установки второй точки отпусти кнопку «мышки». Сразу после этого возникает диалоговое окно позволяющее задать метод поддержки «пропорционального» вывода изображения. В дальнейшем, данные установки, возможно изменить через команду – «Настроить». Организация связи места в документе для вывода графической информации с информационным источником аналогична методу применяемого для элемента «внешний текст».

Общие методы настройки элементов

  В неактивном состоянии ввода новых элементов возможно осуществлять редактирование свойств, имеющихся в документе объектов. Для этого необходимо выбрать элемент и активизировать контекстное меню. В его рамках возможно активизировать/деактивизировать режим ввода новых элементов, а также осуществляя следующие действия:

  • Настроить ... - производить настройку параметров элемента.
  • Связь по данным - настройка связей между элементом и логическим полем.
  • Размер ... - механизм задания положения и размеров элемента в документе.
    Настройки производятся в специализированном диалоге, где возможно:
    • X1 - первая координата точки по оси Х, область позволяет ввести необходимые координаты (в миллиметрах).
    • Y1 - первая координата точки по оси Y, область позволяет ввести необходимые координаты (в миллиметрах).
    • X2 - вторая координата точки по оси Х, область позволяет ввести необходимые координаты (в миллиметрах). Изменение этого параметра приводит к изменению параметров DX.
    • Y2 - вторая координата точки по оси Y, область позволяет ввести необходимые координаты (в миллиметрах). Изменение этого параметра приводит к изменению параметров DY.
    • DX - область для установки необходимого размера элемента - ширина (в миллиметрах). Изменение этого параметра приводит к изменению параметров Х2.
    • DY - область для установки необходимого размера элемента - высота (в миллиметрах). Изменение этого параметра приводит к изменению параметров Y2.
  • Удалить - режим, позволяющий удалять выбранный элемент.
    Общая команда - показать область, позволяет включать/выключать прорисовку областей, занимаемых элементами текста в документе.

Структура отчета - бланк

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

Рисунок 4 Схема взаимодействия Отчета с внешними источниками данных

  Структура отчета “бланк” отражает вид документа, получаемого пользователем.
  Отчет “бланк” является наиболее простой формой отчета. Область для отчета представляет собой вид получаемого документа. Все данные размещенные в нем формируют как один документ.

Структура отчета - список

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

Рисунок 5 Схема взаимодействия Отчета с внешними источниками данных

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

  • Верхний колонтитул.
  • Заголовок.
  • Начало страницы.
  • Повторяющаяся часть 1.
    • Повторяющаяся часть N.
  • Подвал страницы.
  • Нижний заголовок.
  • Конец текста.
  • Область резервирования.
  • Нижний колонтитул.

Описание областей отчета “список”

  Верхний колонтитул
  Верхний колонтитул - область, которая появляется вверху на каждой распечатанной странице документа.
  Размер области под “верхний колонтитул” может быть задан на этапе проектирования. Все элементы, размещенные в ней, образуют вид “верхнего колонтитула”.

Рисунок 6 Пример размещения "верхнего колонтитула"

Заголовок

  Заголовок - область, которая появляется только в начале отчета. Т.е. только на первом листе отчета, после верхнего колонтитула.

Рисунок 7 Пример размещения области - заголовка отчета

Начало страницы

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

Рисунок 8 Пример размещения области - начало страницы

Повторяющаяся часть 1

  Повторяющаяся часть N 1 - область, предоставляемая автоматически, другие части необходимо организовывать. Наличие повторяющихся частей - позволяет проектировать отчет необходимой сложности. Каждая часть является группой элементов и может быть использована в любом сочетании. Т.е. при наличии нескольких повторяющихся частей отчет может начинаться с любой части в зависимости от ситуации.

Повторяющаяся часть N

  Повторяющаяся часть Nn - область, представляет собой полный аналог части N1 с тем только отличием, что часть N1 предоставляется автоматически, а части Nn необходимо организовывать командой - Отчет|Повторяющаяся часть|Добавить.

Подвал страницы

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

Рисунок 9 Пример размещения области - подвала страницы

Нижний заголовок

  Нижний заголовок - область, которая появляется только в конце первого листа, под подвалом страницы.

Рисунок 10 Пример размещения области - нижнего заголовка

Конец текста

  Конец текста - область, которая появляется только на последнем листе, под подвалом страницы.

Рисунок 11 Пример размещения области - конец текста

Область резервирования

  Область резервирования - специализированная область не предназначенная для организации какого либо вывода. Данная область является - системной и предназначена для распределения общего пространства листа по используемым частям.   Размер области автоматически уменьшается изменении размеров каких либо частей. Тем самым, размер резервирования отражает не используемый объем в заказанном размере листа.

Нижний колонтитул

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

Рисунок 12 Пример размещения области - нижний колонтитул

Изменение размера области

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

Рисунок 13 Пример проекта - отчета с равномерно расположенными областями

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

Размер области - область резервирования, изменяется только автоматически.

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

Следует также помнить что установленная область по каждой части уменьшает рабочую область отчета, поэтому если в отчете не планируется использование тех или иных областей, то целесообразно уменьшить их область до 0-размера.

Программирование отчетов (общие сведения)

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

  • Фамилия сотрудника
  • Выплаты по сотруднику
  • Удержания по сотруднику
  • Фамилия и выплаты по сотруднику

  Тем самым получаем четыре повторяющиеся части. В первой из них располагаем элемент отчета - внешний текст, для вывода фамилия. Во второй части располагаем элементы отчета - внешний текст, для вывода суммы и комментария по выплате. В третьей части располагаем элементы отчета для вывода суммы и комментария по удержанию. В четвертой части располагаем элементы отчета для вывода фамилии и суммы выплат.
  Таким образом, получаем проект списочного отчета представляющего четыре повторяющиеся части, каждая из которой предназначена для определенного сочетания данных.
  На уровне проектирования управления данным отчетом, можно запрограммировать его таким образом, что если у сотрудника не было выплат, в отчете выводится только одна фамилия; есть выплаты - фамилия и сумма выплаты, сумма удержаний. Примерный вид отчета, который можем получить.

Иванов+ 12,00
- 5,00
Сидоров 
Петрова+ 50,00
+ 10,00
- 3,00
- 7,00

  Механизм повторяющихся частей в проекте - отчета, позволяет получить отчеты необходимого уровня сложности и вложенности. Единственно, что следует учитывать, это что списочный отчет проектируется “вертикально”, т.е. объем используемых областей и частота их использования определяется в момент печати документа. По “горизонту” объем отчета строго определен в момент его проектирования и не зависит от каких либо признаков.

Список возможных действий

Отчет
Новый Ctrl+N Создать новый отчет
Загрузить Ctrl+L Открыть на редактирование файл проекта отчета
Закрыть Ctrl+F4 Закрыть проект отчета
Сохранить Ctrl+S Сохранить проект отчета в виде файла *.mrp
Сохранить как ... Сохранить проект отчета в виде файла под новым названием
Считать с сервера Получить проект отчета с севера авторизации пользователей
Передать на сервер Передать проект отчета как компонент ИС на сервер авторизации пользователей
Печать Ctrl+P Печать пустой формы отчета (тест проекта)
Настроить принтер Настройка параметров принтера
Настроить отчет Установка параметров отчета
Показывать область Включить/выключить отображение границ областей элементов
Повторяющаяся часть
Добавить Добавить повторяющуюся часть
Удалить Удалить повторяющуюся часть
Выход Alt+F4 Окончание работы с конструктором отчетов Miracle
Элемент
Линия ALt+L Создание элемента отчета - линия
Прямоугольник Alt+P Создание элемента отчета - прямоугольник
Текст Alt+T Создание элемента отчета - текст
Внешние данные Alt+D Создание элемента отчета для организации областей размещения внешних данных.
Изображение Alt+B Устанавливает область для отображения графической информации.
Показывать область Установка режима отображения области занимаемой элементами в документе
Настроить ... Enter Настройка параметров элементов
Связь по данным ... Insert Настройка связей по данным элемента
Размер ... Alt+S Настройка положения элемента в документе или его размеры
Удалить Delete Удаление элемента из документа
Масштаб
Увеличить + Увеличить разрешено (+1)
Уменьшить - Уменьшить разрешено (-1)
Задать ... Задать необходимое разрешение отображения отчета
Перемещение
Влево Сдвинуть все элементы отчета в документе влево
Вверх Сдвинуть все элементы отчета в документе вверх
Вниз Сдвинуть все элементы отчета в документе вниз
Вправо Сдвинуть все элементы отчета в документе вправо
Задать ... Смещение всех элементов отчета в документе на указанное расстояние


Предыдущий раздел На начал документауции На оглавление Следующий раздел

©1995,1997,2000 НПФ ”И.В.А.”. Все права сохранены.
Название фирм и торговых марок используются только в качестве пояснения.