Вызов стандартного диалога пакетного экспорта регламентного отчета, с возможностью задания дополнительных параметров открытия диалога.
Параметры команды передаются в свойстве Data. Для работы команды в данном свойстве необходимо указать массив типа Variant, элементы которого содержат следующие значения:
Тип значения | Описание |
Элемент 1: IPrxReport | Регламентный отчет, для которого вызывается диалог пакетного экспорта. |
Элемент 2: IPrxBulkSelectionSet | Отметка измерений, допустимых для использования при пакетном экспорте. Указанная отметка будет установлена для измерений на первой странице диалога. В дальнейшем может быть изменена. |
Элемент 3: PrxEnableExportFormats | Список форматов экспорта, которые будут доступны для выбора в диалоге. |
Элемент 4: Boolean | Флаг, определяющий будет ли присутствовать в диалоге кнопка для указания дополнительных параметров экспорта в выбранный формат. Допустимые значения флага:
|
Элемент 5: Boolean | Флаг, определяющий будут ли возможность указать результат экспорта: в один файл или в несколько файлов. Допустимые значения флага:
|
Команда может применяться только для регламентных отчетов. После указания в диалоге необходимых параметров и нажатия кнопки «Готово» фактический экспорт не производится. Результатом выполнения команды будет массив, содержащий следующие элементы:
Тип значения | Описание |
Элемент 1: Boolean | Результат закрытия диалога:
|
Элемент 2: PrxEnableExportFormats | Выбранный формат экспорта. |
Элемент 3: String | Путь для сохранения экспортированного файла(ов). |
Элемент 4: Boolean | Флаг, указывающий результат экспорта:
|
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием "Button1", компонента ReportBox и компонента UiReport с наименованием «UiReport1», являющегося источником данных для ReportBox. Компонент «UiReport1» подключен к какому-либо регламентному отчету, для которого доступен пакетный экспорт.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Rep: IPrxReport;
SelSet: IPrxBulkSelectionSet;
Target: IUiCommandTarget;
Context: IUiCommandExecutionContext;
Data: Array;
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;
Data := New Variant[5];
Data[0] := Rep;
Data[1] := SelSet;
Data[2] := PrxEnableExportFormats.All;
Data[3] := True;
Data[4] := False;
Context.Data := Data;
Res := Target.Execute("ShowBulkExportDialogEx", Context);
End Sub Button1OnClick;
При нажатии на кнопку будет открыт диалог пакетного экспорта отчета. В диалоге будут отмечены все элементы в первом измерении, будет возможен выбор любого из доступных форматов экспорта и настройка дополнительных параметров выбранного формата. После нажатия кнопки «Готово» результаты всех настроек будут доступны в виде массива в переменной «Res».
См. также: