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(0) As 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[0] As IEaxAnalyzer).Grid;
//Вычисляем отчёт
Context.RecalcEaxObject[EaxObj] := TriState.tsOnOption;
Report.RecalcC(Context);
//Сохраняем результат вычисления
MObj.Save();
End Sub;
В результате выполнения примера будет произведено вычисление отчета.
См. также: