ActionType: TabHyperlinkActionType;
ActionType: Prognoz.Platform.Interop.Tab.TabHyperlinkActionType;
Свойство ActionType определяет тип действия, выполняемого при щелчке по гиперссылке.
Для выполнения примера предполагается наличие в репозитории регламентного отчета с идентификатором «REGULAR_REPORT». В отчёте имеется два листа с наименованиями «Лист1» и «Лист2». На первом листе расположена область данных с идентификатором «DATAISLAND», на втором листе - диаграмма с идентификатором «PrxChart1». Источник, на базе которого построена область данных, имеет в своей структуре измерение с идентификатором «D_TO».
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
DI: IPrxDataIsland;
DIC: IPrxDataIslandDimensionCommon;
Drill: IPrxDimensionDrill;
DimMode: IPrxSliceDimension;
Dim: IDimensionModel;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
DI := Report.DataIslands.FindById("DATAISLAND").Edit;
Dim := DI.Slice.Dimensions.FindById("D_TO").Dimension.Dimension;
DIC := DI.Properties.Dimension(Dim);
DIC.Drilled := TriState.OnOption;
Drill := DIC.Drill;
Drill.Mode := PrxDataDrillMode.Replace;
DimMode := Report.DataSources.Item(0).Slices.Item(1).Dimensions.FindById("D_TO");
Drill.Dimension := DimMode;
Drill.Index := DimMode.Dimension.Dimension.Indexes.PrimaryIndex;
Drill.Attribute := Dim.Attributes.Id;
Drill.Sheet := Null;
Drill.ActionType := TabHyperlinkActionType.ShowObject;
Drill.Action := "#Лист2!PrxChart1";
DI.Save;
Report.MetabaseObject.Save;
End Sub UserProc;
После выполнения примера при нажатии на гиперссылку будет производиться переход на второй лист отчета и позиционирование диаграммы по центру.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
DI: IPrxDataIsland;
DIC: IPrxDataIslandDimensionCommon;
Drill: IPrxDimensionDrill;
DimMode: IPrxSliceDimension;
Dim: IDimensionModel;
Begin
MB := Params.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
DI := Report.DataIslands.FindById("DATAISLAND").Edit();
Dim := DI.Slice.Dimensions.FindById("D_TO").Dimension.Dimension;
DIC := DI.Properties.Dimension[Dim];
DIC.Drilled := TriState.tsOnOption;
Drill := DIC.Drill;
Drill.Mode := PrxDataDrillMode.ddmReplace;
DimMode := Report.DataSources.Item[0].Slices.Item[1].Dimensions.FindById("D_TO");
Drill.Dimension := DimMode;
Drill.Index := DimMode.Dimension.Dimension.Indexes.PrimaryIndex;
Drill.Attribute := Dim.Attributes.Id;
Drill.Sheet := Null;
Drill.Action := "#Лист2!PrxChart1";
Drill.ActionType := TabHyperlinkActionType.thatShowObject;
DI.Save();
Report.MetabaseObject.Save();
End Sub;
После выполнения примера при нажатии на гиперссылку будет производиться переход на второй лист отчета и позиционирование диаграммы по центру.
См. также: