Errors CompileReportsToAssembly

Обсуждение Stimulsoft Dashboards.WEB
Ответить
ohleg
Сообщения: 7
Зарегистрирован: 27 мар 2020, 08:26

Errors CompileReportsToAssembly

Сообщение 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?
Aleksey
Сообщения: 2752
Зарегистрирован: 22 апр 2010, 06:57

Re: Errors CompileReportsToAssembly

Сообщение Aleksey »

Здравствуйте,

Дашборды не поддерживают компиляцию.

Как вариант, вы можете сохранить снапшот дашборда (SaveSnapshot() метод) и в последующем его загружать.

Спасибо.
ohleg
Сообщения: 7
Зарегистрирован: 27 мар 2020, 08:26

Re: Errors CompileReportsToAssembly

Сообщение ohleg »

Код: Выделить всё

	var report= new StiReport();
	report.Load("DASHBOARD.mrt"));
	report.SaveSnapshot("snapshot_DASHBOARD.mrt")); //При debug уходит в функцию и ничего больше не происходит(ни дальнейшего продолжения кода, ни исключения). Сторону клиента приход ответ "Timeout"
ohleg
Сообщения: 7
Зарегистрирован: 27 мар 2020, 08:26

Re: Errors CompileReportsToAssembly

Сообщение ohleg »

Можете дать ссылку на документацию по snapshot'у? Или такой нет? Мне нужно понять, что будет на выходе с dashboard после использования функции SaveSnapshot()
Andrew
Сообщения: 586
Зарегистрирован: 09 июн 2006, 12:22

Re: Errors CompileReportsToAssembly

Сообщение Andrew »

Здравствуйте,

Возможно вам нужно это? https://admin.stimulsoft.com/documentat ... 1551c1.htm

Спасибо.
ohleg
Сообщения: 7
Зарегистрирован: 27 мар 2020, 08:26

Re: Errors CompileReportsToAssembly

Сообщение 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.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Errors CompileReportsToAssembly

Сообщение HighAley »

Здравствуйте.

К сожалению, дашборды не работают в режиме компиляции и их нельзя загрузить с помощью LoadDocument().
Об этом написано в последнем абзаце указанного вами раздела документации.

Спасибо.
ohleg
Сообщения: 7
Зарегистрирован: 27 мар 2020, 08:26

Re: Errors CompileReportsToAssembly

Сообщение 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);
Открывает пустую страницу
Aleksey
Сообщения: 2752
Зарегистрирован: 22 апр 2010, 06:57

Re: Errors CompileReportsToAssembly

Сообщение Aleksey »

Здравствуйте,

Нет, компиляция не поддерживается в дашбордах - ни для шаблона, ни для снапшота.

Спасибо.
Ответить