|
|
| Строка 1: |
Строка 1: |
| <div style="background-color: #fff0f3; border-left: 5px solid #dc3545; padding: 15px; margin: 10px 0; color: #a71d2a;">
| |
| <b>Внимание!</b><br/>
| |
| Это описание - для старой версии дизайнера документов (<b><i>AR</i></b>).<br/>
| |
| В ближайшее время страница будет обновлена на описание настройки в <b><i>FastReports</i></b>.
| |
| </div>
| |
|
| |
|
| ==Общие сведения==
| |
|
| |
| Раздел <code>Scripts</code> предназначен для добавления программной логики непосредственно в файл макета отчета.
| |
|
| |
|
| |
| Сам код по сути представляет собой единственный класс <code>ReportScript</code>, внутри которого размещаются соответствующие инструкции, методы, классы.
| |
|
| |
| Это позволяет отчету быть самодостаточным: код из раздела выполняется в процессе формирования отчета.
| |
|
| |
| Внутри раздела можно создавать собственные вспомогательные функции для выполнения сложных вычислений прямо «на лету».
| |
|
| |
|
| |
|
| |
| '''Script''' (''скрипт'') - предназначена для написания логики на языках <code>VB.NET</code>, которая сохраняется непосредственно внутри файла определения отчета.
| |
|
| |
| ===Основные возможности и назначение===
| |
| *'''Автономность отчетов''' - скрипты позволяют создавать «самодостаточные» отчеты. В отличие от стандартного подхода с использованием «code-behind» (файлов .vb или .cs), код во вкладке <code>Script</code> компилируется в момент выполнения отчета, что позволяет изменять логику без пересборки всего приложения.
| |
| *'''Событийно-ориентированная модель''' - скрипты привязываются к конкретным событиям отчета или его секций. Для этого в редакторе предусмотрены выпадающие списки <code>Object</code> (объект) и <code>Event</code> (событие).
| |
| *'''Управление данными и макетом''' - через скрипты можно динамически изменять свойства элементов (например, скрывать поля, менять цвет текста), выполнять расчеты или программно подключать источники данных.
| |
|
| |
| ===Работа с объектами и событиями===
| |
| Во вкладке <code>Script</code> доступны следующие ключевые элементы управления:
| |
| *'''Object''' (''объекты'') - можно выбрать сам отчет (<code>Report</code>) или конкретные секции (например, <code>Detail</code>, <code>PageHeader</code>, <code>GroupFooter</code>).
| |
| *'''Event''' (''события'') - список событий зависит от выбранного объекта.
| |
| *'''Для секций''' часто используются: <code>Format</code> (подготовка данных), <code>BeforePrint</code> и <code>AfterPrint</code>.
| |
| *'''Для отчета''' в целом: <code>ReportStart</code>, <code>DataInitialize</code>, <code>FetchData</code> и <code>ReportEnd</code>.
| |
|
| |
| ===Особенности использования VB.NET===
| |
| *'''Синтаксис''' - используется стандартный синтаксис <code>VB.NET</code>.
| |
| *'''Типы отчетов''' - скрипты на <code>VB.NET</code> поддерживаются как в <code>Section Reports</code>, так и в <code>Page/RDLX Reports</code>.
| |
| *'''Интеграция с выражениями''' - в Page-отчетах методы, написанные во вкладке <code>Script</code>, можно вызывать напрямую из свойств контролов через конструкцию <code>=Code.ИмяМетода()</code>.
| |