Информация

 

Файл формата Stimulsoft MRT - это описание отчетов с разметкой XML или JSON. Вы можете использовать MRT-файлы, созданные в других дизайнерах Stimulsoft.

 

 

 

Для загрузки отчета при помощи Python кода можно использовать одну из перечисленных ниже функций у объекта StiReport. Каждая из функций принимает на вход имя файла отчета либо сам отчет в виде строки:

 

Наименование

Описание

loadFile(filePath: str, load: bool = False)

Загружает отчет из MRT файла на стороне клиента, путь к которому указан в аргументах функции. Если параметр load установлен в значение True, файл отчета будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки.

load(data: str, fileName: str = 'Report')

Загружает отчет из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета.

loadPacked(data: str, fileName: str = 'Report')

Передает на сторону клиента отчет в виде упакованной Base64 строки, заданной в параметре data. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета.

 

 

Например, требуется загрузить отчет из файла на стороне сервера из приватной директории и передать его на сторону клиента:

 

app.py

 

from stimulsoft_reports.report import StiReport

 

report = StiReport()

report.loadFile(url_for('private', filename='reports/SimpleList.mrt'), True)

report.render()

 

 

 

Так как генератор отчетов для Python основан на JavaScript платформе и выполняет построение и экспорт отчета на стороне клиента, то для сохранения шаблона отчета или документа необходимо воспользоваться событиями и JavaScript функциями. Более подробно про это указано в разделе События генератора отчетов. Пример сохранения построенного отчета в виде строки может быть реализован таким способом:

 

app.py

 

from stimulsoft_reports.report import StiReport

 

report = StiReport()

report.onAfterRender += 'afterRender'

report.loadFile(url_for('private', filename='reports/SimpleList.mrt'), True)

report.render()

 

 

report.html

 

<script>

  function afterRender(args) {

      let json = args.report.saveDocumentToJsonString();

   }

</script>

 

 

Информация

 

Генератор отчетов Stimulsoft Reports.PYTHON и аналитические панели Stimulsoft Dashboards.PYTHON поддерживают сохранение файлов MRT только в JSON формат. MRT-файлы в формате XML поддерживаются только в режиме загрузки, и при сохранении будут автоматически преобразованы в JSON формат.

 

 

 

Загрузка и сохранение документов (построенных отчетов)

Построенный отчет можно сохранить в виде документа в JSON формате для последующего просмотра либо экспортирования. Такой документ содержит построенные страницы отчета, но не содержит исходных данных и не сохраняет подключение к ним.

 

Для загрузки документа при помощи Python кода можно использовать одну из перечисленных ниже функций у объекта StiReport. Каждая из функций принимает на вход имя файла документа либо сам документ в виде строки:

 

Наименование

Описание

loadDocumentFile(filePath: str, load: bool = False)

Загружает документ из MDC файла на стороне клиента, путь к которому указан в параметрах функции. Если параметр load установлен в значение True, файл документа будет загружен на стороне сервера и передан на сторону клиента в виде упакованной Base64 строки.

loadDocument(data: str, fileName: str = 'Report')

Загружает документ из XML или JSON строки и передает его на сторону клиента в виде упакованной Base64 строки. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета.

loadPackedDocument(data: str, fileName: str = 'Report')

Передает на сторону клиента документ в виде упакованной Base64 строки, заданной в параметре data. Параметр fileName устанавливает имя файла, которое будет использоваться для последующего сохранения и экспорта отчета.

 

 

Например, требуется загрузить документ из файла и выполнить его экспортирование:

 

app.py

 

from stimulsoft_reports.report import StiReport

 

report = StiReport()

report.loadDocumentFile(url_for('static', filename='reports/SimpleList.mdc'))

report.exportDocument(StiExportFormat.HTML)

 

 

Информация

 

Так как для аналитических панелей всегда нужны данные, они не могут быть сохранены в виде документа. Stimulsoft Dashboards.PYTHON поддерживает сохранение панелей только в виде шаблона.

 

 

Информация

 

При сохранении документа из меню вьювера, файл также сохраняется в JSON формате, и имеет расширение MDC для стандартного документа, MDZ для упакованного документа, MDX для зашифрованного документа.