Name: String;
Name: System.String;
Свойство Name определяет наименование области слоя карты.
Для выполнения примера предполагается наличие в репозитории экспресс-отчёта с идентификатором EXPRESS. В отчёте содержится карта с областями и идентификатором слоя «Regions».
Добавьте ссылки на системные сборки: Metabase, Express, Visualizators.
Sub UserProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
MapShape: IVZMapChartShape;
Layer: IVZMapChartLayer;
ShapeId: String;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById("EXPRESS").Bind As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
// Выберем область
ShapeId := Layer.Shapes.Item(20).ShapeId;
MapShape := Layer.ShapeById(ShapeId);
// Отметим область на карте
MapShape.Selected := True;
Debug.WriteLine("Наименование активной области карты: " + MapShape.Name);
Debug.WriteLine("Наименование родительского слоя карты: " + MapShape.ParentLayer.Name);
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
MapShape: IVZMapChartShape;
Layer: IVZMapChartLayer;
ShapeId: String;
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Bind() As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
// Выберем область
ShapeId := Layer.Shapes.Item[20].ShapeId;
MapShape := Layer.ShapeById(ShapeId);
// Отметим область на карте
MapShape.Selected := True;
System.Diagnostics.Debug.WriteLine("Наименование активной области карты: " + MapShape.Name);
System.Diagnostics.Debug.WriteLine("Наименование родительского слоя карты: " + MapShape.ParentLayer.Name);
End Sub;
После выполнения примера в консоль будет выведено наименование активной области и наименование родительского слоя карты.
См. также: