Архитектура Построителя Отчетов определена таким образом, что у вас имеется возможность подсоединить свои собственные пользовательские Классы, которые выполняют требуемые вам операции, отличающиеся от стандартных. Например, пользовательский вариант обработчика некоторых Событий Построителя Отчетов. Дополнительно, в Построителе Отчетов вы можете заменить вызов стандартного построителя выражений (Expression Builder), для этого необходимо зарегистрировать ваш обработчик указанного события в соответствующей Таблице Регистрации Построителя Отчетов.
В данном параграфе описывается процесс присоединения вашего пользовательского Класса, который выполняет стандартные функции Построителя Выражений, в конце параграфа приводится пример, демонстрирующий создание Среды Данных разрабатываемого Отчета, которая доступна в Построителе выражений.
![]() |
---|
Если вы до настоящего момента не выполняли операций по Редактированию системной Таблицы Регистрации Построителя Отчетов, то рекомендуем вам сделать резервную Копию данной таблицы, как это описывается в следующем параграфе: Как: Добавить собственный Контроллер в Реестр Построителя Отчетов. |
![]() |
---|
Рассматриваемый материал данного параграфа предполагает, что системная переменная _REPORTBUILDERустановлена в стандартный Построитель Отчетов. Если эта переменная имеет пустое значение или указывает на построитель другого Разработчика ПО, то описываемые ниже процедуры могут либо не выполняться либо выполняться некорректно. Смотрите дополнительно раздел: _REPORTBUILDER, системная переменная. |
Для построения класса-оболочки GetExpression:
-
Создайте или отредактируйте класс библиотеки, в виде программного Кода:
MODIFY COMMAND c:\temp\mylibrary.prg
-
Определите требуемый Класс-Оболочку GetExpression, который осуществляет программный интерфейс с вашим Приложением (API), как рекомендуется в параграфе: Регистрационная Таблица Контроллера Событий в Построителе Отчетов. Для построения указанного Класса вы можете использовать приводимый ниже Образец некоторого Шаблона класса-оболочки. В данном примере обычный текст Этикетки заменяется простейшим боксом Ввода Данных.
-
Сохраните выполненные изменения.
![]() |
|
---|---|
DEFINE CLASS MyGetExpressionWrapper AS Custom |
Для регистрации вашего Класса-Оболочки в Таблице Построителя Отчетов:
-
Откройте диалоговый бокс Options (Параметры) Построителя Отчетов:
DO (_REPORTBUILDER)
-
Нажмите кнопку Explore Registry (Проводник Реестра).
-
Переместитесь на Запись в Таблице, которая имеет характеристику: Type = "G".
-
Измените данную запись следующим образом: Class =
"MyGetExpressionWrapper",
а имя Библиотеки: Library="c:\temp\mylibrary.prg"
-
Нажмите кнопку OK - для сохранения сделанных корректировок.
Для выполнения Тестовых проверок работоспособности сделанных изменений:
-
Откройте ваш Отчет или Этикетку в соответствующем Дизайнере.
-
Выполните "Double-click" на некотором объекте типа label, чтобы активировался Диалоговый бокс Properties (Характеристики).
-
Нажмите кнопку Выбора (многоточие) - (…) для определения значения рассматриваемого Контрола Отчета, далее работает программный код вашего пользовательского Класса.
Пример
По-умолчанию, при активации диалогового бокса Построителя Выражений из стандартного построителя Отчетов ReportBuilder.App,
открытые в глобальной Сессии Данных Таблицы не отображаются в
соответствующем Списке. Таблицы и Курсоры, прикрепленные к Среде Данных
создаваемого Отчета также являются недоступными.
Данный Сценарий использовался в Построителе Выражений для младших
версий VFP и используется в тех случаях, когда отключен Построитель
Отчетов (_REPORTBUILDER = ""
).
В следующем далее Примере демонстрируется, как вы можете определить Альтернативный Контроллер для отслеживания текущей Среды Данных, открытых Таблицах в приватной сессии, активации стандартного диалогового бокса GETEXPR, который повторяет и дублирует все необходимые функции обычного Построителя Выражений.
Вы можете сохранить описываемый Класс в Процедурном файле (.prg) и зарегистрировать его в Построителе Отчетов, как описано выше; дальнейшее использование данного Класса позволит вам более успешно использовать требуемые Источники Данных.
![]() |
|
---|---|
DEFINE CLASS GetExpressionWithDE AS Session |
См. также
Задачи
Как: Настроить управление Событиями в Построителе ОтчетовКак: Определить альтернативную Таблицу управления Событиями в Отчете
Описание
Event Handler Registry, диалоговый бокс (Построитель Отчетов)Report Builder Options, диалоговый бокс (Построитель Отчетов)
Таблица регистрации Контроллера Событий построителя Отчетов