ReportEvents.OnBeforeOpenReport

Синтаксис

Sub OnBeforeOpenReport(Report: IPrxReport; Var Cancel: Boolean);

Begin

// набор операторов

End Sub OnBeforeOpenReport;

Параметры

Report - регламентный отчет, сгенерировавший событие.

Cancel - данный параметр отвечает за открытие отчета. При значении данного параметра True регламентный отчет открыт не будет, при значении False - отчет будет открыт.

Описание

Метод OnBeforeOpenReport реализует событие, происходящее перед открытием регламентного отчета.

Комментарии

Если в событии OnBeforeOpenReport поменять отметку в измерении среза данных, к которому привязан элемент управления, то отчет (ReportEvents.OnAfterExecuteReport, ReportEvents.OnBeforeExecuteReport) и его листы (ReportEvents.OnAfterRecalcSheet, ReportEvents.OnBeforeRecalcSheet) будут вычисляться дважды. Для обхода данной особенности используйте алгоритм:

  1. Отключите вычисление листа(ов), к которому(ым) привязан элемент управления. Для этого свойство IPrxControl.AutoRecalc должно принять значение False.

  2. Если используется аналитическая область данных, то выключаем вычисление таблицы. Для этого свойство IPivot.EventsEnabled должно принять значение False.

  3. Измените отметку в измерении среза данных.

  4. Если используется аналитическая область данных, то включаем вычисление таблицы. Для этого свойство IPivot.EventsEnabled должно принять значение True.

  5. Включите вычисление листа(ов), к которому(ым) привязан элемент управления. Для этого свойство IPrxControl.AutoRecalc должно принять True.

Примечание. Если используется обычная область данных, то пункты 2 и 4 следует пропустить.

См. также:

ReportEvents