IPrxReportRecalcContext.RecalcEaxObject

Синтаксис

RecalcEaxObject(Obj: IEaxObject): TriState;

RecalcEaxObject(Obj: Prognoz.Platform.Interop.Express.IEaxObject]: Prognoz.Platform.Interop.ForeSystem.TriState;

Параметры

Obj. Объект отчёта.

Описание

Свойство RecalcEaxObject определяет, необходимо ли вычислить выбранный объект.

Пример

Для выполнения примера в репозитории необходимо наличие регламентного отчёта с идентификатором REGULAR_REPORT_DATAAREA.

Добавьте ссылки на системные сборки: Express, ForeSystem (для примеры на Fore.NET), Metabase, Report.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Context: IPrxReportRecalcContext;
    DataArea: IEaxDataArea;
    EaxObj: IEaxObject;
Begin
    // Получаем репозиторий
    MB := MetabaseClass.Active;
    
// Получаем отчёт
    MObj := MB.ItemById("REGULAR_REPORT_DATAAREA").Edit;
    Report := MObj 
As IPrxReport;
    
// Получаем контекст для вычисления
    Context := Report.CreateRecalcContext;
    Context.Clear;
    
//Получаем аналитическую область данных
    DataArea := Report.DataArea;
    
//Получаем таблицу экспресс-отчёта
    EaxObj := (DataArea.Views.Item(0As IEaxAnalyzer).Grid;
    
//Вычисляем отчёт
    Context.RecalcEaxObject(EaxObj) := TriState.OnOption;
    Report.RecalcC(Context);
    
//Сохраняем результат вычисления
    MObj.Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Report;


Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    Context: IPrxReportRecalcContext;
    DataArea: IEaxDataArea;
    EaxObj: IEaxObject;
Begin
    // Получаем репозиторий
    MB := Params.Metabase;
    
// Получаем отчёт
    MObj := MB.ItemById["REGULAR_REPORT_DATAAREA"].Edit();
    Report := MObj 
As IPrxReport;
    
// Получаем контекст для вычисления
    Context := Report.CreateRecalcContext();
    Context.Clear();
    
//Получаем аналитическую область данных
    DataArea := Report.DataArea;
    
//Получаем таблицу экспресс-отчёта
    EaxObj := (DataArea.Views.Item[0As IEaxAnalyzer).Grid;
    
//Вычисляем отчёт
    Context.RecalcEaxObject[EaxObj] := TriState.tsOnOption;
    Report.RecalcC(Context);
    
//Сохраняем результат вычисления
    MObj.Save();
End Sub;

В результате выполнения примера будет произведено вычисление отчета.

См. также:

IPrxReportRecalcContext