Вьювер отчетов поддерживает события, которые предоставляют возможность выполнить необходимые операции перед определенными действиями - как на стороне JavaScript клиента, так и на стороне Python сервера. Подробное описание работы событий находится в разделе События генератора отчетов.

 

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

 

app.py

 

from stimulsoft_reports.enums import StiEventType

from stimulsoft_reports.report.enums import StiExportFormat

from stimulsoft_reports.viewer.enums import StiPrintAction, StiExportAction

 

 

viewer.html

 

<script>

  StiExportAction = Stimulsoft.Viewer.StiExportAction;

   StiExportFormat = Stimulsoft.Report.StiExportFormat;

</script>

 

 

 

Вьювер поддерживает следующие события:

onPrepareVariables
onBeginProcessData
onEndProcessData
onOpenReport
onOpenedReport
onPrintReport
onBeginExportReport
onEndExportReport
onInteraction
onEmailReport
onDesignReport

 

 

onPrepareVariables

[v] JavaScript  [v] Python

 

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

 

 

onBeginProcessData

[v] JavaScript  [v] Python

 

Событие вызывается перед запросом данных, необходимых для построения отчета. Список аргументов события находится в разделе События генератора отчетов. Подробное описание и примеры использования находятся в разделах Подключение файловых данных и Подключение SQL адаптеров данных.

 

 

onEndProcessData

[v] JavaScript  [v] Python

 

Событие вызывается после загрузки данных перед построением отчета. Список аргументов события находится в разделе События генератора отчетов. Подробное описание и примеры использования находятся в разделах Подключение файловых данных и Подключение SQL адаптеров данных.

 

 

onOpenReport
[v] JavaScript  [x] Python

 

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

 

Список свойств, передаваемых в аргументах события на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "OpenReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета, в аргументах данного события будет передано значение null.

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события вьювером. По умолчанию установлено значение false.

 

 

onOpenedReport
[v] JavaScript  [v] Python

 

Событие вызывается после открытия файла отчета до его передачи вьюверу.

 

Список свойств, передаваемых в аргументах события на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "OpenedReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события вьювером. По умолчанию установлено значение false.

 

 

Список свойств, передаваемых в аргументах события на стороне Python сервера. Аргументы имеют тип StiReportEventArgs:

 

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

Описание

event

Идентификатор текущего события, для данного события имеет значение StiEventType.OPENED_REPORT

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

StiViewer
StiDesigner

report

Текущий объект отчета в виде JSON строки либо объекта.

 

 

onPrintReport

[v] JavaScript  [v] Python

 

Событие вызывается перед печатью отчета. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "PrintReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

printAction

Тип печати отчета. Может принимать следующие значения:

PrintPdf - печать в PDF формат;
PrintWithoutPreview - печать в HTML формат непосредственно на принтер, будет отображен системный диалог печати;
PrintWithPreview - печать в HTML формат с предварительным просмотром во всплывающем окне.

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события вьювером. По умолчанию установлено значение false.

 

 

Список свойств, передаваемых в аргументах события на стороне Python сервера. Аргументы имеют тип StiReportEventArgs:

 

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

Описание

event

Идентификатор текущего события, для данного события имеет значение StiEventType.PRINT_REPORT.

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

StiViewer
StiDesigner

report

Текущий объект отчета.

printAction

Тип печати отчета. Может принимать следующие значения:

StiPrintAction.PRINT_PDF - печать в PDF формат;
StiPrintAction.PRINT_WITHOUT_PREVIEW - печать в HTML формат непосредственно на принтер, будет отображен системный диалог печати;
StiPrintAction.PRINT_WITH_PREVIEW - печать в HTML формат с предварительным просмотром во всплывающем окне.

 

 

Подробное описание и примеры использования находятся в разделе Печать отчета.

 

 

onBeginExportReport

[v] JavaScript  [v] Python

 

Событие вызывается перед экспортированием отчета после диалога настроек экспорта. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "BeginExportReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

action

Действие, которое вызвало событие экспорта, может принимать следующие значения:

StiExportAction.ExportReport
StiExportAction.SendEmail

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.Document
StiExportFormat.Pdf
StiExportFormat.Xps
StiExportFormat.POWERPOINT
StiExportFormat.Html
StiExportFormat.Html5
StiExportFormat.Text
StiExportFormat.Word
StiExportFormat.Excel2007
StiExportFormat.Odt
StiExportFormat.Ods
StiExportFormat.Csv
StiExportFormat.ImageSvg

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

settings

Настройки выбранного формата экспорта. Список доступных свойств будет зависеть от выбранного типа экспорта.

fileName

Имя файла отчета для сохранения после завершения экспорта.

openAfterExport

Флаг указывает на то, что экспортирование отчета будет происходить в новой вкладке браузера (значение true), либо по завершению экспорта будет вызвано сохранение файла (значение false).

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события вьювером. По умолчанию установлено значение false.

 

 

Список свойств, передаваемых в аргументах события на стороне Python сервера. Аргументы имеют тип StiExportEventArgs:

 

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

Описание

event

Идентификатор текущего события, для данного события имеет значение StiEventType.BEGIN_EXPORT_REPORT.

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

StiViewer
StiDesigner

report

Текущий объект отчета.

action

Действие, которое вызвало событие экспорта, может принимать следующие значения:

StiExportAction.EXPORT_REPORT
StiExportAction.SEND_EMAIL

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.DOCUMENT
StiExportFormat.PDF
StiExportFormat.XPS
StiExportFormat.POWERPOINT
StiExportFormat.HTML
StiExportFormat.HTML5
StiExportFormat.TEXT
StiExportFormat.Word
StiExportFormat.EXCEL2007
StiExportFormat.ODT
StiExportFormat.ODS
StiExportFormat.CSV
StiExportFormat.IMAGE_SVG

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

settings

Настройки выбранного формата экспорта. Список доступных свойств будет зависеть от выбранного типа экспорта.

fileName

Имя файла отчета для сохранения после завершения экспорта.

openAfterExport

Флаг указывает на то, что экспортирование отчета будет происходить в новой вкладке браузера (значение True), либо по завершению экспорта будет вызвано сохранение файла (значение False).

 

 

onEndExportReport

[v] JavaScript  [v] Python

 

Событие вызывается после экспортирования отчета до его сохранения в виде файла. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "EndExportReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.Document
StiExportFormat.Pdf
StiExportFormat.Xps
StiExportFormat.POWERPOINT
StiExportFormat.Html
StiExportFormat.Html5
StiExportFormat.Text
StiExportFormat.Word
StiExportFormat.Excel2007
StiExportFormat.Odt
StiExportFormat.Ods
StiExportFormat.Csv
StiExportFormat.ImageSvg

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

data

Байтовые данные экспортированного отчета, подготовленные для сохранения в файл.

fileName

Имя файла отчета для сохранения после завершения экспорта.

openAfterExport

Флаг указывает на то, что экспортирование отчета будет происходить в новой вкладке браузера (значение true), либо по завершению экспорта будет вызвано сохранение файла (значение false).

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события вьювером. По умолчанию установлено значение false.

 

 

Список свойств, передаваемых в аргументах события на стороне Python сервера. Аргументы имеют тип StiExportEventArgs:

 

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

Описание

event

Идентификатор текущего события, для данного события имеет значение StiEventType.END_EXPORT_REPORT.

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

StiViewer
StiDesigner

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.DOCUMENT
StiExportFormat.PDF
StiExportFormat.XPS
StiExportFormat.POWERPOINT
StiExportFormat.HTML
StiExportFormat.HTML5
StiExportFormat.TEXT
StiExportFormat.Word
StiExportFormat.EXCEL2007
StiExportFormat.ODT
StiExportFormat.ODS
StiExportFormat.CSV
StiExportFormat.IMAGE_SVG

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

data

Байтовые данные экспортированного отчета, подготовленные для сохранения в файл.

fileName

Имя файла отчета для сохранения после завершения экспорта.

fileExtension

Расширение файла отчета для сохранения после завершения экспорта, соответствует типу выбранного формата.

mimeType

MIME тип для выбранного формата экспортирования.

openAfterExport

Флаг указывает на то, что экспортирование отчета будет происходить в новой вкладке браузера (значение True), либо по завершению экспорта будет вызвано сохранение файла (значение False).

 

 

onInteraction

[v] JavaScript  [x] Python

 

Событие вызывается в момент интерактивного действия вьювера (динамическая сортировка, сворачивание, детализация, применение параметров) до обработки значений генератором отчетов. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "Interaction".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

action

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

"InitVars" - действие происходит при инициализации переменных отчета, запрашиваемых у пользователя;
"Variables" - действие происходит при применении значений переменных, запрашиваемых у пользователя;
"Sorting" - действие происходит при использовании сортировки колонок;
"DrillDown" - действие происходит при детализации отчета;
"Collapsing" - действие происходит при использовании сворачивания блоков отчета;
"DashboardFiltering" - действие происходит при использовании фильтров внутри элемента дашборда;
"DashboardSorting" - действие происходит при использовании сортировки внутри элемента дашборда;
"DashboardResetAllFilters" - действие происходит при сбросе сортировки и фильтров  внутри элемента дашборда на значения, заданные в шаблоне;
"DashboardElementDrillDown" - действие происходит при использовании детализации элемента дашборда;
"DashboardElementDrillUp" - действие происходит при использовании детализации элемента дашборда.

variables

Коллекция переменных отчета и их значений, заданных на панели параметров.

sortingParameters

Коллекция параметров, необходимых для динамической сортировки отчета.

collapsingParameters

Коллекция параметров, необходимых для динамического сворачивания элементов отчета.

drillDownParameters

Коллекция параметров, необходимых для детализации отчета.

filteringParameters

Коллекция параметров, необходимых для сортировки, фильтрации и детализации элементов дашборда.

preventDefault

Данный флаг предоставляет возможность остановить дальнейшую обработку события. По умолчанию установлено значение false.

 

 

onEmailReport

[v] JavaScript  [v] Python

 

Событие вызывается после экспортирования отчета перед его отправкой по Email. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "EmailReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"
"Designer"

report

Текущий объект отчета.

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.Document
StiExportFormat.Pdf
StiExportFormat.Xps
StiExportFormat.POWERPOINT
StiExportFormat.Html
StiExportFormat.Html5
StiExportFormat.Text
StiExportFormat.Word
StiExportFormat.Excel2007
StiExportFormat.Odt
StiExportFormat.Ods
StiExportFormat.Csv
StiExportFormat.ImageSvg

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

data

Байтовые данные экспортированного отчета, подготовленные для отправки по Email.

fileName

Имя файла отчета для отправки по Email.

settings

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

 

 

В таблице ниже представлен список параметров отправки Email на стороне JavaScript клиента:

 

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

Описание

settings.email

Email адрес, на который будет отправлен экспортированный отчет.

settings.subject

Тема письма.

settings.message

Текст письма.

 

 

Список свойств, передаваемых в аргументах события на стороне Python сервера. Аргументы имеют тип StiExportEventArgs:

 

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

Описание

event

Идентификатор текущего события, для данного события имеет значение StiEventType.EMAIL_REPORT.

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

StiViewer
StiDesigner

report

Текущий объект отчета в виде JSON строки.

format

Выбранный формат экспорта отчета. Может принимать следующие значения:

StiExportFormat.DOCUMENT
StiExportFormat.PDF
StiExportFormat.XPS
StiExportFormat.POWERPOINT
StiExportFormat.HTML
StiExportFormat.HTML5
StiExportFormat.TEXT
StiExportFormat.Word
StiExportFormat.EXCEL2007
StiExportFormat.ODT
StiExportFormat.ODS
StiExportFormat.CSV
StiExportFormat.IMAGE_SVG

formatName

Название выбранного формата экспорта отчета, соответствует названию констант в перечислении форматов.

data

Байтовые данные экспортированного отчета, подготовленные для отправки по Email.

fileName

Имя файла отчета для отправки по Email.

settings

Объект, содержащий параметры отправки Email на стороне сервера. Описание всех параметров находится в отдельной таблице ниже.

 

 

Список параметров отправки Email на стороне Python сервера. Все настройки находятся в классе StiEmailSettings:

 

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

Описание

fromAddr

Email адрес отправителя письма.

name

Имя и фамилия отправителя письма.

toAddr

Email адрес, на который будет отправлен экспортированный отчет, передается из диалогового окна вьювера.

subject

Тема письма, передается из диалогового окна вьювера.

message

Текст письма, передается из диалогового окна вьювера.

attachmentName

Имя отчета во вложении, по умолчанию используется имя файла отчета.

charset

Кодировка, используемая для текста письма, по умолчанию используется "UTF-8".

host

Адрес SMTP сервера. Является обязательным для заполнения.

port

Порт SMTP сервера, по умолчанию используется 465.

login

Логин для подключения к почтовому серверу. Является обязательным для заполнения.

password

Пароль для подключения к почтовому серверу. Является обязательным для заполнения.

secure

Тип шифрования соединения с почтовым сервером, может использоваться "ssl" (по умолчанию) либо "tls" шифрование.

cc

Массив CC (Carbon Copy) адресов вторичных получателей письма.

bcc

Массив BCC (Blind Carbon Copy) адресов скрытых получателей письма.

 

 

onDesignReport

[v] JavaScript  [x] Python

 

Событие вызывается при нажатии на кнопку Дизайн (Design) на панели вьювера. В таблице ниже представлен список аргументов обработчика событий на стороне JavaScript клиента:

 

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

Описание

event

Идентификатор текущего события, имеет значение "DesignReport".

sender

Идентификатор компонента, который инициировал данное событие, может принимать следующие значения:

"Viewer"

report

Текущий объект отчета.

fileName

Имя файла отчета для передачи и загрузки в дизайнер.