Из-за внушительной функциональности продукта, скрипты имеют достаточно большой размер. При первой загрузке 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, при помощи которого можно управлять настройкой скриптов указанным выше способом.