Topobase: ITopobase;
Topobase: Prognoz.Platform.Interop.Topobase.Topobase;
Свойство Topobase определяет топооснову, на базе которой строится карта экспресс-отчета.
В топооснове картографические данные содержатся в виде набора слоёв. Каждый слой описан специальными атрибутами и представят собой отдельный класс картографических данных. Например, слой с координатами городов или слой, описывающий контуры государств.
Для сброса топоосновы на заданную в репозитории по умолчанию используйте метод IEaxDataAreaSlice.ResetTopobase.
Для выполнения примера в репозитории необходимо наличие карты с идентификатором «RF» и экспресс-отчета с идентификатором «EXPRESS_TOPOBASE». Отчет должен содержать карту.
Добавьте ссылки на системные сборки: Express, Metabase, Topobase.
Sub UserProc;
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
DataArea: IEaxDataArea;
Slice: IEaxDataAreaSlice;
Begin
// Получим репозиторий
MB := MetabaseClass.Active;
// Получим экспресс-отчет
Analyzer := MB.ItemById("EXPRESS_TOPOBASE").Edit As IEaxAnalyzer;
// Получим область данных
DataArea := Analyzer.DataArea;
// Получим срез данных
Slice := DataArea.Slices.Item(0);
// Определим топооснову
Slice.Topobase := MB.ItemById("RF").Bind As ITopobase;
Analyzer.MapChart.Visible := True;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера будет определена новая топооснова, на базе которой будет построена карта в экспресс-отчете.
Необходимые требования и результат выполнения примера Fore совпадают с примером Fore.NET.
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Topobase;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Analyzer: IEaxAnalyzer;
DataArea: IEaxDataArea;
Slice: IEaxDataAreaSlice;
Begin
// Получим репозиторий
MB := Params.Metabase;
// Получим экспресс-отчет
Analyzer := MB.ItemById["EXPRESS_TOPOBASE"].Edit() As IEaxAnalyzer;
// Получим область данных
DataArea := Analyzer.DataArea;
// Получим срез данных
Slice := DataArea.Slices.Item[0];
// Определим топооснову
Slice.Topobase := MB.ItemById["RF"].Bind() As Topobase;
Analyzer.MapChart.Visible := True;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save();
End Sub;
См. также: