Команда MapSetup

Назначение

Вызов стандартного диалога настройки свойств карты, расположенной на одном из листов регламентного отчета.

Параметры использования

Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать массив типа Variant, элементы которого содержат следующие значения:

Тип значения Описание
Элемент 1: IPrxMap Карта, для которой необходимо отобразить диалог настройки свойств.
Элемент 2: IPrxReport Регламентный отчет, на странице которого создана карта.
Элемент 3: PrxAdapterDataType Тип расположения данных для адаптера.
Необязательный элемент. Если элемент не задан, то при настройке слоев и показателей привязка может быть осуществлена как к листу с данными, так и к срезу данных.

Особенности применения

Команда может применяться только для регламентных отчетов. Результатом выполнения команды будет логическое значение True, если в диалоге была нажата кнопка «ОК» и False, если была нажата кнопка «Отмена».

Пример Fore

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox. На активной странице регламентного отчета, подключенного к компоненту «UiReport1», имеется карта с идентификатором «PrxMap1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Rep: IPrxReport;
    Map: IPrxMap;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    Data: Array;
Begin
    Rep := UiReport1.Instance As IPrxReport;
    Map := (Rep.ActiveSheet As IPrxTable).TabSheet.Objects.Object("PrxMap1"As IPrxMap;
    Target := WinApplication.Instance.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext;
    Data := New Variant[2];
    Data[0] := Map;
    Data[1] := Rep;
    Context.Data := Data;
    Target.Execute("MapSetup", Context);
End Sub Button1OnClick;

При нажатии на кнопку будет выведен стандартный диалог настройки свойств карты. Слои и показатели могут быть привязаны к данными, расположенными на листах, или к срезам данных.

Пример Fore.NET

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента ReportBoxNet и компонента UiReportNet с наименованием «UiReportNet1», являющегося источником данных для ReportBoxNet. На активной странице регламентного отчета имеется карта с идентификатором «PrxMap1».

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;
    Map: IPrxMap;
    WinApp: WinApplication = New WinApplicationClass_2();
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
    Data: Array;
Begin
    Rep := UiReportNet1.ReportUi.Report;
    Map := (Rep.ActiveSheet As IPrxTable).TabSheet.Objects.Object["PrxMap1"As IPrxMap;
    Target := WinApp.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext();
    Data := New Object[2];
    Data[0] := Map;
    Data[1] := Rep;
    Context.Data := Data;
    Target.Execute("MapSetup", Context, Null);
End Sub;

При нажатии на кнопку будет выведен стандартный диалог настройки свойств карты. Слои и показатели могут быть привязаны к данными, расположенными на листах, или к срезам данных.

См. также:

IUiCommandTarget.Execute