Execute;
Метод Execute вычисляет срез даных, результатом вычисления является многомерная матрица, которую можно получить используя свойство Matrix.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «Report», на котором расположена область данных. В модуле подключите системные сборки: Metabase, Report.
Sub Main;
Var
MB: IMetabase;
Report: IPrxReport;
DtSources: IPrxDataSources;
Slices: IPrxSlices;
Slice: IPrxSlice;
Matrix: IMatrixModel;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("Report").Bind As IPrxReport;
DtSources := Report.DataSources;
Slices := DtSources.Item(0).Slices;
Slice := Slices.Item(0);
Slice.Execute;
Matrix := Slice.Matrix;
Debug.WriteLine(Matrix.DimensionCount);
End Sub Main;
После выполнения примера в переменной «Matrix» будет содержаться многомерная матрица, которая является результатом выполнения первого среза источника данных регламентного отчета. В консоль будет выведено количество измерений данного среза.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «Report», на котором расположена область данных. В модуле подключите системные сборки: Metabase, Report, Matrix, ForeSystem.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Matrix;
Imports Prognoz.Platform.Interop.ForeSystem;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
DtSources: IPrxDataSources;
Slices: IPrxSlices;
Slice: IPrxSlice;
Matrix: IMatrixModel;
Begin
MB := Params.Metabase;
Report := MB.ItemById["Report"].Bind() As IPrxReport;
DtSources := Report.DataSources;
Slices := DtSources.Item[0].Slices;
Slice := Slices.Item[0];
Slice.Execute();
Matrix := Slice.Matrix;
System.Diagnostics.Debug.WriteLine(Matrix.DimensionCount);
End Sub;
Результат выполнения примера Fore.NET совпадает с результатом выполнения примера Fore.
См. также: