Из-за внушительной функциональности продукта, скрипты имеют достаточно большой размер. При первой загрузке Web приложения, либо при отключенном кэшировании браузера, загрузка может занимать некоторое время, особенно при низкоскоростном интернет-соединении. Мы предлагаем два варианта решения этой проблемы: использовать упакованные скрипты, либо использовать частичный функционал, и загружать только то, что требуется.

 

 

Упакованные скрипты

Упакованные скрипты имеют такую же структуру, что и обычные скрипты, но имеют окончание *.pack.js в имени файла. Такие скрипты содержат блок упакованных данных в виде JavaScript переменной, и компактный распаковщик. При загрузке всех скриптов, распаковщик автоматически распаковывает все загруженные данные, и запускает подготовленный скрипт на выполнение. Распаковка занимает некоторое время, но при определенных обстоятельствах - например, при медленном интернет соединении - это время намного меньше, чем скорость загрузки обычных скриптов.

 

Для использования упакованных скриптов все, что вам понадобится сделать - это установить свойство javascript.usePacked у объекта отчета в значение True, например:

 

app.py

 

report = StiReport()

report.javascript.usePacked = True

 

 

 

Частичная загрузка скриптов

При развертывании генератора отчетов, по умолчанию загружается только один файл со скриптами stimulsoft.reports.js, который содержит в себе весь функционал по построению и экспортированию отчетов. Если для генерации отчетов вам требуются только некоторые из возможностей, предусмотрена загрузка только необходимых частей генератора, содержащих определенный набор возможностей. Например, если в ваших отчетах не используются карты, то их можно не загружать. Это ускорит загрузку Web проекта и уменьшит потребление памяти браузером.

 

Информация

 

Данная возможность реализована только для движка генератора отчетов, вьювер и дизайнер нельзя разделить на части, их скрипты будут загружаться целиком одним блоком.

 

 

 

Для использования частичной загрузки скриптов, достаточно установить нужные опции для свойства javascript у объекта отчета:

 

app.py

 

from stimulsoft_reports.report import StiReport

 

report = StiReport()

 

report.javascript.reportsSet = False

report.javascript.reportsChart = True

report.javascript.reportsExport = True

report.javascript.reportsImportXlsx = True

report.javascript.reportsMaps = True

 

 

 

Каждая опция свойства javascript управляет загрузкой скрипта, содержащего определенный функционал. В данной таблице представлен весь набор скриптов, которые можно загрузить раздельно:

 

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

Описание

javascript.reportsSet

Содержит полный набор скриптов для работы с генератором отчетов. Необходимо установить в значение False при использовании частичной загрузки скриптов.

javascript.reportsExport

Содержит алгоритмы для экспортирования построенного отчета в различные форматы - PDF, HTML, Excel, RichText и другие.

javascript.reportsChart

Содержит компоненты для работы со всеми типами диаграмм в отчете.

javascript.reportsMaps

Содержит компоненты для работы с региональными и онлайн картами.

javascript.blocklyEditor

Содержит визуальный редактор Blockly для создания скриптов событий в отчете. Сам обработчик событий встроен в движок отчетов.

javascript.reportsImportXlsx

Содержит алгоритмы для работы с Excel источниками данных.

 

Информация

 

Компоненты вьювер отчетов и дизайнер отчетов также имеют свойство javascript, при помощи которого можно управлять настройкой скриптов указанным выше способом.