OLE объекты (Object Link and Embedding) - специальные объекты (обычно графические, связываемые с OLE-серверами (PC Paintbrush, MS Excel, MS Word и т. д.).
В верхней части окна RPTwin располагается панель инструментов. Функциональность панели инструментов доступна из основного меню RPTwin и показана в таб.5.1.
Таблица 5.1. Описание элементов управления основной панели инструментов RPTwin
Элементы управления Описание Соответствующие пункты меню Создать новый отчет File/New Открыть отчет File/Open Сохранить отчет File/Save Напечатать отчет File/Print Просмотр отчета File/Print Preview Привязка объектов отчета к сетке (Snap to Grid) Layout/Snap to Grid Выбор стиля шрифта Выбор типа и размера шрифта Форматирование поля
RPTwin имеет также палитру инструментов (ToolBox). Назначение кнопок палитры инструментов приведено в табл. 5.2.
Таблица 5.2. Описание элементов управления палитры инструментов
Элемент управления Функция Режим указателя Добавить текстовое поле Добавить формулу Добавить разрыв страницы Добавить специальное поле - время выполнения отчета Добавить специальное поле - номер страницы Добавить специальное поле - дату выполнения отчета Добавить специальное поле - номер записи Добавить специальное поле - количество записей. Если это поле добавляется в секцию Group Footer, подсчитывается количество строк в группе, если в Report Footer - в отчете Добавить OLE-объект
DataSet Columns (см. рис. 5.3) показывает список полей набора данных из LWD-файла. Эти поля могут быть включены в отчет при помощи техники drag&drop. Список DataSet Columns можно перемещать по рабочему пространству отчета, можно скрыть его или вновь сделать видимым (пункт меню View/DataSet Columns List).
5.2. Форматирование отчетов
5.2.1. Вставка и форматирование объектов отчета
Созданный в диалоге New Report отчет может быть изменен - в него могут быть добавлены новые объекты, свойства существующих объектов могут быть изменены.
Поле данных содержит информацию из файла данных или вычисляемые значения. Поле данных может быть трех типов:
простое поле данных (Simple Data Field) представляет собой колонку набора данных (фaйл.LWD). В режиме дизайна отображается именем колонки набора данных, например ENTITY NAME или ATTRIBUTE NAME;
специальное поле (Special Function) показывает дату (Date) и время (Time) выполнения отчета, номер страницы (Page Number), номер строки (Record Number) и общее количество строк (Record Count);
формула (Formula) позволяет производить сложные вычисления и обработку данных. (Создание и использование формул будет рассмотрено в гл. 5.3.)
Поля могут быть включены в любую секцию отчета. Простые поля можно включить в отчет просто "перетаскивая" их (drag&drop) из окна DataSet Columns List в соответствующую секцию.
Для включения специального поля можно воспользоваться палитрой инструментов (см. табл. 5.2) или меню Insert/Special Field. Специальное поле должно быть включено в строго определенную секцию отчета. Так, например, номер страницы может быть включен в Page Header или в Page Footer, общее количество строк (Record Count) - в Group Footer, Page Footer или Report Footer.
Для редактирования свойств полей данных следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Data Field Properties.
Возникает диалог Data Field Properties (рис. 5.4), в котором можно изменить следующие свойства поля:
имя поля (поле ввода Name);
координаты поля в отчете и его размеры (Position, Height и Width). Изменить координаты поля можно также просто, "перетащив" поле по рабочему пространству отчета, "зацепив" его мышью. Изменить размеры поля можно также непосредственно в рабочем пространстве отчета. Для этого следует щелкнуть по полю. Появятся габаритные указатели поля !!!!!!!!!!!!!!!. "Зацепив" мышью такой указатель, можно увеличить или уменьшить размер поля. Опция Can be squeezed up if no data особенно важна для вертикальных отчетов. Если она включена, то строка, не содержащая данных, не будет печататься. Ширина поля может быть установлена фиксированной (значение Fixed Width в комбинированном списке справа от поля Width), может автоматически устанавливаться по ширине поля данных (Adjust Width to Data) или максимально возможной - до следующего поля справа или правой границы отчета (Expand Right to Margin or Next Item);
Рис. 5.4. Диалог Data Field Properties
расположение длинного поля в несколько строчек (Word Wrap);
рамки поля (Borders);
фон поля (Patterns);
кроме того, можно скрыть поле, если повторяются его значения (опция Suppress группы Repeating Values). Если при включенной опции Suppress включена также опция Redisplay after Group, значение поля печатается один раз в начале каждой группы, даже если оно является повторяющимся. Если включена опция Redisplay after Page, значение поля печатается один раз в начале каждой страницы.
Текстовые поля (Text Field) могут использоваться в отчете для заголовков, подписей и другой поясняющей информации. Они могут содержать буквы, цифры и специальные символы. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/Text Field.
При внесении поля или при его редактировании (для редактирования свойств текстового поля следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Text Field Properties) возникает диалог Text Field Properties (рис. 5.5), в котором можно внести текст поля (Text), имя (Name), изменить рамки (Borders), его размеры и расположение на отчете.
Для удаления поля следует щелкнуть по нему левой кнопкой мыши и нажать на клавишу Delete на клавиатуре.
Рис. 5.5. Диалог Text Field Properties
Помимо текстовых или специальных полей в отчет могут быть включены OLE-объекты. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/OLE Object. При внесении OLE-объекта возникает диалог Вставка объекта (Insert Object), рис. 5.6, в котором следует указать либо тип вновь создаваемого объекта, либо имя файла, содержащего объект. Если вставляется существующий объект, он будет добавлен в секцию отчета, если новый - вызовется соответствующее приложение для создания объекта.
Рис. 5.6. Диалог "Вставка объекта'
Для редактирования OLE-объекта следует дважды щелкнуть по нему кнопкой мыши. Вызывается приложение для редактирования объекта, причем в большинстве случаев меню приложения встраивается в меню RPTwin.
Некоторые OLE-объекты могут быть преобразованы в другой тип. Для преобразования типа объекта следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт Объект/Преобразовать (Object/Convert). В появившемся диалоге Преобразование (Convert) следует указать новый тип объекта и щелкнуть по кнопке ОК.
Для изменения свойств следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт OLE Object Properties. В появляющемся диалоге OLE Object Properties можно задать такие свойства объекта, как расположение в отчете или размеры.
5.2.2. Группировка и сортировка данных отчета
RPTwin позволяет выстроить данные отчета в определенном порядке (сортировка) либо объединить их в группы (группировка). Так, в примере на рис. 5.3 отчет сгруппирован по имени стрелки, другими словами, в каждую группу включаются данные, относящиеся к одной определенной стрелке.
Для установления сортировки и группировки следует выбрать пункт меню Layout/Sorting and Grouping. Появляется диалог Sorting/Grouping (рис. 5.7).
Рис. 5. 7. Диалог Sorting/Grouping
В левом списке диалога (DataSet Columns) содержатся имена всех полей набора данных, в правом (Sort/Group On) - список полей, по которым производится сортировка или группировка.
Для установки сортировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Sort Only и установить порядок сортировки - по возрастанию (Ascending) или по убыванию (Descending). Опция Case Sensitive устанавливает режим сортировки - учитывать ли при сортировке регистр данных.
Для установки группировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Group and Sort и установить порядок сортировки. Группы сортируются автоматически - нельзя установить группировку по полю без сортировки. Опции with Header и with Footer (установлены по умолчанию) включают в отчет секции Group Header и Group Footer.