Вывод стандартного диалога настройки пакетной печати регламентного отчета, с возможностью задания дополнительных параметров открытия диалога.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать следующее значение:
Тип значения | Описание |
IPrxBulkSelectionSet | Отметка измерений, допустимых для использования при пакетной печати. Указанная отметка будет установлена для измерений на первой странице диалога. В дальнейшем может быть изменена. |
Команда может применяться только для регламентных отчетов. После указания в диалоге необходимых параметров и нажатия кнопки «Печать» фактическая печать произведена будет. Результатом выполнения команды будет флаг, значение которого указывает была ли нажата кнопка «Печать» (значение True) или кнопка «Отмена» (значение False).
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox. Компонент «UiReport1» подключен к какому-либо регламентному отчету, для которого доступна пакетная печать.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Rep: IPrxReport;
SelSet: IPrxBulkSelectionSet;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Res: Variant;
Begin
Rep := UiReport1.Instance As IPrxReport;
SelSet := Rep.GetBulkSelectionSet("1,2");
//Отметка всех элементов первого измерения
//Данная отметка будет отображена для измерения в диалоге
SelSet.Item(0).Selection.SelectAll;
Target := WinApplication.Instance.GetPluginTarget("Report");
Context := Target.CreateExecutionContext;
Context.Data := SelSet;
Res := Target.Execute("ShowBulkPrintDialogEx", Context);
End Sub Button1OnClick;
При нажатии на кнопку будет открыт диалог пакетной печати отчета. В диалоге будут отмечены все элементы в первом измерении. Результат закрытия диалога будет доступен в переменной «Res».
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента ReportBoxNet и компонента UiReportNet с наименованием «UiReportNet1», являющегося источником данных для ReportBoxNet. Компонент «UiReportNet1» подключен к какому-либо регламентному отчету, для которого доступна пакетная печать.
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
WinApp: WinApplication = New WinApplicationClass_2();
Rep: IPrxReport;
SelSet: IPrxBulkSelectionSet;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Res: Object;
Begin
Rep := UiReportNet1.ReportUi.Report;
SelSet := Rep.GetBulkSelectionSet("1,2");
//Отметка всех элементов первого измерения
//Данная отметка будет отображена для измерения в диалоге
SelSet.Item[0].Selection.SelectAll();
Target := WinApp.GetPluginTarget("Report");
Context := Target.CreateExecutionContext();
Context.Data := SelSet;
Res := Target.Execute("ShowBulkPrintDialogEx", Context, Null);
End Sub;
При нажатии на кнопку будет открыт диалог пакетной печати отчета. В диалоге будут отмечены все элементы в первом измерении. Результат закрытия диалога будет доступен в переменной «Res».
См. также: