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

Текст

Материал из Химсофт Вики

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

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

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

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

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

Возможны 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 - отображает текст в простом формате (только для внутреннего использования - не рекомендуется для внешнего использования).

HtmlTags

Пример 1: <b> - выделение текста жирным начертанием

<b>Дизайнер отчётов</b>

Результат:

Пример 2: <i> - курсивное начертание текста

<i>Дизайнер отчётов</i>

Результат:

Пример 3: <u> - подчеркивание текста снизу

<u>Дизайнер отчётов</u>

Результат:

Пример 4: <strike> - перечеркнутый текст

<strike>Дизайнер отчётов</strike>

Результат:

Пример 5: <br> - перенос строки

Дизайнер<br>отчётов

Результат:

Пример 6: <sub> - отображение текста в нижнем индексе

Дизайнер<sub>отчётов</sub>

Результат:

Пример 7: <sup> - отображение текста в верхнем индексе

Дизайнер<sup>отчётов</sup>

Результат:

Пример 8: <img> - вставка изображения в текст

Тег <img> поддерживает только атрибут src, который может содержать ссылку на изображение (http, https, base64), а также атрибуты width и height, определяющие размеры изображения в пикселях. Таким образом, изображения могут быть вставлены непосредственно в текст. Ссылки на изображения с протоколами http и https применимы для веб-отчетов.

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAyCAIAAACPlC9VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGkSURBVGhD7dDRjoMgEAXQ/v9Pd417poEVBBRttul569yRuenjOc+jxd5pEx7SaIQvjzr+vfvneGvQkc8cnMe73cY+cOQabnQYWe1gtcTGLqst3Xu7LHXzWYmNXX1LFeKjvLIhruvYKJHN4MWcrKIVl8jm8W5OVrKblchm83pOtlEPSmTXcCMnyw2UFlzJpYQgV5luCK7nXkKQ6CptehdXg2miNNoQ3MXVhCC0S5vey+1gGja/NwT3cjshWDVKm76DBsF09S09lQYJwZ/SwmD6PnoE02/p+fQIpt/S8+kRTL+l59MjmH5C6YU8mL6DBgnBPyptuvrE0gvBvdxOCFaFTraC6b3cDqahXXohuIurCUEoF7IbTO/iakIQukovBNdzLyFIVNv4IiG4kksJQW6g9EJ2DTdystxeD9/lZLN5PSfbaJTwdU42j3dzspJ2A2/kZDN4MSer6DrvpQ3xUV4psVHRe9hjJTZG+LLExq6Bk17dZbXExi6rLWP/k7ev4UaHsdK/HJnHu92OlP7l4DneGnS89Iv7g3x8yITSL+rU2Tvp+fwB+FeG5yXqCcoAAAAASUVORK5CYII=" alt=""/>

Результат:

HtmlParagraph

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