Arten von Report

Standardreport

Dies ist ein Report, der mit dem System mitgeliefert und direkt aus dem Menu aufgerufen wird. Diese
Variante kommt, wenn ein Report aus dem Menu aufgerufen und kein Custom Report ausgewählt
wird und der Report nicht mit dem Report Designer übersteuert ist.

Report Designer

Dies ist kein Report im eigentlichen Sinne. Es handelt sich vielmehr um eine
Übersteuerungsmöglichkeit für einen Standardreport. Diese Übersteuerung kommt dann zum Zuge,
wenn der Benutzer keinen Custom Report auswählt. Pro Report ist genau eine Übersteuerung
möglich.

Custom Report

Dies sind vom Benutzer angepasste Varianten eines Reports. Sie müssen vom Benutzer aktiv gewählt
werden. Pro Report sind unbeschränkt viele möglich. Sie können jederzeit vom Benutzer gelöscht
werden. Über den Custom Report ist es auch möglich einen Ad-hoc Report zu erstellen.

Standard Custom Report

Dies ist eine Spezialform des Custom Reports. Im Grunde ist es ein Custom Report, der jedoch mit
dem System geliefert wird und nicht gelöscht werden kann. Auch sie müssen vom Benutzer aktiv
ausgewählt werden.

Custom Reports mit einem weissen Kreis und weissem Strich auf rotem Grund in der Spalte Typ sind
Standard Custom Reports. Die anderen mit der Person im Typ sind Custom Reports.

Einsatzgebiete

Report Designer

Anpassen vom Standardlayout an das Corporate Identity oder an Fenster von Couverts.

Custom Report

Hier können Varianten für einen speziellen Verwendungszweck (z.B. fürs Reporting ans Management
– Monatsbericht) erstellt werden. Oder gezielte Kontrolllisten geschaffen werden. Ebenfalls sind Adhoc
Reporte möglich; d.h. Reporte die man so nur genau einmal braucht.

Standardreport und Standard Custom Report

Können vom Benutzer nicht verändert werden.

Grenzen

Über die vom Benutzer beeinflussbaren Methoden sind Layout Anpassungen möglich. Mit
entsprechendem Aufwand könnte sogar noch ein Chart in den Report integriert werden. Ebenfalls
kann ein Report so umgestaltet werden, dass er wie eine andere Liste ist. Es ist nicht möglich Fehler
in den Standardlisten über diese Mittel zu beheben. Dafür wird immer noch ein Patch benötigt.
Ebenfalls ist ein Report grundsätzlich auf die Daten beschränkt, die dem Original zur Verfügung
stehen, obwohl diese Daten um zusätzliche Informationen erweitert werden können, wenn im Report
Scripting zum Einsatz kommt.

Datenherkunft für die Report

Ruft man einen Report auf, wird mit den Einschränkungen, die in der Auswahlmaske getroffen
worden sind, auf dem Server eine Datenanfrage gestartet. Der Server ruft danach eine Prozedur auf,
die die Daten von der Datenbank liest. Diese Daten werden dann über den Server (nicht direkt von
der Datenbank) an den Report in einem so genannten Dataset gegeben. Der Report kommuniziert
nie direkt mit der Datenbank.

Aufruf der Designer

Report Designer

Aufgerufen wird der Report Designer über das Menu (Administration / Systemverwaltung /
Report-Designer).

Custom Report Designer

Report Designer

Custom Report Designer

Übung: Kopf eines Reports umgestalten

Rufen Sie den Report Kontoauszug auf und ändern Sie die Schriftart für die Kontobezeichnung auf
eine andere ab, vergrössern Sie bei 2 Feldern die Schrift und ändern Sie die Schriftfarbe auf grün für
die Kontobezeichnung.

Übung: Feld ersetzen

Löschen sie das Feld Stapel und setzen Sie an dessen Stelle das Feld Lfnbr ein.

Custom Report Speichern

Achten Sie bei der Bezeichnung darauf, dass sie aussagekräftig ist und der Custom Report rasch
identifiziert werden kann. Denn der Benutzer sieht nur diese Bezeichnung und muss dann
entscheiden, ob das seine gewünschte Variante ist. Bitte beachten Sie, dass die Standardwerte den
neuen Report nur für den aktuellen Benutzer im aktuellen Mandant sichtbar machen. Wenn Sie den
Report für anderen Benutzer verfügbar machen möchten, klicken Sie „Für alle Benutzer“. Sie können
weiter wählen, ob der Report nur für Sie oder für alle Benutzer in allen Mandanten erscheinen soll.


Für alle sichtbar machen

In allen Mandanten sichtbar machen

Übung: Speichern

Speichern Sie den soeben erstellen Custom Report ab und rufen Sie den Report mit dem Custom
Report auf. Gehen Sie anschliessend in den Custom Report Editor und öffnen diesen Report
wieder.

Custom Report transferieren

Wurde ein Custom Report erstellt, so kann er jederzeit in ein anderes System transferiert werden.
Dies wird gemacht, indem der Custom Report geöffnet wird, unter Datei / Speichern in Datei auf
einen Memorystick / Netzwerklaufwerk geschrieben wird. So kann dann am Zielsystem der Custom
Report Designer aufgerufen und unter Datei / Laden aus Datei den soeben gespeicherten Custom
Report geöffnet werden. Dieser muss dann nur noch gespeichert werden.

Übung: Custom Report transferieren

Speichern Sie Ihren Custom Report auf die Harddisk ab. Löschen Sie den Custom Report (Hinweis:
dies geht über Datei / Laden ab DB / Löschen). Schliessen Sie den Report Designer und schauen Sie
ob der Report noch vorhanden ist. Anschliessend importieren Sie den Report wieder.

Felder formatieren

Felder können formatiert werden, so dass z.B. Gleitkommazahlen mit immer der gleichen Anzahl
Nachkommastellen oder Datumsfelder mit einem bestimmten Layout versehen werden. Für eine
Zeichenkette gibt es keine solche Formatierung. Gleitkommazahlen und Ganzzahlen können über
folgendes Muster formatiert werden: -#‘##0.00
Das Minuszeichen (-) steht dabei als Platzhalter, wo bei negativen Zahlen ein Minus stehen soll. Das
Rautezeichen (#) steht, falls die Zahl den Platz braucht. Die Null (0) steht dafür, dass hier immer eine
Ziffer stehen muss. Das obige Beispiel formatiert also eine Zahl, welche einen Minuswert aufweist, die
Tausendertrennzeichen und immer zwei Nachkommastellen anzeigt. Datumsfelder können mit einer
Kombination aus Buchstaben formatiert werden. Die wichtigsten sind:


ddSteht für den Tag, jedoch werden bei Tagen 1 – 9 immer eine führende 0
vorangestellt
MMDer Monat als Zahl geschrieben, jedoch bei den Monaten 1 – 9 wird immer eine
führende 0 vorangestellt
MMMDer Monat wird als Kurzform ausgeschrieben
MMMMDer Monat wird voll ausgeschrieben
yyyyDas Jahr
hhDie Stunden, jedoch werden bei den Stunden 1 – 9 immer eine führende 0
vorangestellt
mmDie Minuten, jedoch werden bei den Minuten 1 -9 immer eine führende 0
vorangestellt
ssDie Sekunden, jedoch werden bei den Sekunden 1 -9 immer eine führende 0
vorangestellt

Übung: Felder formatieren

Rufen Sie den Report Kontoauszug auf und formatieren Sie das Datumsfeld valdte so um, dass
nur noch der Monat voll ausgeschrieben angezeigt wird.

Hoch / Querformat

Die Ausrichtung des Papiers (ob Hoch- oder Querformat) kann man über im Designer unter Datei / 
Report Propertieseinstellen. Und zwar dort unter Printer Settings. Über diese Eigenschaften lassen
sich auch andere Interessante Dinge einstellen, wie z.B. den Seitenrand.

Templates

Gewisse Dinge wie z.B. das Logo oder die Fusszeile, kommen nicht direkt aus dem Report. Sondern
kommen aus einem Template. D.h. einer Vorlage. Dies damit alle Report gleich aussehen, was
Reportkopf und –Fuss betrifft. Es gibt sogar 2 solcher Templates: eines für A4 hoch und eines für A4
quer. Diese Templates können nicht geändert werden und kommen immer in den Report rein.
Custom Reporting erlaubt nicht, dass diese unterdrückt werden. Welches der beiden zum Einsatz
kommen muss, entscheidet das Programm selbständig. Es ist somit kein Problem ein Report der im
Standard A4 hoch ist, im Custom Reporting auf A4 quer umzustellen.

Filter

Über den Filter können die Daten, die für den Report gelesen wurden, weiter eingeschränkt werden.
Dabei kann auf jedes Feld eingeschränkt werden. Aber Achtung, diese Einschränkung ist dann fest im
Custom Report hinterlegt und gilt immer, egal was der Benutzer in der Auswahlmaske wählt.
Um den Filter zu benutzen muss man einfach beim Datenbankfeld, welches man filtern möchte, den
Von- und Bis-Wert eingeben. Sie können über alle Datenbankfelder filtern, die im Report sind. Sobald
alle Werte eingetragen sind, kann man filtern klicken.
Ich empfehle den Filter sparsam zu gebrauchen, da sonst ungewünschte Resultate erscheinen
können.

Übung: Filter

Rufen Sie die Adressliste auf und setzen Sie einen Filter, so dass nur noch die Adressen kommen, die
mit Ac beginnen.

Sortierung

Über die Sortierung können die gelesenen Daten anders sortiert werden. D.h. die Reihenfolge, wie sie
vom Report verarbeitet werden, ändert sich. Um dies zu tun, tragen Sie die Namen der Felder ein,
nach denen sortiert werden soll. Trennen sie die einzelnen Felder durch ein Komma. So wird zuerst
nach dem ersten Feld sortiert und wenn mehrere Daten den gleichen Wert haben, dann wird nach
dem zweiten sortiert usw. Wollen Sie absteigend sortieren, so schreiben sie DESC durch einen
Leerschlag getrennt in dieses Feld. Sobald Sie die Sortierung geschrieben haben, müssen Sie filtern
klicken, um die Sortierung zu starten.

Übung: Sortierung

Erstellen Sie für den Report Kontoauszug einen Custom Report, der die Daten nach Gegenkonto und
Belegnummer sortiert.

Gruppen im Report bilden

Wenn Sie z.B. bei einer OP Liste die Debitoren und deren Rechnungen sehen wollen, dann wollen Sie
sicher nicht für jede Rechnung immer wieder die Debitoren Nummer und –Name angedruckt haben,
sondern diese Informationen nur einmal, wenn ein anderer Debitor kommt. Für solche Fälle gibt es
Gruppen. Eine Gruppe fasst Daten, die in einem Feld gleich sind zusammen. Für solche Daten können
dann Gruppenköpfe bzw. –Füsse definiert werden. Wenn Sie eine Gruppe haben wollen, die sich über
mehrere Felder erstreckt, dann müssen sie mehrere Gruppen machen; für jedes Feld eines und die
Informationen erst in der letzten Gruppe andrucken.

Wichtig ist, dass wenn Gruppen eingefügt werden, dass dann auch die Sortierung entsprechend
gesetzt wird. Dies ist wichtig, damit dann auch alle Daten, welche die gleichen Werte wie das
Gruppenfeld haben, auch hintereinander vom Report abgearbeitet werden. In unserem Beispiel
bedeutet dies, dass alle Rechnungen vom gleichen Debitor hintereinander erscheinen. Es kann sonst
passieren, dass einen Teil der Rechnungen angezeigt wird und weiter hinten im Report noch mehr
Rechnungen des gleichen Debitors folgen. Im besten Fall ist dies nur ein Schönheitsfehler, es kann
sich aber auch gravierend auswirken, nämlich dann, wenn Totale gebildet werden. Dann würden in
unserem Beispiel zwei Totale für den gleichen Debitor gebildet werden, wenn nicht sortiert wird. Die
Sortierung ist somit extrem wichtig, wenn mit Gruppen gearbeitet wird.

Übung: Gruppen

Erstellen Sie für den Report Buchungsprotokoll einen Custom Report. Fügen Sie eine Gruppe für das
Feld Soll ein und speichern Sie diesen Report ab.

Totale

Für Gruppen können auch Totale gerechnet werden. Dies macht man, indem das gewünschte Feld
auf den Report gezogen wird. In der Feldeigenschaft können unter Summary die Einstellungen
vorgenommen werden.

SummaryFunc

Was gerechnet werden soll. Das meiste wird Sum sein; d.h. die Werte
zusammen zählen
SummaryGroupHier ist die Gruppe auszuwählen. Ändert sich diese beginnt die Berechnung
wieder bei 0, wenn SummaryRunning auf Group steht.
SummaryRunningGibt an, wann die Berechnung wieder mit 0 beginnen soll.
SummaryTypeGibt an, wie die Berechnung im Verhältnis zur Seite berechnet werden soll.

Solche Totale werden berechnet während sich der Report aufbaut. D.h. setzt man ein Total in einen
Gruppenkopf, so wird diese Zahl immer dem ersten Datensatz der Gruppe entsprechen, aber nicht
das Total sein. Faktisch kann dies nur im Gruppenfuss oder Reportfuss gemacht werden, da sonst die
Zahlen nicht vollständig sind.

Übung: Gruppentotal

In dem soeben erstellten Custom Report fügen Sie bitte ein Total für das Feld Betrag ein.

Calculated Fields

Dabei handelt es sich um Felder, die nicht 1:1 einem Feld von den Daten entsprechen, sondern um
einen Wert, der erst beim Reportdruck berechnet bzw. zusammengebaut wird. Es kann sich dabei
um mathematische Berechnungen oder um Verkettungen von einzelnen Feldern handeln.
Es ist sogar möglich Funktionen zu nutzen, die das Programm zur Verfügung stellt. Es wird hier nicht
weiter auf diese Funktionen eingegangen. Die Calculated Fields haben den folgenden Aufbau: ein
Gleichheitszeichen (=), gefolgt vom Ausdruck und einem Strichpunkt (;). Soll mit Werten aus den
Daten gerechnet werden, so kann einfach der Feldname hingeschrieben werden.

Hier ein paar Beispiele für mathematische Berechnungen:

= 2*3;

Dieses Beispiel führt die Berechnung 2 mal 3 aus. Dies ist noch witzlos, macht aber Sinn, wenn wir
uns das nächste Beispiel anschauen:

= betrag * 90 / 100;

Dieses Beispiel zeigt 90% vom Betrag an, wobei der Betrag direkt aus den Daten kommt. Es können
auch mehrere Felder miteinander verrechnet werden:

= betrag * MwSt. Ansatz / 100;

Dieses Beispiel berechnet die MwSt. auf den Betrag. Man beachte, dass sowohl der Betrag wie auch
der MwSt. Satz aus den Daten kommen. Dies funktioniert solange alle Felder, die an der Berechnung
beteiligt sind, d.h. numerisch sind (Ganzzahl oder Gleitkommazahl).

Nebst der mathematischen Berechnung, können auch Felder miteinander verknüpft werden. Dies
funktioniert, wenn die Felder alphanumerisch sind.

=name + vorname;

In diesem Fall wird der Vorname direkt hinter den Namen geschrieben. Das ist unschön, da kein
Leerzeichen diese beiden Werte trennt. Es kann dazu die konstante Zeichenketten verwenden, indem
der konstante Wert zwischen doppelten Apostrophen (“) eingeschlossen wird:

= name + “ “ + vorname

Dieses Beispiel schreibt den Vornamen mit einem Leerschlag getrennt direkt hinter den Nachnamen.

Übung: Calculated Fields

Erstellen Sie für den Report Adressliste einen Custom Report und fügen Sie ein neues Feld ein,
welches die Werte der Felder Name und Vorname hat. Diese beiden Werte durch einen Leerschlag
getrennt.

Übung: Calculated Fields 2

Rufen Sie die Umsatzliste Kreditoren auf und verdoppeln Sie den Betrag.

Mehrsprachigkeit

Jeder Custom Report kann / sollte übersetzt werden. Dies macht man im Custom Report
Designer. Nach Öffnen des Custom Reports kann dann über den Menüpunkt Übersetzungen, die
Übersetzung für die gewünschte Sprache gemacht werden. Damit man die zu übersetzenden
Bezeichnungen sieht, muss die Zielsprache (in die übersetzt werden soll) ausgewählt werden.

Skripting

Nebst den bisher erwähnten Methoden, kann noch ein Skriptingcode eingesetzt werden, d.h. in einem
Custom Report kann noch programmiert werden. Damit sind noch mehr Möglichkeiten offen.
Allerdings erfordert dies, dass man programmieren kann und die Sprache C# beherrscht.