Главное окно ГО (ver.2.0).

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

    Итак, на верхнем уровне находятся объекты четырёх типов:

    1. Пользовательские группы (папки). Этих папок может быть не ограниченное количество. В них содержатся выполняемые объекты – отчёты и скрипты. Выполняемые объекты могут раскрываться на более низкий уровень, показывая свою структуру. Например, отчёт содержит один или несколько запросов и может содержать произвольное число параметров.

    2. Все отчеты. Администратор отчетов кроме пользовательских групп отчетов видит специальную папку Все отчеты содержащую все имеющиеся отчеты, в том числе и те, которые не входят ни в одну пользовательскую группу отчетов (например находятся в разработке). Внутри группы Все отчеты содержатся объекты типа отчёт. Выполнением действия Добавить (в) группу над текущим отчётом данный отчёт добавляется в пользовательскую группу.

    3. Все запросы. Администратор отчетов видит специальную папку Все запросы, в которой содержатся все имеющиеся запросы, в том числе и не входящие в какой-либо отчёт. Внутри группы Все запросы содержатся объекты типа SQL запрос. Выполнением действия Добавить (в) отчёт над текущим запросом создаётся новый отчёт, содержащий этот запрос.

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

    На следующей ступени иерархии находятся исполнимые объекты. При двойном щелчке мышью на таком объекте он запускается на выполнение. Имеется 3 типа таких объектов:

    1. Отчет. Этот тип объектов реализует метафору отчёта - бумажного или табличного. Причём бумажный отчёт можно запустить в режиме таблицы, например, для отладки или экспорта таблицы в Excel. Бумажный отчёт просматривается на экране, печатается (для чего он собственно и предназначен) или сохраняется в одном из форматов экспорта. Таблицу в отчёте реализует объект типа Запрос. Один отчёт может содержать несколько таблиц (запросов), которые могут находиться в отношении главный-подчинённый. Параметрами запуска отчёта становятся параметры запуска первого запроса. Для последующих запросов, параметрами будут являться параметры первого запроса и, в случае главный-подчинённый, поля главного запроса.

    2. Запрос. Запросы для данного отчета из папки Запросы или запросы из папки Все запросы. Объект этого типа можно запустить на выполнение только из папки Все запросы. При выполнении одного запроса получаем одну таблицу (увы, возвращение множественных наборов данных не поддерживается ни BDE ни ODBC). Запрос может иметь Параметры. Параметры выделяются в теле запроса через двоеточие и должны затем быть определены в списке параметров запроса. Связывание параметров происходит по имени.

    3.Скрипт. Выполнимый объект, содержащий скрипт на языке, поддерживающем Active Scripting (на данный момент это VBscript и Jscript и можно подключить любой другой). При этом данному скрипту доступны все внутренние объекты генератора отчётов – а это функции, связанные с выполнением отчётов и с доступом к данным отчётов. Естественно, что внутренние объекты генератора отчётов доступны при запуске его в качестве ActiveX сервера. Например, можно использовать скрипт для автоматической выгрузки данных во внешний файл, причём имя файла может формироваться по сложному алгоритму или запрашиваться у пользователя. Другое возможное использование – получение большого пакета отчётов по нажатию одной кнопки. Можно придумать и много других полезных и бесполезных применений скриптов. Важно, что имеется средство, позволяющее исполнять программу, написанную на высокоуровневом языке программирования, используя интерпретатор от независимого поставщика. В случае с VBscript и Jscript – это те самые интерпретаторы, которые используют Internet Explorer и Internet Information Server, причём бесплатно.

    Кроме того, некоторые исполнимые объекты могут раскрываться, показывая свою структуру. Эти объекты соответственно могут содержать объекты, как указанных выше типов, так и объекты внутренних типов. Например, Запрос может содержать Параметры, а Отчёт содержит Запросы и Параметры. Внутри папки Запросы содержатся объекты типа Запрос, а внутри папки Параметры содержаться объекты типа Параметр. Итак, объекты внутренних типов:

    1. Параметры. Группы параметров запуска отчета или запроса.

    2. Параметр. Параметр запуска отчета или запроса. Каждый параметр – это запрашиваемая у пользователя информация и одновременно – параметр в SQL запросе. Тип параметра определяет вид его вывода и тип данных. Параметры могут иметь начальные значения и зависеть от значений предыдущих параметров.

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

На главную страницу

Hosted by uCoz