ReportManager.GetPreparedReportInfo
данный метод вызывается с семью параметрами , первые два из которых :
int[] idList,
Lers.Interop.ReportOptionsObject reportOptions,
Напишите что это. В описании фреймворка отсутствует метод GetPreparedReportInfo. Но параметр idList есть у метода
ReportManager.GenerateSummaryReportAsync, правда описания тоже нет.
Действительно, эта функция не описана в текущей документации. Описание сейчас есть, но опубликовано будет только после выхода версии R21, так как в ней интерфейс Framework будет несколько изменён и публиковать документацию сейчас особого смысла нет.
Вот описание этого параметра в нашем исходном коде:
/// <summary>
/// Запрашивает информацию по сформированным и сохраненным отчетам синхронно.
/// </summary>
/// <param name="idList">
/// Список идентификаторов сущностей, для которых нужно получить сохранённые отчёты.
/// Перечень сущностей находится в перечислении <see cref="ReportEntity"/> .
/// </param>
/// <param name="reportOptions">Дополнительные параметры отчета задаваемые пользователем <see cref="Interop.ReportOptionsObject"/>.</param>
/// <param name="reportEntity">Тип объектов <see cref="ReportEntity"/>, которые используются в отчетной форме.</param>
/// <param name="reportType">Тип отчета <see cref="ReportType"/>.</param>
/// <param name="dataType">Тип данных для отображения в отчетной форме <see cref="DeviceDataType"/>.</param>
/// <param name="startDate">Начальная дата периода.</param>
/// <param name="endDate">Конечная дата периода.</param>
/// <returns>Экземпляр класса <see cref="XtraReport"/></returns>
Спасибо за расшифровку, но мне все равно не понятно, что такое idlist.
У меня в два варианта:
массив, содержащий id точек учета или объектов учета.
массив, содержащий свойста ID элементов Lers.Reports.Report
Не тот не другой вариант не заработал.
Отчеты в базе для точки 4 и 5 сохранены. Очень хочется их получить и экспортировать в файл xlsx на разные листы.
Действительно, в ЛЭРС УЧЁТ версии R20 этот метод не правильно обрабатывал входные параметры.
В ЛЭРС УЧЁТ версии R21 будет изменена сигнатура методов ReportManager.GetPreparedReportInfo и ReportManager.GetPreparedReportInfoAsync
Из них будет удалён не несущий смысловой нагрузки параметр reportOptions. При использовании этого метода в своих модулях, удалите этот параметр.
/// <summary>
/// Запрашивает информацию по сформированным и сохраненным отчетам синхронно.
/// </summary>
/// <param name="idList">
/// Список идентификаторов сущностей, для которых нужно получить сохранённые отчёты.
/// Перечень сущностей находится в перечислении <see cref="ReportEntity"/> .
/// </param>
/// <param name="reportEntity">Тип объектов <see cref="ReportEntity"/>, которые используются в отчетной форме.</param>
/// <param name="reportType">Тип отчета <see cref="ReportType"/>.</param>
/// <param name="dataType">Тип данных для отображения в отчетной форме <see cref="DeviceDataType"/>.</param>
/// <param name="startDate">Начальная дата периода.</param>
/// <param name="endDate">Конечная дата периода.</param>
/// <returns>Экземпляр класса <see cref="XtraReport"/></returns>
Из класса ReportOptionsObject удалено поле bool GetPreparedReport.
Изменена сигнатура методов ReportManager.GeneratePreparedReport и ReportManager.GeneratePreparedReportAsync. Вместо класса ReportOptionsObject они принимают идентификатор отчёта, который нужно получить.
Из класса ReportOptionsObject удалено поле int? PreparedReportId. Идентификатор теперь будет передаваться в методы напрямую.
В продолжение разговора задам вопрос.
Когда я формирую руками отчет для нескольких объектов, отчет формируется в виде единого файла. Далее я его экспортирую в один файл xlsx на разные листы.
Если же отчет формируется автоматически, то в базе он разбивается на составляющие и сохраняется для каждого объекта свой файл отчета. Естественно экспортировать все в отдельный файл не получается.
Может быть можно с помощью метода GenerateReport сформировать отчет для нескольких объектов и затем экспортировать его в один файл xlsx? Как это правильно сделать?
В ЛЭРС УЧЕТ версии R22 будет реализовано сохранение в папку автоматически формируемых отчетов.
Отчет можно будет сохранять как в базу, так и в папку.
Имя папки для выгрузки сформированного отчета можно будет задавать при настройке параметров задания на автоматическое формирование. Для объединения нескольких книг в листы одной книги можно использовать макрос.