Empfehlungen für Reports vom Typ Auswertungen
Bilder / Image Behandlung
Wenn immer möglich .svg
verwenden! - nur in Ausnahmen Bilder wie .png
.
Siehe auch hier optimale Logo Formate https://encodo.atlassian.net/wiki/spaces/EB/pages/220692481/Konfiguration+von+Login-+und+Header-Logo+sowie+FavIcon#Logo-Spezifikationen
PDF Einstellungen
Damit exportierte PDFs nicht zu gross werden sind diese Export Optionen vordefiniert:
ImageQuality
-> Low oder Lowest - das sollte für Business Anwendungen reichenPDF-A Standard (PDF/A-2a)
https://www.adobe.com/de/acrobat/resources/document-files/pdf-types/pdf-a.htmlConvert Images
auf trueRasterizeImages
auf false damit Vektoren nicht konvertiert werden
Reihenfolge der Bänder auf einem Report
Um den Aufbau und das Verhalten der Reports designen zu können ist es wichtig den Aufbau der Bänder zu verstehen. Das folgende Bild zeigt die Reihenfolge der Bänder in einem DevExpress Report. Zu beachten ist, dass der Page Header auf der ersten Seite nach dem Report Header angezeigt wird.
Design für Einzel-Objekte vs. Listen
Einzel-Objekt: Ziel ist ein einzelnes Objekt darzustellen und abhängige Relationen anzuzeigen
Report- oder Page Header/Footer sollten sich auf das einzelne Objekt beziehen
Bei den Einstellungen
Einzelobjekt Report
berücksichtigen!
Liste: Ziel ist eine Listendarstellen eines Typs
Zuerst prüfen ob die Möglichkeiten der Liste mit PDF und Excel Export genügend sind! Erst bei expliziten Designs eine Auswertung erstellen.
Der Report-Header/Footer wird nur einmal vor der Liste und einmal am Ende angezeigt. Spaltenüberschriften muss mit … gelöst werden.
Detail Report vs. Sub-Report
Wenn die Darstellung einer Relation oder Liste nur innerhalb eines Reports verwendet wird, dann sollte ein Detail-Report verwendet werden, da dieser einfacher zu integrieren ist. Sobald ein bestimmtes Design resp. ein Teilreport an mehreren Stellen wiederverwendet werden kann, sollte ein Sub-Report verwendet werden.
Grundsätze Design
Grundsätzlich soll wie folgt designt werden:
Linken und rechten Seitenrand auf 0 stellen damit Randabfallende Header/Footer Designs umgesetzt werden können
Verwendung von Panels und Tabellen um die Controls hierarchisch zu verschachteln resp. auszurichten
Übersetzung von Reports:
Wo immer möglich Captions aus der Datenquelle verwenden
Restliche Labels mit konstantem Text per Hamburger-Menu → Localization übersetzen. Nie (wirklich nie!) durch Umstellen des “Language” Properties auf dem Report selber. Sonst werden auch Änderungen am Report-Layout und anderen Sachen sprach-spezifisch gemacht und das kann man eigentlich nicht mehr fixen. Der Report muss dann neu aufgebaut werden.
An den PDF Einstellungen auf dem Report wirklich nur dann etwas ändern, wenn es wirklich nötig ist. Die Gefahr riesiger PDFs ist sehr gross…
Es steht in der Web-Umgebung aus Sicherheitsgründen kein Scripting zur Verfügung
Corporate Design
Statische Designs
Ein statisches Design hat auf allen Seiten immer den gleichen Header und Footer. Es gibt da keinerlei Einfluss auf das Aussehen der Header und Footer aus den Daten. Vorgehen:
Statische Header oder Footer können in den Margin-Bändern untergebracht werden
Diese werden immer angezeigt
Dynamische Designs
Das dynamische Design muss in den folgenden Situationen angewendet werden:
den Kopf der ersten Seite im Vergleich zu den folgenden Seiten anders zu gestalten
den Header resp. Footer aufgrund der Daten gestalten (also z.B. Bilder aus der DB)
den Abschluss des Reports zu verändern
Vorgehen:
Benutzung von Report-Header/Footer-Bänder zusammen mit Page-Header/Footer-Bändern
Sub-Reports
Wiederholende Designs von Margins, Headern oder Footern können in Sub-Reports ausgelagert werden.
Fix designte, statische Elemente die nicht aus den Daten ermittelt werden -> mit normalen Sub-Reports
Informationen die aus
:1
Relationen stammen und wiederholt angedruckt werden → mit effizienterenQuinoSubReport
:n
Relationen müssen mit Master-Detail Report abgebildet werden: https://devexpress.github.io/dotnet-eud/reporting-for-web/articles/report-designer/create-reports/master-detail-reports-with-subreports.html