Искусство использования свойства Suppress

Оценить
(0 голоса)

Если вы внимательно ознакомитесь с содержимым окна редактора Format Editor, то обнаружите, что практически все свойства форматирования могут быть установлены условно. Одним из наиболее гибких свойств является свойство Suppress (Подавить), отображаемое на вкладке Common. В абсолютном форматировании с помощью этого свойства редко когда возникает необходимость. (Зачем вообще помещать объект в отчет, если вы намереваетесь его подавить?) Однако иногда без него никак не обойтись. Например, чтобы формула, присваивающая переменной нулевое значение в заголовке группы, работала правильно, она должна быть физически помещена в заголовок, однако, вы вряд ли захотите, чтобы в верхней части каждой группы отображались нули.

А вот ситуации, когда полезным может оказаться условное подавление объекта, встречаются гораздо чаще. Ниже будет представлено несколько примеров таких ситуаций с булевскими формулами, которые следует в них применять к свойству Suppress.

•    Помещение слова “продолжение” в повторяющийся заголовок группы. В главе 3 мы уже рассказывали о повторяющемся заголовке группы. Если вы выберете эту опцию в диалоговом окне Group Options, раздел верхнего заголовка группы будет повторяться в верхней части страницы в случае продолжения группы на следующей странице. Указание на то, что рассматриваемая группа продолжается с предыдущей страницы, делает отчет более удобочитаемым. Поместите текстовый объект, который содержит слово “продолжение” или что-то подобное, в заголовок группы рядом с полем Group Name (Имя группы). Затем вам придется подавить его, если он находится не в повторяющемся заголовке. Вы можете условно подавить этот текстовый объект с помощью следующей булевской формулы:

Not InRepeatedDroupHeader

Совет. Для условного подавления объекта применяется булевская формула; когда эта формула возвращает true, объект будет подавлен.

•    Вывод сообщения о бонусе только для определенных записей. У вас может возникнуть желание сделать так, чтобы в случае, если значение определенного поля (например, такого как поле заказа или поле сотрудника) превысит заранее определенный уровень, на экране появлялось соответствующее сообщение. В этом случае просто создайте текстовый объект, отображающий что-нибудь типа “Поздравляем! Вы превысили установленный уровень продаж”. Опять-таки вам придется продумать все моменты, когда вы не хотите, чтобы этот объект появлялся, а не когда хотите. Предположим, что таким уровнем продаж является сумма $10 ООО, тогда подавление текстового объекта может быть реализовано с помощью следующей булевской формулы:

(AccountRep.Sales) <= 10000

•    Отображение различных заголовков на второй и последующих страницах. Чаще всего необходимо, чтобы на первой странице название отчета отображалось в расширенной форме, например, включало логотип компании, и крупным шрифтом. Однако на всех Остальных страницах оно должно отображаться в сокращенной форме без логотипа и, возможно, включать слово “продолжение”. Если вы поместите “полное” название в заголовок отчета, оно будет отображаться только в начале отчета. С другой стороны, если вы поместите “сокращенное” название в заголовок страницы, оно будет отображаться на каждой странице, в том числе и на первой. Создайте текстовый объект, содержащий “сокращенное” название, и поместите его в заголовок страницы вместе с заголовками столбцов и другими объектами, которые, по идее, должны появляться на каждой странице. Затем условно подавите текстовый объект, содержащий название, с помощью приведенной ниже формулы (Page Number — это встроенная функция, доступная в окне Function Tree редактора Formula Editor в категории Print State (Состояние печати); она возвращает номер страницы):

Page Number = 1

Совет. Можно также создать строковые формулы, реализующие примерно ту же функциональность, что была продемонстрирована в рассмотренных выше примерах, и поместить их в соответствующие разделы отчета. Однако во избежание потенциальной инеразбери- хи” с формулами, в некоторых случаях наилучшим решением будет просто создать текстовые объекты и условно подавить их.

 

Специальные шрифты, графические изображения и вычерчивание линий
Использование растровой графики
Динамическое расположение графических объектов в Crystal Reports XI
Рисование линий и рамок
Форматирование текстов и абзацев

Добавить комментарий


Защитный код
Обновить