Рекомендации по разработке отчетов

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

 

       Очень многие форматы используют табличное представление данных. В первую очередь речь идет о таких форматах как HTML, XLS, XML, RTF, CSV. Никакие пересечения или наслоения ячеек в подобных форматах недопустимы (если брать в рассмотрение именно табличную разметку, это касается HTML и RTF), в отличии от свободы в процессе разработки шаблона отчета в дизайнере FastReport. Фильтры экспорта, как правило, максимально учитывают эти требования при переносе объектов из отчета FastReport в необходимый формат. Это реализуется при помощи специальных алгоритмов учета пересечений объектов и оптимального их расположения. В местах пересечений объектов возникают новые столбцы и строки в результирующей таблице. Это необходимо для сохранения точного позиционирования переносимых объектов FastReport и для получения максимального сходства результата и оригинального отчета. Большое количество пересекающихся объектов в отчете приводит к росту числа столбцов и строк в таблице, что усложняет дальнейшее использование результирующего файла и замедляет процесс экспорта.

 

_img390

 

       К примеру, при разработке отчета было допущено незначительное пересечение двух объектов расположенных один под другим находящихся на одном бэнде. Число записей при формировании отчета составило 150. При экспорте в формат RTF будет создано 450 строк в результирующей таблице (150 строк на каждый объект и 150 строк на пересечение). Если пересечение устранить, количество строк будет уже 300. На больших отчетах и при большем количестве объектов разница будет просто огромной, что, соответственно, скажется и на размере выходного файла.

 

_img391                _img392

Объекты на странице отчета                Объекты после экспорта в Excel

 

       В процессе разработки шаблона отчета помните об этом, если вы хотите в последующем экспортировать свои отчеты в какой-либо из табличных форматов.

 

       При создании таблиц в отчетах проследите, чтобы границы соседних ячеек соприкасались друг с другом. Важно, чтобы ячейки не пересекались и не наслаивались. Алгоритм фильтра экспорта сделает отсечение ячеек, но результат экспорта может быть далек от желаемого (вы увидите не совсем то, что хотели). Располагайте объекты так, чтобы они находились на одной линии, как по вертикали, так и по горизонтали. В этом могут помочь выносные линии:

 

clip0279

 

       Для использования выносных линий в дизайнере FastReport просто кликните мышью на горизонтальную или вертикальную линейку, ограничивающую страницу отчета слева и сверху, и, удерживая кнопку мыши нажатой, перетащите выносную линию в нужную позицию на странице. В дальнейшем вы сможете располагать объекты непосредственно вдоль выносных линий по горизонтали и вертикали.

 

       Избежать перекрытия ячеек также может помочь выравнивание текстовых объектов по сетке. Проследите за тем, чтобы было включено выравнивание по сетке в опциях дизайнера. Для упрощения выравнивания можно увеличить шаг сетки. Настройки шага сетки и выравнивания можно найти в меню дизайнера «Вид|Настройки...»:

 

clip0278

 

       Для обрамления текста рамкой лучше использовать встроенные средства текстовых объектов, а не отдельные графические объекты – линии, прямоугольники и другое. Старайтесь не использовать фоновых объектов под прозрачными текстовыми объектами.

 

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

 

       Ниже приведены примеры правильного и нежелательного расположения объектов при создании шаблона отчета.

 

clip0012                clip0013

       Неправильно                                        Правильно

 

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

 

clip0014

Неправильно

 

clip0015

Правильно

 

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

 

       Рекомендуется также внимательно ознакомиться с демонстрационными отчетами идущими в комплекте поставки FastReport для освоения основных приемов оптимальной разработки отчетов.