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

Текст: различия между версиями

Материал из Химсофт Вики
Строка 140: Строка 140:
Свойство <code>TextRenderType</code> имеет четыре возможных значения:
Свойство <code>TextRenderType</code> имеет четыре возможных значения:
*<code>Default</code> - просто текст, без преобразования тегов;
*<code>Default</code> - просто текст, без преобразования тегов;
*<code>HtmlTags</code> - применение HTML тегов. Список их довольно ограничен: <code><b></code>, <code><i></code>, <code><u></code>, <code><strike></code>, <code><br></code>, <code><sub></code>, <code><sup></code>, <code><img></code>;
*<code>HtmlTags</code> - применение HTML тегов. Список их довольно ограничен: <code><nowiki><b></nowiki></code>, <code><nowiki><i></nowiki></code>, <code><nowiki><u></nowiki></code>, <code><nowiki><strike></nowiki></code>, <code><nowiki><br></nowiki></code>, <code><nowiki><sub></nowiki></code>, <code><nowiki><sup></nowiki></code>, <code><nowiki><img></nowiki></code>;
*<code>HtmlParagraph</code> - позволяет регулировать межстрочный интервал, красную строку и все те же теги, что и <code>HtmlTags</code>;
*<code>HtmlParagraph</code> - позволяет регулировать межстрочный интервал, красную строку и все те же теги, что и <code>HtmlTags</code>;
*<code>Inline</code> - отображает текст в простом формате. Только для внутреннего использования - не рекомендуется для внешнего использования.
*<code>Inline</code> - отображает текст в простом формате (только для внутреннего использования - не рекомендуется для внешнего использования).


==Свойства объекта "Текст"==
==Свойства объекта "Текст"==

Версия от 06:43, 14 октября 2026

Объект "Текст" - является основным объектом, с которым придется работать чаще всего.

Он выглядит следующим образом:

Объект может отображать любые текстовые данные, а именно:

  • одну или несколько строк текста;
  • поля источников данных;
  • системные переменные типа Номер страницы;
  • параметры отчета;
  • итоговые значения;
  • выражения;
  • любую комбинацию из вышеперечисленных элементов.

Редактирование текста

Возможны 2 способа редактирования текста:

  1. С помощью редактора
    Для редактирования текста объекта сделайте на нем двойной щелчок мыши. Вы увидите редактор текста:
    В правой части редактора находится окно данных, которые можно добавлять в текст. Это можно сделать двумя способами:
    • перетащить (drag&drop) элемент мышкой в нужное место текста;
    • сделать двойной щелчок на элементе, и он будет добавлен в текущую позицию курсора.
    Чтобы сохранить изменения и закрыть окно редактора, нажмите кнопку ОК, либо комбинацию клавиш Ctrl+Enter.
  2. Редактирование на месте (на странице отчета)
    • выделите объект Текст;
    • нажмите клавишу Enter;
    • для окончания редактирования щелкните мышкой за пределами объекта либо нажмите комбинацию клавиш Ctrl+Enter.
    Примечания:
    • клавиша Esc отменяет изменения;
    • во время редактирования объекта на месте можно изменять его размеры мышкой.

Отображение выражений

Объект "Текст" может содержать как обычный текст, так и выражения.

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

Кроме того, можно запретить обработку выражений – за это отвечает свойство AllowExpressions. В этом случае текст будет отображаться "как есть".

Пример 1: выражения вперемешку с текстом

Сегодня [Date]

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

Сегодня 14 октября 2026г.

Пример 2: корректный синтаксис

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

Например, объект со следующим текстом:

2 * 2 = [2 * 2]

будет напечатан так:

2 * 2 = 4

Пример 3: типовая ошибка синтаксиса

Частая ошибка – попытка написать выражение за пределами квадратных скобок. Напоминаем, что считается выражением и вычисляется только то, что находится в квадратных скобках. Остальной текст печатается "как есть". Например:

2 * 2 = [2] * [2]

Такой текст будет напечатан следующим образом:

2 * 2 = 2 * 2

Пример 4: элементы c собственными квадратными скобками

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

Следующая страница: [[Page] + 1]

Текст содержит выражение [Page] + 1: это содержимое внешней пары скобок. Page – это системная переменная, которая возвращает номер текущей страницы отчета. Она заключена в собственные квадратные скобки.

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

Сегодня [[Date]]

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

Отображение полей данных

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

[Имя источника.Имя поля]

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

[Employees.FirstName]

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

Для вставки поля в объект Текст можно использовать несколько способов.

Способ 1

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

Способ 2

В редакторе объекта выбираем нужное поле и перетаскиваем его в текст (также можно сделать двойной щелчок на поле):

Способ 3

Щелкаем мышкой на маленькой стрелочке в верхнем правом углу объекта и в открывшемся списке выбираем нужное поле:

Способ 4

Перетаскиваем нужное поле из окна Данные на страницу отчета с помощью мыши (drag&drop). В данном случае создается объект Текст, который содержит ссылку на выбранное поле.

Поддержка HTML тегов в тексте

Свойство текстового объекта TextRenderType предоставляет более широкий спектр функциональности, чем просто обработка HTML тегов.

Свойство TextRenderType имеет четыре возможных значения:

  • Default - просто текст, без преобразования тегов;
  • HtmlTags - применение HTML тегов. Список их довольно ограничен: <b>, <i>, <u>, <strike>, <br>, <sub>, <sup>, <img>;
  • HtmlParagraph - позволяет регулировать межстрочный интервал, красную строку и все те же теги, что и HtmlTags;
  • Inline - отображает текст в простом формате (только для внутреннего использования - не рекомендуется для внешнего использования).

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