Slice : IPrxSlice;
Свойство Slice возвращает срез, который используется в качестве источника данных.
Для выполнения примера предполагается наличие регламентного отчета с идентификатором «REGULAR_REPORT», в котором добавлен срез данных на карту. Подключите системные сборки: Metabase, Report, Tab, Map.
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
Sheet: IPrxSheet;
PrxTable: IPrxTable;
Tab: ITabSheet;
Map: IMap;
PrxDA: IPrxMapDataAdapter;
Begin
MB := MetabaseClass.Active;
Report := MB.ItemById("REGULAR_REPORT").Edit As IPrxReport;
Sheet := Report.Sheets.Item(0);
PrxTable := Sheet As IPrxTable;
Tab := PrxTable.TabSheet;
Map := Tab.Objects.Item(0).Extension As IMap;
PrxDA := Map.Layers.FindByName("Regions").Visuals.Item(0).DataAdapter As IPrxMapDataAdapter;
Tab.CellValue(1, 1) := PrxDa.Slice.Name;
Debug.WriteLine("0-Объекта нет, 1-Карта, 2-График: " + PrxDA.Consumer.ToString);
(Report As IMetabaseObject).Save;
End Sub UserProc;
В заданную ячейку будет выведено наименование среза, который является источником для показателя. В окно консоли выведется тип объекта, который использует источник данных.
Пример Fore.NET
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Map;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
Sheet: IPrxSheet;
PrxTable: IPrxTable;
Tab: ITabSheet;
Map: IMap;
PrxDA: IPrxMapDataAdapter;
Begin
MB := Params.Metabase;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Sheet := Report.Sheets.Item[0];
PrxTable := Sheet As IPrxTable;
Tab := PrxTable.TabSheet;
Map := Tab.Objects.Item[0].Extension As IMap;
PrxDA := Map.Layers.FindByName["Regions"].Visuals.Item[0].DataAdapter As IPrxMapDataAdapter;
Tab.CellValue[1, 1] := PrxDa.Slice.Name;
System.Diagnostics.Debug.WriteLine("0-Объекта нет, 1-Карта, 2-График: " + PrxDA.Consumer.ToString());
(Report As IMetabaseObject).Save();
End Sub;
См. также: