Текст: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 275: | Строка 275: | ||
==Свойства объекта "Текст"== | ==Свойства объекта "Текст"== | ||
{|class="wikitable" style="margin:auto; background-color: #fff;" | |||
|- | |||
!Свойство | |||
!Описание | |||
|- | |||
|"Выражения в тексте" (AllowExpressions) | |||
|Отключение обработки выражений в тексте объекта. По умолчанию включено. | |||
|- | |||
|"Поворот" (Angle) | |||
|Угол поворота текста в градусах. | |||
|- | |||
|"Автосжатие шрифта" (AutoShrink) | |||
|Автоматическое уменьшение размера шрифта (Font.Size) или его ширины (FontWidthRatio) так, чтобы вместить весь текст. | |||
|- | |||
|"Минимальный размер шрифта" (AutoShrinkMinSize) | |||
|Минимальный размера шрифта или минимальное значение свойства FontWidthRatio, в зависимости от значения свойства AutoShrink. | |||
|- | |||
|"Автоширина" (AutoWidth) | |||
|Автоматический подбор ширины объекта так, чтобы поместить самую длинную строку текста целиком, без переноса слов. | |||
|- | |||
|"Скобки" (Brackets) | |||
|Пара символов, которые используются для обозначения выражений в тексте объекта. | |||
|- | |||
|"Разрываться в..." (BreakTo) | |||
|С помощью этого свойства можно организовать "перетекание" текста между двумя объектами "Текст". | |||
|Допустим, у нас есть объекты А и В. Объект А содержит большой объем текста, часть которого не помещается в объекте. Если в свойстве BreakTo этого объекта указать объект В, в нем будет напечатан текст, не поместившийся в объекте А. | |||
|- | |||
|"Обрезать" (Clip) | |||
|Обрезание текста, который не поместился в объекте. По умолчанию включено. | |||
|- | |||
|"Повторяющиеся значения" (Duplicates) | |||
|Это свойство определяет, как будут печататься повторяющиеся значения. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |||
|- | |||
|"Первая табуляция" (FirstTabOffset) | |||
|Это свойство определяет, на сколько пикселей сдвинуть первый символ табуляции. | |||
|- | |||
|"Шрифт" (Font) | |||
|Параметры шрифта. | |||
|- | |||
|"Ширина шрифта" (FontWidthRatio) | |||
|Коэффициент масштабирования шрифта по ширине. По умолчанию свойство равно 1. Чтобы увеличить ширину шрифта, укажите значение > 1; чтобы уменьшить ширину, укажите значение между 0 и 1. | |||
|- | |||
|"Скрывать значение" (HideValue) | |||
|Скрытие значений выражений, которые равны заданному значению. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |||
|- | |||
|"Скрывать нули" (HideZeros) | |||
|Скрытие нулевых значений выражений. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |||
|- | |||
|"Условное выделение" (Highlight) | |||
|Изменение внешнего вида объекта в зависимости от заданных условий. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |||
|- | |||
|"Html теги" (HtmlTags) | |||
|Устарело, заменено на TextRenderType. | |||
|- | |||
|Выравнивание текста (HorzAlign, VertAlign) | |||
|Эти свойства задают выравнивание текста внутри объекта по горизонтали и вертикали. | |||
|- | |||
|"Межстрочный интервал" (LineHeight) | |||
|Межстрочный интервал, измеряемый в пикселях. Значение по умолчанию = 0, при этом используется стандартный межстрочный интервал. | |||
|- | |||
|"Слияние текстовых объектов" (MergeMode) | |||
|Объединение текстовых объектов с одинаковым содержимым, находящихся рядом. Содержит 2 значения: | |||
- Horizontal – объединение по горизонтали; | |||
- Vertical – объединение по вертикали. | |||
Допустимо использование как отдельно, как и совместно. | |||
Важное замечание! Объекты должны находиться вплотную друг к другу. | |||
|- | |||
|"Нулевое значение" (NullValue) | |||
|Строка, которая будет выводиться вместо null значения. Для использования необходимо отключить флажок "Преобразовывать null значения" в меню "Отчет|Настройки...". | |||
|- | |||
|"Отступы" (Padding) | |||
|Отступы текста от краев объекта, измеряемые в пикселях. | |||
|- | |||
|"Формат абзаца" (ParagraphFormat) | |||
|Настройки для отображения абзацев (межстрочный интервал, отступ красной строки). Подробнее об использовании этого свойства можно почитать на странице "Поддержка HTML тегов в тексте". | |||
|- | |||
|"Смещение абзаца" (ParagraphOffset) | |||
|Смещение абзаца, измеряемое в пикселях. Для TextRenderType.HtmlParagraph используйте свойство ParagraphFormat.FirstLineIndent. | |||
|- | |||
|"Справа налево" (RightToLeft) | |||
|Вывод текста справа налево. | |||
|- | |||
|"Набор позиций символов табуляции" (TabPositions) | |||
|Набор позиций символов табуляции, в пикселях. Отрицательные значения не оказывают влияния на это свойство. | |||
|- | |||
|"Ширина табуляции" (TabWidth) | |||
|Задание ширины символа табуляции, измеряемое в пикселях. | |||
|- | |||
|"Текст" (Text) | |||
|Текст объекта. | |||
|- | |||
|"Цвет текста" (TextFill) | |||
|Цвет текста. С помощью редактора этого свойства можно выбрать любую из доступных заливок. | |||
|- | |||
|"Контур текста" (TextOutline) | |||
|Контур текста. | |||
|- | |||
|"HTML теги" (TextRenderType) | |||
|Это свойство позволяет использовать HTML теги в тексте объекта. Подробнее об использовании этого свойства можно почитать на странице "Поддержка HTML тегов в тексте". | |||
|- | |||
|"Отсечение" (Trimming) | |||
|Это свойство определяет, как показывать текст, который выходит за границы объекта. Используется только в том случае, если свойство "Перенос слов" отключено. | |||
|- | |||
|"Подчеркивание" (Underlines) | |||
|Линии подчеркивания под каждой строкой текста. Подчеркивание можно использовать только для текста, выровненного по верхнему краю. | |||
|- | |||
|"Перенос слов" (WordWrap) | |||
|Это свойство определяет, надо ли переносить текст по словам. | |||
Wysiwyg Изменение режима отображения текста таким образом, чтобы добиться максимального соответствия между отображением текста на экране и на распечатке. Этот режим неявно включается, если использовать выравнивание текста по ширине или нестандартный межстрочный интервал. | |||
|- | |||
|} | |||
Версия от 08:04, 14 октября 2026
Объект "Текст" - является основным объектом, с которым придется работать чаще всего.
Он выглядит следующим образом:

Объект может отображать любые текстовые данные, а именно:
- одну или несколько строк текста;
- поля источников данных;
- системные переменные типа
Номер страницы; - параметры отчета;
- итоговые значения;
- выражения;
- любую комбинацию из вышеперечисленных элементов.
Редактирование текста
Возможны 2 способа редактирования текста:
- С помощью редактора
- Для редактирования текста объекта сделайте на нем двойной щелчок мыши. Вы увидите редактор текста:

- В правой части редактора находится окно данных, которые можно добавлять в текст. Это можно сделать двумя способами:
- перетащить (
drag&drop) элемент мышкой в нужное место текста; - сделать двойной щелчок на элементе, и он будет добавлен в текущую позицию курсора.
- перетащить (
- Чтобы сохранить изменения и закрыть окно редактора, нажмите кнопку
ОК, либо комбинацию клавишCtrl+Enter.
- Редактирование на месте (на странице отчета)
- выделите объект
Текст; - нажмите клавишу
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
Этот режим обрабатывает тот же набор HTML тегов, что и HtmlTags, а также включает тег <span>.
Несмотря на то, что набор тегов у этого режима почти тот же, отрисовываются они иначе. Особенно это заметно на тегах <sub> и <sup>.
Тег <span> предоставляет возможность задавать стили для текста с использованием атрибута style.
Это позволяет применять различные CSS стили, такие как цвет текста, размер шрифта, выравнивание и другие параметры форматирования, непосредственно к определенному фрагменту текста.
Таким образом, вместо использования устаревшего тега <font>, который ограничивает функциональность и уступает в гибкости, теперь можно достигать того же эффекта, используя тег <span> с простейшими CSS стилями в атрибуте style.
Примеры использования:
<span style="font-size:20pt;">Дизайнер отчётов</span>
<span style="color:red;">Дизайнер</span> отчётов
<span style="font-family:Consolas;">Дизайнер отчётов</span>
<span style="background-color:yellow;">Дизайнер отчётов</span>
ParagraphFormat
Отдельно стоит рассмотреть группу свойств ParagraphFormat.
Она работает в связке со свойством HtmlParagraph и представляет следующие настройки для отображения абзацев:
FirstLineIndent- отступ первой строки;LineSpacing- расстояние между строками в сантиметрах;LineSpacingMultiple- коэффициент умножения на значение предыдущего параметра. Работает с типом Multiple;LineSpacingType- тип межстрочного расстояния:
- Одиночный (
Single); - Как минимум (
At least); - В точности (
Exact); - Множественный (
Multiple).
- Одиночный (
Пример настроек:
Результат:
Свойства объекта "Текст"
| Свойство | Описание | |
|---|---|---|
| "Выражения в тексте" (AllowExpressions) | Отключение обработки выражений в тексте объекта. По умолчанию включено. | |
| "Поворот" (Angle) | Угол поворота текста в градусах. | |
| "Автосжатие шрифта" (AutoShrink) | Автоматическое уменьшение размера шрифта (Font.Size) или его ширины (FontWidthRatio) так, чтобы вместить весь текст. | |
| "Минимальный размер шрифта" (AutoShrinkMinSize) | Минимальный размера шрифта или минимальное значение свойства FontWidthRatio, в зависимости от значения свойства AutoShrink. | |
| "Автоширина" (AutoWidth) | Автоматический подбор ширины объекта так, чтобы поместить самую длинную строку текста целиком, без переноса слов. | |
| "Скобки" (Brackets) | Пара символов, которые используются для обозначения выражений в тексте объекта. | |
| "Разрываться в..." (BreakTo) | С помощью этого свойства можно организовать "перетекание" текста между двумя объектами "Текст". | Допустим, у нас есть объекты А и В. Объект А содержит большой объем текста, часть которого не помещается в объекте. Если в свойстве BreakTo этого объекта указать объект В, в нем будет напечатан текст, не поместившийся в объекте А. |
| "Обрезать" (Clip) | Обрезание текста, который не поместился в объекте. По умолчанию включено. | |
| "Повторяющиеся значения" (Duplicates) | Это свойство определяет, как будут печататься повторяющиеся значения. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |
| "Первая табуляция" (FirstTabOffset) | Это свойство определяет, на сколько пикселей сдвинуть первый символ табуляции. | |
| "Шрифт" (Font) | Параметры шрифта. | |
| "Ширина шрифта" (FontWidthRatio) | Коэффициент масштабирования шрифта по ширине. По умолчанию свойство равно 1. Чтобы увеличить ширину шрифта, укажите значение > 1; чтобы уменьшить ширину, укажите значение между 0 и 1. | |
| "Скрывать значение" (HideValue) | Скрытие значений выражений, которые равны заданному значению. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |
| "Скрывать нули" (HideZeros) | Скрытие нулевых значений выражений. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |
| "Условное выделение" (Highlight) | Изменение внешнего вида объекта в зависимости от заданных условий. Подробнее об использовании этого свойства можно почитать в разделе "Форматирование". | |
| "Html теги" (HtmlTags) | Устарело, заменено на TextRenderType. | |
| Выравнивание текста (HorzAlign, VertAlign) | Эти свойства задают выравнивание текста внутри объекта по горизонтали и вертикали. | |
| "Межстрочный интервал" (LineHeight) | Межстрочный интервал, измеряемый в пикселях. Значение по умолчанию = 0, при этом используется стандартный межстрочный интервал. | |
| "Слияние текстовых объектов" (MergeMode) | Объединение текстовых объектов с одинаковым содержимым, находящихся рядом. Содержит 2 значения:
- Horizontal – объединение по горизонтали; - Vertical – объединение по вертикали. Допустимо использование как отдельно, как и совместно. Важное замечание! Объекты должны находиться вплотную друг к другу. | |
| "Нулевое значение" (NullValue) | Настройки...". | |
| "Отступы" (Padding) | Отступы текста от краев объекта, измеряемые в пикселях. | |
| "Формат абзаца" (ParagraphFormat) | Настройки для отображения абзацев (межстрочный интервал, отступ красной строки). Подробнее об использовании этого свойства можно почитать на странице "Поддержка HTML тегов в тексте". | |
| "Смещение абзаца" (ParagraphOffset) | Смещение абзаца, измеряемое в пикселях. Для TextRenderType.HtmlParagraph используйте свойство ParagraphFormat.FirstLineIndent. | |
| "Справа налево" (RightToLeft) | Вывод текста справа налево. | |
| "Набор позиций символов табуляции" (TabPositions) | Набор позиций символов табуляции, в пикселях. Отрицательные значения не оказывают влияния на это свойство. | |
| "Ширина табуляции" (TabWidth) | Задание ширины символа табуляции, измеряемое в пикселях. | |
| "Текст" (Text) | Текст объекта. | |
| "Цвет текста" (TextFill) | Цвет текста. С помощью редактора этого свойства можно выбрать любую из доступных заливок. | |
| "Контур текста" (TextOutline) | Контур текста. | |
| "HTML теги" (TextRenderType) | Это свойство позволяет использовать HTML теги в тексте объекта. Подробнее об использовании этого свойства можно почитать на странице "Поддержка HTML тегов в тексте". | |
| "Отсечение" (Trimming) | Это свойство определяет, как показывать текст, который выходит за границы объекта. Используется только в том случае, если свойство "Перенос слов" отключено. | |
| "Подчеркивание" (Underlines) | Линии подчеркивания под каждой строкой текста. Подчеркивание можно использовать только для текста, выровненного по верхнему краю. | |
| "Перенос слов" (WordWrap) | Это свойство определяет, надо ли переносить текст по словам.
Wysiwyg Изменение режима отображения текста таким образом, чтобы добиться максимального соответствия между отображением текста на экране и на распечатке. Этот режим неявно включается, если использовать выравнивание текста по ширине или нестандартный межстрочный интервал. |

