LeftHeader: IPrxSliceHeader;
LeftHeader: Prognoz.Platform.Interop.Report.IPrxSliceHeader;
Свойство LeftHeader возвращает объект, содержащий все измерения среза, расположенные по строкам.
Для получения объектов, содержащих все фиксированные измерения среза и все измерения среза, расположенные по столбцам, используйте свойства IPrxSlice.FixedHeader и IPrxSlice.TopHeader соответственно.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REPORT».
Добавьте ссылки на системные сборки Metabase, Report.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slices: IPrxSlices;
Slice: IPrxSlice;
LeftSlice: IPrxSliceHeader;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REPORT").Bind As IPrxReport;
DtSources := Report.DataSources;
DtSource := DtSources.Item(0);
Slices := DtSources.Item(0).Slices;
Slice := Slices.Item(0);
Slice.Execute;
LeftSlice := Slice.LeftHeader;
Debug.WriteLine("Наименования измерений первого среза, расположенного по строкам:");
For i := 0 To LeftSlice.Count-1 Do
Debug.WriteLine((i+1).ToString + ". " + LeftSlice.Item(i).Name);
End For;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены наименования измерений первого среза, расположенных по строкам.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Report;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
DtSources: IPrxDataSources;
DtSource: IPrxDataSource;
Slices: IPrxSlices;
Slice: IPrxSlice;
LeftSlice: IPrxSliceHeader;
Begin
MB := Params.Metabase;
Report := MB.ItemById["REPORT"].Bind() As IPrxReport;
DtSources := Report.DataSources;
DtSource := DtSources.Item[0];
Slices := DtSources.Item[0].Slices;
Slice := Slices.Item[0];
Slice.Execute();
LeftSlice := Slice.LeftHeader;
System.Diagnostics.Debug.WriteLine("Наименования измерений первого среза, расположенного по строкам:");
For i := 0 To LeftSlice.Count-1 Do
System.Diagnostics.Debug.WriteLine((i+1).ToString() + ". " + LeftSlice.Item[i].Name);
End For;
End Sub;
См. также: