EaxVisualizer: IEaxVisualizer;
EaxVisualizer: Prognoz.Platform.Interop.Express.IEaxVisualizer;
Свойство EaxVisualizer определяет тип визуализатора в регламентном отчете.
Доступные типы визуализаторов указаны в перечислении EaxObjectType.
Для выполнения примера в репозитории необходимо наличие:
регламентного отчета с идентификатором «REG_REPORT_VISUALIZER». Отчет построен на основе источника данных - куб;
карты с идентификатором «Map».
Добавьте ссылки на системные сборки: Drawing, Express, Metabase, Report, Tab, Topobase.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
ActiveSheet: IPrxSheet;
Table: IPrxTable;
Objects: ITabObjects;
AddObj: ITabObject;
Obj: IPrxVisualizer;
DA: IEaxDAtaArea;
Slice: IEaxDataAreaSlice;
SlObj: IEaxObject;
MapChart: IEaxMapChart;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим регламентный отчет
Report := MB.ItemById("REG_REPORT_VISUALIZER").Edit As IPrxReport;
// Создадим новый объект «визуализатор»
ActiveSheet := Report.ActiveSheet;
Table := ActiveSheet As IPrxTable;
Objects := Table.TabSheet.Objects;
AddObj := Objects.Add("PrxVisualizer", New GxRectF.Create(0, 0, 100, 100));
Obj := AddObj.Extension As IPrxVisualizer;
// Получим аналитическую область данных
DA := Report.DataArea;
// Получим срез данных
Slice := DA.Slices.Item(0);
// В качестве визуализатора добавим карту
SlObj := Slice.Views.AddByType(EaxObjectType.MapChart) As IEaxVisualizer;
Obj.EaxVisualizer := SlObj As IEaxVisualizer;
MapChart := Obj.EaxVisualizer As IEaxMapChart;
MapChart.Enabled := True;
MapChart.Visible := True;
MapChart.Topobase := MB.ItemById("Map").Edit As ITopobase;
// Обновим карту
MapChart.Refresh;
// Сохраним изменения
(Report As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера в заданном регламентном отчете будет создан визуализатор на основе карты.
Необходимые требования и результат выполнения примера Fore совпадают с примером Fore.NET.
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Topobase;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
ActiveSheet: IPrxSheet;
Table: IPrxTable;
Objects: ITabObjects;
AddObj: ITabObject;
Rect: GxRectF = New GxRectFClass();
Obj: IPrxVisualizer;
DA: IEaxDAtaArea;
Slice: IEaxDataAreaSlice;
SlObj: IEaxObject;
MapChart: IEaxMapChart;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим регламентный отчет
Report := MB.ItemById["REG_REPORT_VISUALIZER"].Edit() As IPrxReport;
// Создадим новый объект «визуализатор»
ActiveSheet := Report.ActiveSheet;
Table := ActiveSheet As IPrxTable;
Objects := Table.TabSheet.Objects;
Rect.Create(0, 0, 100, 100);
AddObj := Objects.Add("PrxVisualizer", Rect);
Obj := AddObj.Extension As IPrxVisualizer;
// Получим аналитическую область данных
DA := Report.DataArea;
// Получим срез данных
Slice := DA.Slices.Item[0];
// В качестве визуализатора добавим карту
SlObj := Slice.Views.AddByType(EaxObjectType.eotMapChart) As IEaxVisualizer;
Obj.EaxVisualizer := SlObj As IEaxVisualizer;
MapChart := Obj.EaxVisualizer As IEaxMapChart;
MapChart.Enabled := True;
MapChart.Visible := True;
MapChart.Topobase := MB.ItemById["Map"].Edit() As Topobase;
// Обновим карту
MapChart.Refresh();
// Сохраним изменения
(Report As IMetabaseObject).Save();
End Sub;
См. также: