Вызов стандартного диалога настройки параметров расшифровки территорий карты, расположенной на одном из листов регламентного отчета.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать массив типа Variant, элементы которого содержат следующие значения:
Тип значения | Описание |
Элемент 1: IPrxMapTerritoryInfo | Расшифровка территорий карты, для которой необходимо отобразить диалог настройки параметров. |
Элемент 2: IPrxReport | Регламентный отчет, на странице которого создана карта и расшифровка территорий. |
Команда может применяться только для регламентных отчетов. Результатом выполнения команды будет логическое значение True, если в диалоге была нажата кнопка «ОК» и False, если была нажата кнопка «Отмена».
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox. На активной странице регламентного отчета, подключенного к компоненту «UiReport1», имеется карта и легенда карты с идентификатором «PrxMapLegend1».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Rep: IPrxReport;
TerrInfo: IPrxMapTerritoryInfo;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Data: Array;
Begin
Rep := UiReport1.Instance As IPrxReport;
TerrInfo := (Rep.ActiveSheet As IPrxTable).TabSheet.Objects.Object("PrxMapTerritoryInfo1") As IPrxMapTerritoryInfo;
Target := WinApplication.Instance.GetPluginTarget("Report");
Context := Target.CreateExecutionContext;
Data := New Variant[2];
Data[0] := TerrInfo;
Data[1] := Rep;
Context.Data := Data;
Target.Execute("MapTerritoryInfoSetup", Context);
End Sub Button1OnClick;
При нажатии на кнопку будет выведен стандартный диалог настройки параметров расшифровки территорий карты.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента ReportBoxNet и компонента UiReportNet с наименованием «UiReportNet1», являющегося источником данных для ReportBoxNet. На активной странице регламентного отчета, подключенного к компоненту «UiReportNet1», имеется карта и легенда карты с идентификатором «PrxMapLegend1».
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Rep: IPrxReport;
TerrInfo: IPrxMapTerritoryInfo;
WinApp: WinApplication = New WinApplicationClass_2();
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Data: Array;
Begin
Rep := UiReportNet1.ReportUi.Report;
TerrInfo := (Rep.ActiveSheet As IPrxTable).TabSheet.Objects.Object["PrxMapTerritoryInfo1"] As IPrxMapTerritoryInfo;
Target := WinApp.GetPluginTarget("Report");
Context := Target.CreateExecutionContext();
Data := New Object[2];
Data[0] := TerrInfo;
Data[1] := Rep;
Context.Data := Data;
Target.Execute("MapTerritoryInfoSetup", Context, Null);
End Sub;
При нажатии на кнопку будет выведен стандартный диалог настройки параметров расшифровки территорий карты.
См. также: