Страница 1 из 1
Errors CompileReportsToAssembly
Добавлено: 27 мар 2020, 09:22
ohleg
Добрый день!
У меня есть ошибка, когда я пытаюсь скомпилировать dashboard.mrt
Неявное преобразование типа "object" в "string" невозможно. Существует явное преобразование (возможно, отсутствует приведение)
Код: Выделить всё
StiReport FileReport = new StiReport();
FileReport.Load(Path.Combine(this.MrtPath, "DASHBOARD.mrt"));
CompilerResults res = FileReport.CompileReportsToAssembly(pathToAssembly, new StiReport[] { FileReport });
Задача в кратце.
Есть WebApi, который компилирует report.mrt, и отправляет на сторону клиента массив байтов для отображения отчетов. Как можно провернуть это с dashboard?
Re: Errors CompileReportsToAssembly
Добавлено: 30 мар 2020, 21:08
Aleksey
Здравствуйте,
Дашборды не поддерживают компиляцию.
Как вариант, вы можете сохранить снапшот дашборда (SaveSnapshot() метод) и в последующем его загружать.
Спасибо.
Re: Errors CompileReportsToAssembly
Добавлено: 31 мар 2020, 09:38
ohleg
Код: Выделить всё
var report= new StiReport();
report.Load("DASHBOARD.mrt"));
report.SaveSnapshot("snapshot_DASHBOARD.mrt")); //При debug уходит в функцию и ничего больше не происходит(ни дальнейшего продолжения кода, ни исключения). Сторону клиента приход ответ "Timeout"
Re: Errors CompileReportsToAssembly
Добавлено: 02 апр 2020, 14:44
ohleg
Можете дать ссылку на документацию по snapshot'у? Или такой нет? Мне нужно понять, что будет на выходе с dashboard после использования функции SaveSnapshot()
Re: Errors CompileReportsToAssembly
Добавлено: 04 апр 2020, 09:23
Andrew
Re: Errors CompileReportsToAssembly
Добавлено: 06 апр 2020, 16:54
ohleg
Нет.
Согласно
инструкции (Reports and Dashboards for Web > .NET Core > HTML5 вьювер > Отображение отчета и дашборда),
понял что скомпилированный Snapshot должен отображаться как и обычный отчет?
Делаю:
WebApi сохраняет dashboard_snapshot, компилирует его и отправляет в клиентскую часть как массив байтов
Код: Выделить всё
StiReport FileReport = new StiReport();
FileReport.Load(Path.Combine(this.MrtPath, "dashboard_snapshot.mrt"));
FileReport.CompileReportsToAssembly(pathToAssembly, new StiReport[] { FileReport });
На стороне клиента, получаем отчет и открываем через Viewer.
Код: Выделить всё
StiReport stiReport = new StiReport();
stiReport.LoadDocument(reportContentArrayBytes);
return await StiNetCoreViewer.GetReportResultAsync(this, stiReport);
В результате открывается пустой отчет.
Даже если убрать то что выполняется на стороне WebApi и грузить сразу из файла как в примере, то все равно открывается пустой отчет.
Если через интерфейс попробовать открыть этот snapshot(Open the previously saved report in the window of preview), то выходит ошибка:
You cannot load a report with dashboards.
You should use the Stimulsoft Dashboards.WEB products.
Re: Errors CompileReportsToAssembly
Добавлено: 08 апр 2020, 00:19
HighAley
Здравствуйте.
К сожалению, дашборды не работают в режиме компиляции и их нельзя загрузить с помощью LoadDocument().
Об этом написано в последнем абзаце указанного вами раздела документации.
Спасибо.
Re: Errors CompileReportsToAssembly
Добавлено: 08 апр 2020, 12:37
ohleg
Спасибо.
Т.е. скомпилировать нельзя и snapshot dashboard'a?
Т.к.:
Код: Выделить всё
StiReport dashboard = StiReport.CreateNewDashboard();
dashboard.Load(Path.Combine(this.MrtPath, "DASHBOARD.mrt"));
dashboard.SaveSnapshot(Path.Combine(this.MrtPath, "DASHBOARD_snapshot.mrt"));
Код: Выделить всё
StiReport FileReport = StiReport.CreateNewDashboard();
FileReport.Load(Path.Combine(this.MrtPath, "DASHBOARD_snapshot.mrt"));
FileReport.CompileReportsToAssembly(pathToAssembly, new StiReport[] { FileReport });
Передача на сторону клиента как массив байтов
На стороне клиента:
Код: Выделить всё
StiReport stiReport = StiReport.CreateNewDashboard();
var reportContentArrayBytes = await response.Content.ReadAsByteArrayAsync();
stiReport.Load(reportContentArrayBytes);
return await StiNetCoreViewer.GetReportResultAsync(this, stiReport);
Открывает пустую страницу
Re: Errors CompileReportsToAssembly
Добавлено: 14 апр 2020, 14:17
Aleksey
Здравствуйте,
Нет, компиляция не поддерживается в дашбордах - ни для шаблона, ни для снапшота.
Спасибо.