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

Объекты Report и Engine: различия между версиями

Материал из Химсофт Вики
Строка 95: Строка 95:
|-
|-
|}
|}
[[Файл: engine_obj_1.png | center | border]]

Версия от 03:02, 20 октября 2026

Кроме объектов, которые содержатся в отчете, в скрипте определены две переменные: Report и Engine.

Report

Переменная Report возвращает ссылку на текущий отчет.

Список методов

Метод Описание
object Calc(string expression) Вычисляет выражение и возвращает значение.

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

object GetColumnValue(string complexName) Возвращает значение поля источника данных. Имя должно быть представлено в форме Источник.Поле.

Если поле имеет значение null, оно преобразуется в значение по умолчанию (0, пустая строка, false и др).

object GetColumnValueNullable(string complexName) Возвращает значение поля источника данных.

В отличие от предыдущего метода, не выполняет преобразование null-значений.

Parameter GetParameter(string complexName) Возвращает параметр отчета с указанным именем.

Имя может быть составным при обращении к вложенному параметру: MainParam.NestedParam.

object GetParameterValue(string complexName) Возвращает значение параметра отчета с указанным именем.
void SetParameterValue(string complexName, object value) Устанавливает значение параметра отчета с указанным именем.
object GetVariableValue(string complexName) Возвращает значение системной переменной, например, Date.
object GetTotalValue(string name) Возвращает значение итога, определенного в окне Данные, по его имени.
DataSourceBase GetDataSource(string alias) Возвращает источник данных, определенный в отчете, по его имени.

Engine

Объект Engine представляет собой движок, управляющий построением отчета (процессом размещения бэндов на странице).

Свойства объекта

Свойство Описание
float CurX
Текущее смещение координат по оси X.

Этому свойству можно присваивать значение, чтобы смещать печатаемые объекты.

float CurY
Текущая позиция печати по оси Y.

Этому свойству можно присваивать значение, чтобы смещать печатаемые объекты.

int CurColumn
Номер текущей колонки в многоколоночном отчете.

Первая колонка имеет номер 0.

int CurPage
Номер текущей печатаемой страницы.

Это значение можно получить из системной переменной Page.

float PageWidth
Ширина страницы минус размер левого и правого полей.
float PageHeight
Высота страницы минус размер верхнего и нижнего полей.
float PageFooterHeight
Высота подвала страницы (и всех его дочерних бэндов).
float ColumnFooterHeight
Высота подвала колонки (и всех ее дочерних бэндов).
float FreeSpace
Размер свободного места на странице.
bool FirstPass
Возвращает true, если выполняется первый (или единственный) проход отчета.

Количество проходов можно получить из свойства Report.DoublePass.

bool FinalPass
Возвращает true, если выполняется последний (или единственный) проход отчета.