Перейти к содержанию

Scripts: различия между версиями

Материал из Химсофт Вики
Полностью удалено содержимое страницы
Метка: очистка
Строка 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>.

Версия от 09:47, 19 октября 2026