Текст: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| (не показаны 52 промежуточные версии этого же участника) | |||
| Строка 26: | Строка 26: | ||
#:*нажмите клавишу <code>Enter</code>; | #:*нажмите клавишу <code>Enter</code>; | ||
#:*для окончания редактирования щелкните мышкой за пределами объекта либо нажмите комбинацию клавиш <code>Ctrl+Enter</code>. | #:*для окончания редактирования щелкните мышкой за пределами объекта либо нажмите комбинацию клавиш <code>Ctrl+Enter</code>. | ||
#:''Примечания:'' | #:'''''Примечания:''''' | ||
#:*''клавиша <code>Esc</code> отменяет изменения;'' | #:*''клавиша <code>Esc</code> отменяет изменения;'' | ||
#:*''во время редактирования объекта на месте можно изменять его размеры мышкой.'' | #:*''во время редактирования объекта на месте можно изменять его размеры мышкой.'' | ||
==Отображение выражений== | ==Отображение выражений== | ||
'''Объект "Текст"''' может содержать как ''обычный текст'', так и ''выражения''. | |||
Выражения обозначаются с помощью квадратных скобок: <code>[</code> и <code>]</code>. Подробнее о выражениях читайте в главе <code>Выражения</code>. | |||
Кроме того, можно запретить обработку выражений – за это отвечает свойство <code>AllowExpressions</code>. В этом случае текст будет отображаться "как есть". | |||
===Пример 1: выражения вперемешку с текстом=== | |||
<syntaxhighlight> | |||
Сегодня [Date] | |||
</syntaxhighlight> | |||
При печати такого объекта все выражения, содержащиеся в тексте, будут вычислены. В текст будет подставлено значение выражения, например: | |||
<syntaxhighlight> | |||
Сегодня 14 октября 2026г. | |||
</syntaxhighlight> | |||
===Пример 2: корректный синтаксис=== | |||
В квадратных скобках может содержаться любое выражение, корректное с точки зрения компилятора. | |||
Например, объект со следующим текстом: | |||
<syntaxhighlight> | |||
2 * 2 = [2 * 2] | |||
</syntaxhighlight> | |||
будет напечатан так: | |||
<syntaxhighlight> | |||
2 * 2 = 4 | |||
</syntaxhighlight> | |||
===Пример 3: типовая ошибка синтаксиса=== | |||
Частая ошибка – попытка написать выражение за пределами квадратных скобок. Напоминаем, что считается выражением и вычисляется только то, что находится в квадратных скобках. Остальной текст печатается "как есть". Например: | |||
<syntaxhighlight> | |||
2 * 2 = [2] * [2] | |||
</syntaxhighlight> | |||
Такой текст будет напечатан следующим образом: | |||
<syntaxhighlight> | |||
2 * 2 = 2 * 2 | |||
</syntaxhighlight> | |||
===Пример 4: элементы c собственными квадратными скобками=== | |||
В выражениях могут встречаться элементы, заключенные в собственные квадратные скобки. Например, это обращения к системным переменным. Рассмотрим следующий пример содержимого объекта "Текст": | |||
<syntaxhighlight> | |||
Следующая страница: [[Page] + 1] | |||
</syntaxhighlight> | |||
Текст содержит выражение <code>[Page] + 1</code>: это содержимое внешней пары скобок. <code>Page</code> – это системная переменная, которая возвращает номер текущей страницы отчета. Она заключена в собственные квадратные скобки. | |||
'''''Примечание:''' строго говоря, мы должны были использовать две пары квадратных скобок при попытке распечатать системную переменную <code>Date</code> в ранее рассмотренных примерах:'' | |||
<syntaxhighlight> | |||
Сегодня [[Date]] | |||
</syntaxhighlight> | |||
''Здесь внешняя пара скобок обозначает выражение, внутренняя необходима, так как мы обращаемся к системной переменной. Однако дизайнер отчетов позволяет опускать лишнюю пару скобок, если в выражении есть только один член.'' | |||
==Отображение полей данных== | ==Отображение полей данных== | ||
Для обращения к полям источников данных используется следующая форма записи: | |||
<syntaxhighlight> | |||
[Имя источника.Имя поля] | |||
</syntaxhighlight> | |||
Как видно, здесь так же используются квадратные скобки. Имя источника отделяется от имени поля точкой, например: | |||
<syntaxhighlight> | |||
[Employees.FirstName] | |||
</syntaxhighlight> | |||
Подробнее об использовании полей в выражениях см. раздел <code>Поля источников данных</code>. | |||
Для вставки поля в объект <code>Текст</code> можно использовать несколько способов. | |||
'''Способ 1''' | |||
В редакторе объекта <code>Текст</code> пишем название поля вручную. Этот способ самый неудобный, так как можно легко допустить ошибку. | |||
'''Способ 2''' | |||
В редакторе объекта выбираем нужное поле и перетаскиваем его в текст (также можно сделать двойной щелчок на поле): | |||
[[Файл: data_field_view_1.png|center|border]] | |||
'''Способ 3''' | |||
Щелкаем мышкой на маленькой стрелочке в верхнем правом углу объекта и в открывшемся списке выбираем нужное поле: | |||
[[Файл: data_field_view_2.png|center|border]] | |||
'''Способ 4''' | |||
Перетаскиваем нужное поле из окна <code>Данные</code> на страницу отчета с помощью мыши (<code>drag&drop</code>). В данном случае создается объект <code>Текст</code>, который содержит ссылку на выбранное поле. | |||
==Поддержка HTML тегов в тексте== | ==Поддержка HTML тегов в тексте== | ||
Свойство текстового объекта <code>TextRenderType</code> предоставляет более широкий спектр функциональности, чем просто обработка HTML тегов. | |||
Свойство <code>TextRenderType</code> имеет четыре возможных значения: | |||
*<code>Default</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>Inline</code> - отображает текст в простом формате (только для внутреннего использования - не рекомендуется для внешнего использования). | |||
===HtmlTags=== | |||
'''''Пример 1:''' <code><nowiki><b></nowiki></code> - выделение текста жирным начертанием'' | |||
<syntaxhighlight lang="html"> | |||
<b>Дизайнер отчётов</b> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_1.png|border|150px]] | |||
---- | |||
'''''Пример 2:''' <code><nowiki><i></nowiki></code> - курсивное начертание текста'' | |||
<syntaxhighlight lang="html"> | |||
<i>Дизайнер отчётов</i> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_2.png|border|150px]] | |||
---- | |||
'''''Пример 3:''' <code><nowiki><u></nowiki></code> - подчеркивание текста снизу'' | |||
<syntaxhighlight lang="html"> | |||
<u>Дизайнер отчётов</u> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_3.png|border|150px]] | |||
---- | |||
'''''Пример 4:''' <code><nowiki><strike></nowiki></code> - перечеркнутый текст'' | |||
<syntaxhighlight lang="html"> | |||
<strike>Дизайнер отчётов</strike> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_4.png|border|150px]] | |||
---- | |||
'''''Пример 5:''' <code><nowiki><br></nowiki></code> - перенос строки'' | |||
<syntaxhighlight lang="html"> | |||
Дизайнер<br>отчётов | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_5.png|border|150px]] | |||
---- | |||
'''''Пример 6:''' <code><nowiki><sub></nowiki></code> - отображение текста в нижнем индексе'' | |||
<syntaxhighlight lang="html"> | |||
Дизайнер<sub>отчётов</sub> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_6.png|border|150px]] | |||
---- | |||
'''''Пример 7:''' <code><nowiki><sup></nowiki></code> - отображение текста в верхнем индексе'' | |||
<syntaxhighlight lang="html"> | |||
Дизайнер<sup>отчётов</sup> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_7.png|border|150px]] | |||
---- | |||
'''''Пример 8:''' <code><nowiki><img></nowiki></code> - вставка изображения в текст'' | |||
Тег <code><nowiki><img></nowiki></code> поддерживает только атрибут src, который может содержать ссылку на изображение (<code>http</code>, <code>https</code>, <code>base64</code>), а также атрибуты <code>width</code> и <code>height</code>, определяющие размеры изображения в пикселях. Таким образом, изображения могут быть вставлены непосредственно в текст. Ссылки на изображения с протоколами <code>http</code> и <code>https</code> применимы для веб-отчетов. | |||
<syntaxhighlight lang="html"> | |||
<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=""/> | |||
</syntaxhighlight> | |||
::''Результат:'' [[Файл: html_tags_8.png|border|100px]] | |||
---- | |||
===HtmlParagraph=== | |||
Этот режим обрабатывает тот же набор HTML тегов, что и <code>HtmlTags</code>, а также включает тег <code><nowiki><span></nowiki></code>. | |||
Несмотря на то, что набор тегов у этого режима почти тот же, отрисовываются они иначе. Особенно это заметно на тегах <code><nowiki><sub></nowiki></code> и <code><nowiki><sup></nowiki></code>. | |||
Тег <code><nowiki><span></nowiki></code> предоставляет возможность задавать стили для текста с использованием атрибута <code>style</code>. | |||
Это позволяет применять различные CSS стили, такие как цвет текста, размер шрифта, выравнивание и другие параметры форматирования, непосредственно к определенному фрагменту текста. | |||
Таким образом, вместо использования устаревшего тега <code><nowiki><font></nowiki></code>, который ограничивает функциональность и уступает в гибкости, теперь можно достигать того же эффекта, используя тег <code><nowiki><span></nowiki></code> с простейшими CSS стилями в атрибуте <code>style</code>. | |||
'''Примеры использования:''' | |||
<syntaxhighlight lang="html"> | |||
<span style="font-size:20pt;">Дизайнер отчётов</span> | |||
<span style="color:red;">Дизайнер</span> отчётов | |||
<span style="font-family:Consolas;">Дизайнер отчётов</span> | |||
<span style="background-color:yellow;">Дизайнер отчётов</span> | |||
</syntaxhighlight> | |||
::Результат: [[Файл: html_paragraph.png|border|250px]] | |||
---- | |||
===ParagraphFormat=== | |||
Отдельно стоит рассмотреть группу свойств <code>ParagraphFormat</code>. | |||
Она работает в связке со свойством <code>HtmlParagraph</code> и представляет следующие настройки для отображения абзацев: | |||
*<code>FirstLineIndent</code> - отступ первой строки; | |||
*<code>LineSpacing</code> - расстояние между строками в сантиметрах; | |||
*<code>LineSpacingMultiple</code> - коэффициент умножения на значение предыдущего параметра. Работает с типом Multiple; | |||
*<code>LineSpacingType</code> - тип межстрочного расстояния: | |||
::*Одиночный (<code>Single</code>); | |||
::*Как минимум (<code>At least</code>); | |||
::*В точности (<code>Exact</code>); | |||
::*Множественный (<code>Multiple</code>). | |||
Пример настроек: | |||
[[Файл: html_paragraph_format.png|border]] | |||
Результат: | |||
[[Файл: html_paragraph_format_2.png|border]] | |||
==Свойства объекта "Текст"== | ==Свойства объекта "Текст"== | ||
{|class="wikitable" style="margin:auto; background-color: #fff;" | |||
|- | |||
!Свойство | |||
!Описание | |||
|- | |||
|<code>AllowExpressions</code><br>'''''Выражения в тексте''''' | |||
|Отключение обработки выражений в тексте объекта. По умолчанию включено. | |||
|- | |||
|<code>Angle</code><br>'''''Поворот''''' | |||
|Угол поворота текста в градусах. | |||
|- | |||
|<code>AutoShrink</code><br>'''''Автосжатие шрифта''''' | |||
|Автоматическое уменьшение размера шрифта (<code>Font.Size</code>) или его ширины (<code>FontWidthRatio</code>) так, чтобы вместить весь текст. | |||
|- | |||
|<code>AutoShrinkMinSize</code><br>'''''Минимальный размер шрифта''''' | |||
|Минимальный размера шрифта или минимальное значение свойства <code>FontWidthRatio</code>, в зависимости от значения свойства <code>AutoShrink</code>. | |||
|- | |||
|<code>AutoWidth</code><br>'''''Автоширина''''' | |||
|Автоматический подбор ширины объекта так, чтобы поместить самую длинную строку текста целиком, без переноса слов. | |||
|- | |||
|<code>Brackets</code><br>'''''Скобки''''' | |||
|Пара символов, которые используются для обозначения выражений в тексте объекта. | |||
|- | |||
|<code>BreakTo</code><br>'''''Разрываться в...''''' | |||
|С помощью этого свойства можно организовать "перетекание" текста между двумя объектами <code>Текст</code>. | |||
Допустим, у нас есть объекты <code>А</code> и <code>В</code>. Объект <code>А</code> содержит большой объем текста, часть которого не помещается в объекте. Если в свойстве <code>BreakTo</code> этого объекта указать объект <code>В</code>, в нем будет напечатан текст, не поместившийся в объекте <code>А</code>. | |||
|- | |||
|<code>Clip</code><br>'''''Обрезать''''' | |||
|Обрезание текста, который не поместился в объекте. По умолчанию включено. | |||
|- | |||
|<code>Duplicates</code><br>'''''Повторяющиеся значения''''' | |||
|Это свойство определяет, как будут печататься повторяющиеся значения. Подробнее об использовании этого свойства можно почитать в разделе <code>Форматирование</code> | |||
|- | |||
|<code>FirstTabOffset</code><br>'''''Первая табуляция''''' | |||
|Это свойство определяет, на сколько пикселей сдвинуть первый символ табуляции. | |||
|- | |||
|<code>Font</code><br>'''''Шрифт''''' | |||
|Параметры шрифта. | |||
|- | |||
|<code>FontWidthRatio</code><br>'''''Ширина шрифта''''' | |||
|Коэффициент масштабирования шрифта по ширине. По умолчанию свойство равно <code>1</code>. Чтобы увеличить ширину шрифта, укажите значение <code>> 1</code>; чтобы уменьшить ширину, укажите значение между <code>0</code> и <code>1</code>. | |||
|- | |||
|<code>HideValue</code><br>'''''Скрывать значение''''' | |||
|Скрытие значений выражений, которые равны заданному значению. Подробнее об использовании этого свойства можно почитать в разделе <code>Форматирование</code>. | |||
|- | |||
|<code>HideZeros</code><br>'''''Скрывать нули''''' | |||
|Скрытие нулевых значений выражений. Подробнее об использовании этого свойства можно почитать в разделе <code>Форматирование</code>. | |||
|- | |||
|<code>Highlight</code><br>'''''Условное выделение''''' | |||
|Изменение внешнего вида объекта в зависимости от заданных условий. Подробнее об использовании этого свойства можно почитать в разделе <code>Форматирование</code>. | |||
|- | |||
|<code>HtmlTags</code><br>'''''Html теги''''' | |||
|Устарело, заменено на <code>TextRenderType</code>. | |||
|- | |||
|<code>HorzAlign, VertAlign</code><br>'''''Выравнивание текста''''' | |||
|Эти свойства задают выравнивание текста внутри объекта по горизонтали и вертикали. | |||
|- | |||
|<code>LineHeight</code><br>'''''Межстрочный интервал''''' | |||
|Межстрочный интервал, измеряемый в пикселях. Значение по умолчанию <code>= 0</code>, при этом используется стандартный межстрочный интервал. | |||
|- | |||
|<code>MergeMode</code><br>'''''Слияние текстовых объектов''''' | |||
|Объединение текстовых объектов с одинаковым содержимым, находящихся рядом. Содержит 2 значения:<br> | |||
- <code>Horizontal</code> – объединение по горизонтали;<br> | |||
- <code>Vertical</code> – объединение по вертикали.<br> | |||
Допустимо использование как отдельно, как и совместно.<br> | |||
Важное замечание! Объекты должны находиться вплотную друг к другу. | |||
|- | |||
|<code>NullValue</code><br>'''''Нулевое значение''''' | |||
|Строка, которая будет выводиться вместо <code>null</code> значения. Для использования необходимо отключить флажок <code>Преобразовывать null значения</code> в свойствах отчета. | |||
|- | |||
|<code>Padding</code><br>'''''Отступы''''' | |||
|Отступы текста от краев объекта, измеряемые в пикселях. | |||
|- | |||
|<code>ParagraphFormat</code><br>'''''Формат абзаца''''' | |||
|Настройки для отображения абзацев (межстрочный интервал, отступ красной строки). Подробнее об использовании этого свойства можно почитать на странице <code>Поддержка HTML тегов в тексте</code>. | |||
|- | |||
|<code>ParagraphOffset</code><br>'''''Смещение абзаца''''' | |||
|Смещение абзаца, измеряемое в пикселях. Для <code>TextRenderType.HtmlParagraph</code> используйте свойство <code>ParagraphFormat.FirstLineIndent</code>. | |||
|- | |||
|<code>RightToLeft</code><br>'''''Справа налево''''' | |||
|Вывод текста справа налево. | |||
|- | |||
|<code>TabPositions</code><br>'''''Набор позиций символов табуляции''''' | |||
|Набор позиций символов табуляции, в пикселях. Отрицательные значения не оказывают влияния на это свойство. | |||
|- | |||
|<code>TabWidth</code><br>'''''Ширина табуляции''''' | |||
|Задание ширины символа табуляции, измеряемое в пикселях. | |||
|- | |||
|<code>Text</code><br>'''''Текст''''' | |||
|Текст объекта. | |||
|- | |||
|<code>TextFill</code><br>'''''Цвет текста''''' | |||
|Цвет текста. С помощью редактора этого свойства можно выбрать любую из доступных заливок. | |||
|- | |||
|<code>TextOutline</code><br>'''''Контур текста''''' | |||
|Контур текста. | |||
|- | |||
|<code>TextRenderType</code><br>'''''HTML теги''''' | |||
|Это свойство позволяет использовать HTML теги в тексте объекта. Подробнее об использовании этого свойства можно почитать на странице <code>Поддержка HTML тегов в тексте</code>. | |||
|- | |||
|<code>Trimming</code><br>'''''Отсечение''''' | |||
|Это свойство определяет, как показывать текст, который выходит за границы объекта. Используется только в том случае, если свойство <code>Перенос слов</code> отключено. | |||
|- | |||
|<code>Underlines</code><br>'''''Подчеркивание''''' | |||
|Линии подчеркивания под каждой строкой текста. Подчеркивание можно использовать только для текста, выровненного по верхнему краю. | |||
|- | |||
|<code>WordWrap</code><br>'''''Перенос слов''''' | |||
|Это свойство определяет, надо ли переносить текст по словам. | |||
|- | |||
|<code>Wysiwyg</code><br> | |||
|Изменение режима отображения текста таким образом, чтобы добиться максимального соответствия между отображением текста на экране и на распечатке. Этот режим неявно включается, если использовать выравнивание текста по ширине или нестандартный межстрочный интервал. | |||
|- | |||
|} | |||
Текущая версия от 08:58, 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Разрываться в... |
С помощью этого свойства можно организовать "перетекание" текста между двумя объектами Текст.
Допустим, у нас есть объекты |
ClipОбрезать |
Обрезание текста, который не поместился в объекте. По умолчанию включено. |
DuplicatesПовторяющиеся значения |
Это свойство определяет, как будут печататься повторяющиеся значения. Подробнее об использовании этого свойства можно почитать в разделе Форматирование
|
FirstTabOffsetПервая табуляция |
Это свойство определяет, на сколько пикселей сдвинуть первый символ табуляции. |
FontШрифт |
Параметры шрифта. |
FontWidthRatioШирина шрифта |
Коэффициент масштабирования шрифта по ширине. По умолчанию свойство равно 1. Чтобы увеличить ширину шрифта, укажите значение > 1; чтобы уменьшить ширину, укажите значение между 0 и 1.
|
HideValueСкрывать значение |
Скрытие значений выражений, которые равны заданному значению. Подробнее об использовании этого свойства можно почитать в разделе Форматирование.
|
HideZerosСкрывать нули |
Скрытие нулевых значений выражений. Подробнее об использовании этого свойства можно почитать в разделе Форматирование.
|
HighlightУсловное выделение |
Изменение внешнего вида объекта в зависимости от заданных условий. Подробнее об использовании этого свойства можно почитать в разделе Форматирование.
|
HtmlTagsHtml теги |
Устарело, заменено на TextRenderType.
|
HorzAlign, VertAlignВыравнивание текста |
Эти свойства задают выравнивание текста внутри объекта по горизонтали и вертикали. |
LineHeightМежстрочный интервал |
Межстрочный интервал, измеряемый в пикселях. Значение по умолчанию = 0, при этом используется стандартный межстрочный интервал.
|
MergeModeСлияние текстовых объектов |
Объединение текстовых объектов с одинаковым содержимым, находящихся рядом. Содержит 2 значения: - |
NullValueНулевое значение |
Строка, которая будет выводиться вместо null значения. Для использования необходимо отключить флажок Преобразовывать null значения в свойствах отчета.
|
PaddingОтступы |
Отступы текста от краев объекта, измеряемые в пикселях. |
ParagraphFormatФормат абзаца |
Настройки для отображения абзацев (межстрочный интервал, отступ красной строки). Подробнее об использовании этого свойства можно почитать на странице Поддержка HTML тегов в тексте.
|
ParagraphOffsetСмещение абзаца |
Смещение абзаца, измеряемое в пикселях. Для TextRenderType.HtmlParagraph используйте свойство ParagraphFormat.FirstLineIndent.
|
RightToLeftСправа налево |
Вывод текста справа налево. |
TabPositionsНабор позиций символов табуляции |
Набор позиций символов табуляции, в пикселях. Отрицательные значения не оказывают влияния на это свойство. |
TabWidthШирина табуляции |
Задание ширины символа табуляции, измеряемое в пикселях. |
TextТекст |
Текст объекта. |
TextFillЦвет текста |
Цвет текста. С помощью редактора этого свойства можно выбрать любую из доступных заливок. |
TextOutlineКонтур текста |
Контур текста. |
TextRenderTypeHTML теги |
Это свойство позволяет использовать HTML теги в тексте объекта. Подробнее об использовании этого свойства можно почитать на странице Поддержка HTML тегов в тексте.
|
TrimmingОтсечение |
Это свойство определяет, как показывать текст, который выходит за границы объекта. Используется только в том случае, если свойство Перенос слов отключено.
|
UnderlinesПодчеркивание |
Линии подчеркивания под каждой строкой текста. Подчеркивание можно использовать только для текста, выровненного по верхнему краю. |
WordWrapПеренос слов |
Это свойство определяет, надо ли переносить текст по словам. |
Wysiwyg |
Изменение режима отображения текста таким образом, чтобы добиться максимального соответствия между отображением текста на экране и на распечатке. Этот режим неявно включается, если использовать выравнивание текста по ширине или нестандартный межстрочный интервал. |

