AllKeys: IVZStringArray;
Свойство AllKeys возвращает массив ключей областей слоя карты.
Для выполнения примера предполагается наличие в репозитории экспресс-отчёта с идентификатором EXPRESS. В отчёте содержится карта с областями и идентификатором слоя «Regions».
Добавьте ссылки на системные сборки: Metabase, Express, Visualizators.
Sub UserProc;
Var
Metabase: IMetabase;
EaxAnalyzer: IEaxAnalyzer;
EMap: IVZMapChart;
Layer: IVZMapChartLayer;
Shapes: IVZMapChartShapes;
Shape: IVZMapChartShape;
i, c: Integer;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById("EXPRESS").Bind As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
// Получим области
Shapes := Layer.Shapes;
c := Shapes.Count;
For i := 0 To c - 1 Do
Shape := Shapes.ItemByKey(Shapes.AllKeys.Item(i));
Debug.WriteLine(Shape.Name + " (ID=" + Shape.ShapeId + ')');
End For;
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;
Layer: IVZMapChartLayer;
Shapes: IVZMapChartShapes;
Shape: IVZMapChartShape;
i, c: Integer;
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
EaxAnalyzer := Metabase.ItemById["EXPRESS"].Bind() As IEaxAnalyzer;
// Получим карту экспресс-отчета в качестве визуализатора
EMap := EaxAnalyzer.MapChart.MapChart;
// Получим слой из карты
Layer := EMap.RootLayer.LayerById("Regions");
// Получим области
Shapes := Layer.Shapes;
c := Shapes.Count;
For i := 0 To c - 1 Do
Shape := Shapes.ItemByKey[Shapes.AllKeys.Item[i]];
System.Diagnostics.Debug.WriteLine(Shape.Name + " (ID=" + Shape.ShapeId + ')');
End For;
End Sub;
При выполнении примера в консоль среды разработки будут выведены наименования и идентификаторы всех областей слоя «Regions».
См. также: