Настройка и использование новой подписи в FastReport

Для добавления подписи используем Meta. Находим нужный отчет, открываем его в редакторе (кнопкой Design Report) и добавляем новый компонент TfrxMemoViewSign (object MemoViewSign).

Настройка новых параметров и свойств компонента

Так как новый компонент является прямым наследником стандартного TfrxMemoView, то все его свойства остались от "предка", но есть и новые:

  • ContragentSignLabel - "метка" подписи Клиента (вместо нее будет отображаться реальная подпись), количество символов в "метке" влияет на ширину подписи
  • ContragentSignMode - режим отображения подписи (smNone - не отображать, smSign - отображать подпись, smSolidRect - отображать место подписи в виде прямоугольника)
  • ContragentSignString - строка с массивом точек подписи (используется только в Meta для тестирования отображения подписи, дает возможность сразу увидеть как она будет располагаться на экране)

Аналогичные свойства есть и для подписи Пользователя:

  • UserSignLabel- "метка" подписи
  • UserSignMode - режим отображения
  • UserSignString- строка с массивом точек подписи

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

Важно: "метки" ContragentSignLabel и UserSignLabel не должны совпадать и должны быть уникальными для всего текста в пределах одного компонента.

Кроме этого, есть общие настройки для всех типов подписей:

  • SignMaxHeight - максимальная высота подписи, необходима для узких подписей, которые могут очень сильно растянуться в высоту при относительно небольшой ширине и испортить весь внешний вид документа
  • SignPenColor - цвет линии подписи
  • SignPenWidth - толщина линии подписи

Наполнение и просмотр компонента

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

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

При необходимости, используйте стандартные HTML-тэги (необходимая для этого опция AllowHTMLTags включена по умолчанию):

  • вставить пустую строку - тэг <br/> (не является полноценным тегом <br>, но он будет убран при просмотре и т.о. можно получить пустую строку)
  • выделить текст жирным - тэг <b>..</b>
  • подчеркнутый текст - тэг <u>..</u>
  • курсив - тэг <i>..</i>

Работа с переменными осталась неизменной, как и в предыдущей версии работы с подписями (через скрипты в коде FastReport'a).

Внутри одного компонента может быть несколько "меток" Пользователя и Клиента (их число не ограничено), все они будут при подготовке отчета заменены на реальные подписи (режим smSign), либо на "закрашенный" прямоугольник (режим smSolidRect), либо просто на символ "подчеркивание", если задан режим smNone.

Такой подход избавит от необходимости располагать на Band'ах несколько однотипных компонентов и упростит работу по созданию и форматированию отчета.

При заполненных параметрах можно просмотреть как будут выглядеть подписи прямо в Дизайнере FastReport. Для этого нужно запустить Предварительный просмотр (F9). При необходимости откорректировать расположение подписей и вид отчета.

Подписи будут накладываться поверх текста документа, как штамп. Тем самым не будет изменяться форматирование исходного документа и можно будет на этапе создания "спрогнозировать" как документ будет выглядеть в конечном варианте.