Команда ObjectProperties

Назначение

Вызов стандартного диалога настройки свойств объекта/объектов листа.

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

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

Тип значения Описание
ITabObject Объект листа, для которого необходимо отобразить диалог настройки свойств.
Array Массив типа Variant. Каждый элемент массива - объект листа, описываемый интерфейсом ITabObject. Если тип элемента массива не ITabObject, то элемент игнорируется.

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

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

Пример Fore

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

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Report: IPrxReport;
    Sheet: ITabSheet;
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
Begin
    Report := UiReport1.Instance As IPrxReport;
    Sheet := (Report.ActiveSheet As IPrxTable).TabSheet;
    Target := WinApplication.Instance.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext;
    Context.Data := Sheet.Objects.Item(0);
    Target.Execute("ObjectProperties", Context);
End Sub Button1OnClick;

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

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.

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
    Report: IPrxReport;
    Sheet: ITabSheet;
    WinApp: WinApplication = New WinApplicationClass_2();
    Target: IUiCommandTarget;
    Context: IUiCommandExecutionContext;
Begin
    Report := UiReportNet1.ReportUi.Report;
    Sheet := (Report.ActiveSheet As IPrxTable).TabSheet;
    Target := WinApp.GetPluginTarget("Report");
    Context := Target.CreateExecutionContext();
    Context.Data := Sheet.Objects.Item[0];
    Target.Execute("ObjectProperties", Context, Null);
End Sub;

См. также:

IUiCommandTarget.Execute