Hinweise zur Formular

Hinweise zur Formular
Bedienungsanleitung REFLEX
Formularanpassung
F-1
Formularanpassung
Inhalt:
Formularanpassung ............................................................................................................................... 1
F.1
Formulartexte ............................................................................................................................. 1
F.2
Formulare ändern mit CrystalReports ......................................................................................... 6
F.2.1
Organisation der Report- und Formulardateien....................................................................... 6
F.2.2
Starten Crystal, Grundeinstellungen ....................................................................................... 8
F.2.3
Grundsätzlicher Aufbau eines Reports ................................................................................. 13
F.2.3
Grundsätzliche Elemente eines Reports ............................................................................... 15
Textfelder ......................................................................................................................................... 21
F.2.4
Formatierung der Reportbereiche ......................................................................................... 25
F.2.5
Verknüpfungen der Datenbank-Tabellen .............................................................................. 27
F.2.6
Erstellen einer Artikel-Liste ................................................................................................... 30
F.2.7
Erstellen einer Auftragsliste .................................................................................................. 32
F.2.8
Erstellen eines Angebots/Auftrags ........................................................................................ 33
F.2.9
Tips und Tricks ..................................................................................................................... 54
F.1 Formulartexte
Normalerweise wollen Sie auf einem Angebot, Auftrag usw. Ihren Firmennamen, die Anschrift usw.
ausgedruckt haben.
Damit Sie diese nicht direkt in die Druckformulare (mit CrystalReports) einfügen müssen, haben die
mitgelieferten Standardformulare Platzhalter (Variablen), die mit Ihren Texten gefüllt werden.
Was sind Formulartexte?
Formulartexte sind Textfelder, die Sie mit REFLEX in der Datenbank speichern und dann auf
CrystalReports-Formularen verwenden können. Sinn der Sache ist es, dass Sie Ihren Briefkopf oder –
Fuß mit Variablen (Platzhaltern) versehen können, die dann vom Programm beim Ausführen des
Drucks/der Vorschau mit Inhalten gefüllt werden.
Speziell Felder
Diese Felder werden direkt vom Programm gefüllt und können in jedem Report/Formular verwendet
werden:
UserKurzname
UserVorname
UserNachname
Kurzname des aktuell am Programm angemeldeten Benutzers
Vorname des aktuell am Programm angemeldeten Benutzers
Nachname des aktuell am Programm angemeldeten Benutzers
Die Anwendung der Felder in CrystalReports wird unten beschrieben.
Bedienungsanleitung REFLEX
Formularanpassung
Sie können die Formulartexte in REFLEX mit „Datei  Optionen  Programmparameter und
Einstellungen“ eingeben oder verändern:
Das Eingabefenster:
Die kursiven Namen neben den Eingabefeldern zeigen die Formelfelder für CrystalReports (s.u.).
Die angezeigte Schriftart ist nur symbolisch gemeint, die verwendete Schriftart legen Sie in
CrystalReports fest!
F-2
Bedienungsanleitung REFLEX
Formularanpassung
F-3
FirmaName1
FirmaName2
FirmaName3
FirmaStr
FirmaLand
FirmaPLZ
FirmaOrt
FirmaAbsenderZeile
FirmaTel
FirmaFax
FirmaInternet
FirmaEMail
FirmaFuss1
FirmaFuss2
FirmaFuss3
FirmaFuss4
FirmaFuss5
FirmaFuss6
FirmaFuss7
FirmaFuss8
FirmaFuss9
FirmaFuss10
IDNummer
Einfügen der Formelfelder in CrystalReports:
Die Variablen werden in CrystalReports behandelt wie Formelfelder. Diese Formelfelder müssen
bestimmte Namen haben, damit das Programm sie beim Drucken finden und ausfüllen kann. Die
Formelfelder sind Textfelder, die man anfangs z.B. mit einem leeren Text füllt (man kann aber auch
einen beliebigen Text in die Formel schreiben, weil dieser Text ja später vom Programm überschrieben
wird!).
Wichtig:
Damit CrystalReports die Felder als Textfelder erkennt, muss man die Formel mit doppelten
Anführungszeichen ( “ )beginnen und beenden!
Wenn Sie ein Formelfeld einfügen wollen, so öffnen Sie den gewünschten Report mit CrystalReports
und klicken dann auf...
Bedienungsanleitung REFLEX
Formularanpassung
F-4
...geben der Formel also einen der festgelegten Namen und füllen die Formel mit einem leeren Text,
dargestellt durch zwei Hochkommas. So legen Sie alle gewünschten Formeln an.
Dann fügen Sie die Formel in Ihren Report ein.
Bedienungsanleitung REFLEX
Formularanpassung
Beispiel:
F-5
Bedienungsanleitung REFLEX
Formularanpassung
F-6
F.2 Formulare ändern mit CrystalReports
Mit Hilfe von Report-Formularen werden die Druckausgaben (bzw. die Vorschau am Bildschirm) von
REFLEX durchgeführt. Report-Formulare geben das Gerüst vor, das dann mit den Daten aus der
Datenbank gefüllt wird.
 Wenn Sie die mitgelieferten Druckformulare ändern wollen, müssen Sie CrystalReports
besitzen. Damit können Sie eigene Formulare und Reports entwerfen.
Von der Bezeichnung her unterscheiden wir zwei Begriffe:
Reports...
sind Listen, Auswertungen usw., mit deren Hilfe Datensätze aus der Datenbank (z.B.
Adressen) aufgelistet und ggf. berechnet werden.
Formulare...
sind spezielle Report-Dateien, mit denen Formulare bedruckt oder ausgedruckt werden.
Ein Formular bezieht sich immer auf einen bestimmten Beleg, z.B. Lieferschein,
Rechnung usw.
Technisch gesehen handelt es sich bei beiden um Report-Dateien von CrystalReports, nur der
Anwendungsfall unterscheidet die beiden!
Die Reports/Formulare von REFLEX werden mit dem Programm CrystalReports eingegeben und
verändert. Einzelheiten zur Bedienung von CrystalReports werden im dortigen Handbuch erläutert. In
diesem Handbuch hier erfahren Sie Details zur Gestaltung von Formularen und Reports (Listen) in
Verbindung mit REFLEX.
Sie können die standardmässig mitgelieferten Formulare selbst verändern, wenn Sie CrystalReports
erworben haben oder Sie können sich die Formulare durch einen Spezialisten anpassen lassen. In
diesem Fall müssen Sie CrystalReports nicht unbedingt erwerben! Da CrystalReports auch für eigene
Listen und Auswertungen benutzt werden kann, empfehlen wir die Anschaffung dieses Tools.
F.2.1
Organisation der Report- und Formulardateien
Jeder Report bzw. jedes Formular ist eine Datei. In dieser Datei befinden sich die Festlegungen für das
Design, die Datenbank-Definitionen usw. Da es sehr viele Reportdateien gibt, wäre es sehr unübersichtlich, wenn sich alle Report- und Formulardateien in einem einzigen Ordner befinden würden. Aus
diesem Grund werden die Ordner für die Reports strukturiert gespeichert:
Ein weiterer wichtiger Grund:
Wenn der Benutzer in REFLEX ein Formular auswählt (z.B. beim Drucken eines Angebots), so erhält er
die Anzeige der Dateien, die sich in dem festgelegten Verzeichnis (z.B.
\REFLEX\FORMULAR\ANGEBOT) befinden.
Bedienungsanleitung REFLEX
Formularanpassung
F-7
Dateien der Formulare:
Formulare werden in einem speziellen Unterverzeichnis (Ordner) abgelegt. Standardmäßig heißt es
\REFLEX\FORMULAR (normalerweise auf einem File-Server). Darin befinden sich weitere
Unterverzeichnisse, die die Formular-Reports - nach Kategorien getrennt - beinhalten, z.B.:
Angebot
Auftrag
Adr
BESTELL
Rechnung
Liefsch
Mahnung
Angebote (und Anfragen!)
Aufträge
Adressen-Formulare
Bestellungen (Option)
Rechnungen/Gutschriften
Lieferschein/Leihschein
Mahnung (Lager)
usw.
Dateien der Listen:
Die Reports für Listen und Auswertungen werden in einem speziellen Unterverzeichnis (Ordner)
abgelegt. Standardmäßig heißt es \REFLEXREPORT. Darin befinden sich weitere Unterverzeichnisse,
die die Reports - nach Kategorien getrennt - beinhalten, z.B.:
Adr
Mart
Adressen
Material und Artikel
usw.
 Wenn Sie nicht wissen, in welchem Verzeichnis die Reports für eine bestimmte Liste stehen
müssen, so öffnen Sie einfach das gewünschte Druckfenster im Programm. Auf der
Registerseite “Formulare” wird Ihnen der richtige Pfad angezeigt!
Die “Grundpfade” Formular/Reports kann man in der entsprechenden INI-Datei ändern. Die
Unterverzeichnisse sind jedoch durch das Programm festgelegt und können nicht geändert werden!
Bedienungsanleitung REFLEX
Formularanpassung
F.2.2
F-8
Starten Crystal, Grundeinstellungen
Starten Sie CrystalReports, indem Sie das CrystalReports-Objekt aus dem Ordner Start/Programme für
Crystal Reports in der Task-Leiste anklicken.
Anfangs zeigt sich Crystal nur mit einem leeren Fenster. Erst nach dem Öffnen oder Neu-Anlegens
eines Reports wird das Fenster gefüllt.
Wenn Sie Crystal-Reports zum ersten Mal starten, müssen Sie zuerst die Grundeinstellungen über das
Menü Datei->Optionen vornehmen. Diese werden nachfolgend beschrieben.
Bedienungsanleitung REFLEX
Formularanpassung
F-9
Grundeinstellungen:
(1) Diese Optionen sind vor allem für den Komfort beim Arbeiten sinnvoll. Wenn Sie hier andere
Einstellungen bevorzugen, können Sie diese durchaus verwenden!
Die Option “Feldnamen anzeigen” in (2) ist jedoch wichtig, damit Sie die Feldnamen der
Datenbankfelder direkt sehen können und nicht erst nach einem Mausklick. Das automatische Einfügen
von Detailfeldtiteln in den Report durch Crystal-Reports ist jedoch eher lästig!
Das Gitternetz (4) ist eine Hilfe, die man durchaus in Betracht ziehen kann.
Bedienungsanleitung REFLEX
Formularanpassung
F-10
Datenbank-Optionen:
Diese Optionen sind z.T. sehr wichtig und sollten unbedingt korrekt eingestellt werden!
In (1) können Sie bestimmen, was Sie sehen wollen, wenn Sie Datenbanktabellen in einen Report
einmischen wollen. Bei SQL-Servern (wie z.B. Oracle©) können Sie über die Besitzer-Angabe einen
direkten Zugriff auf die Datenbank-Tabellen erhalten (und die vielen anderen Tabellen u.U.
ausblenden).
Die Optionen (2) und (3) sind Geschmackssache.
Editoren-Optionen:
Diese Optionen können Sie nach Ihrem “Geschmack” einrichten:
Bedienungsanleitung REFLEX
Formularanpassung
F-11
Berichterstellung:
Ab Crystal-Reports Version 8 unterstützt Crystal-Reports auch die Oracle-Zeitfelder, daher sollte man
diese Option (1) wie angegeben benutzen.
Wenn die Option (2) angegeben wird, wandelt Crystal-Reports alle Felder, die keinen Inhalt haben
(also nichts, nicht einmal den Wert "0") in den Wert 0 um. Das erleichtert die Abfrage in Formeln, wo
man bei Zahlenfeldern dann nur auf 0 abfragen muss und nicht auf 0 oder NICHTS (NULL).
Bedienungsanleitung REFLEX
Formularanpassung
F-12
Die Optionen (3) und (4) dürfen auf gar keinen Fall eingeschaltet sein, weil Crystal-Reports sonst die
Daten aus der Datenbank mit im Report speichern würde. Der Report würde also immer nur mit diesen
Daten gedruckt werden, niemals mit den aktuellen Werten! Leider ist diese Option standardmässig
eingeschaltet!
Die Option (5) empfiehlt sich ab der Crystal-Reports Version 8 einzusetzen, auch wenn man dadurch
u.U. bestehende Reports nachbearbeiten muss.
Standard-Festlegungen für Felder:
In diesem Optionsfenster können Sie Standardvorgaben für die einzelnen Feldtypen angeben. Das
erleichtert das spätere Einfügen dieser Felder in den Report, weil die meistverwandten Einstellungen
(z.B. Nachkommastellen, Jahreszahl-Stellen usw.) schon eingestellt sind.
Standard-Schriftarten:
In diesem Optionsfenster können Sie Standardschriftarten für die einzelnen Feldtypen angeben. Das
erleichtert das spätere Einfügen dieser Felder in den Report, weil die meistverwandten Einstellungen
(z.B. Schriftname, Grösse usw.) schon eingestellt sind.
Bedienungsanleitung REFLEX
Formularanpassung
F.2.3
F-13
Grundsätzlicher Aufbau eines Reports
Jeder Report (oder jedes Formular) besteht aus diesen Bereichen:
Name
Abkürzung
Beschreibung
Berichts-Kopf
BK
Wird von Crystal-Reports auf der ersten Seite oben gedruckt.
Seiten-Kopf
SK
Wird auf jeder Seite oben gedruckt (also auch auf der ersten
und letzten Seite).
Gruppen-Kopf
GK
Optional: In einem Report können Sie beliebige Gruppierungen
vornehmen, z.B. nach alle Aufträge nach der Adressnummer
sortiert und gruppiert. Der Gruppen-Kopf wird über dem DetailBereich gedruckt.
Details
D
Hier werden die Einzelheiten (Details) zu den angesprochenen
Datensätzen ausgegeben.
Gruppen-Fuss
GF
Optional: Der Gruppen-Kopf wird unter dem Detail-Bereich
gedruckt. Enthält normalerweise Summenfelder der Gruppe.
Seiten-Fuss
SF
Wird auf jeder Seite unten gedruckt (also auch auf der ersten
und letzten Seite)
Berichts-Fuss
BF
Wird von Crystal-Reports auf der letzten Seite unten gedruckt
Enthält normalerweise Summenfelder o.ä.
Beispiel:
Bedienungsanleitung REFLEX
Formularanpassung
F-14
Unterteilung der Bereiche:
Die Bereiche sind manchmal nochmals unterteilt in logische Unterbereiche. Diese Unterbereiche haben
jeweils unterschiedliche Aufgaben zu erfüllen, so soll z.B. der Bereich mit der Lieferanschrift nur dann
ausgedruckt werden, wenn es eine Lieferanschrift für das Angebot gibt. Wenn keine Lieferanschrift
gespeichert ist, soll der Bereich unterdrückt werden.
Manchmal will man, dass eine Zeile, die leer ist (weil das entsprechende Datenbankfeld keine Daten
beinhaltet) nicht als Leerzeile gedruckt wird. In diesem Fall muss man das entsprechende Datenbankfeld in einen eigenen Unterbereich plazieren und diesen Unterbereich über die Formatierung
unterdrücken, wenn er leer ist.
In einem Formular kann es z.B. diese Unterbereiche geben:
Berichtkopf A
Berichtkopf B
Berichtkopf C
Berichtkopf D
Berichtkopf E
Berichtkopf F
Berichtkopf G
Berichtkopf H
Erste Seite oben mit Firmensymbol etc.
Erste Seite oben mit kleiner Absenderangabe für Fensterumschläge.
Erste Seite oben mit der Adresse
Erste Seite oben mit Straße, PLZ, Ort und Angebotsdaten.
Lieferanschrift
Persönliche Anrede, wenn eine persönliche Anrede gespeichert ist.
Alternative zu F: Persönliche Anrede, wenn in Adresse keine persönliche
Anrede gespeichert ist (“Sehr geehrte Damen und Herren”).
Einleitungstext aus dem Angebotskopf.
Seitenkopf A
Kopfteil der Folgeseiten mit kurzen Anschrifts- und Angebotsangaben, die
erst ab der 2. Seite gedruckt werden sollen.
Seitenkopf B
Kopfteil aller Seiten mit der Überschriftszeile über den Positionen.
Gruppenkopf #1 A Kapitelüberschriften
Detail A
Detail B
Detail C
Positionsdruck mit Menge, Text und Preis.
Ausdruck der Stunden bei Positionen mit Stundenangaben.
Text, der manuell zu einer Position hinzugefügt wurde.
Gruppenfuß #1 A Zwischensumme pro Kapitel
Berichtfuß A
Berichtfuß B
Berichtfuß D
Berichtfuß E
Berichtfuß F
Berichtfuß G
Berichtfuß H
Seitenfuß
Summen der Angebotspositionen
Frachtkosten
Netto-Betrag
Mehrwertsteuer
Gesamtbetrag des Angebots
Zahlungskonditionen (Text)
Abschließender Text aus Angebotsfuß.
Firmeninformationen auf jeder Seite unten.
Für jeden dieser Bereiche kann man z.B. festlegen, ob er gedruckt werden soll bzw. unter welchen
Bedingungen er unterdrückt werden soll!
Bedienungsanleitung REFLEX
Formularanpassung
F.2.3
F-15
Grundsätzliche Elemente eines Reports
Ein Report besteht nicht einfach aus Text, sondern es gibt eine Reihe von Objekten in einem Report,
die zusammengenommen das Layout ergeben, z.B. Textfelder, Datenbankfelder usw.
In dieser Dokumentation werden nur die wichtigsten Objekttypen beschrieben. Einzelheiten entnehmen
Sie ggf. der Crystal-Reports Dokumentation.
Einfügen der Objekte:
Objekte werden eingefügt über das Crystal-Reports Menü “Einfügen” oder eines der Smybole:
Positionierung der Objekte:
Alle visuellen Objekte (Textfelder, Datenbankfelder usw.) können frei in den Bereichen des Report
positioniert werden. Wenn Sie das Gitternetz in den Optionen aktiviert haben, werden die Objekte an
diesem Raster eingefügt und bewegt. Wenn Sie ein Objekt in die Nähe einer Haltelinie bringen, wird es
von der Haltelinie angezogen und (je nach Position) links, rechts, mittig, oben oder unten positioniert.
Haltelinien:
Es empfiehlt sich, in den Report vertikale und horizontale Haltelinien einzufügen, damit man die
Objekte besser zueinander ausrichten kann. Haltelinien sind “Magnete”, die sich die Objekte ab einem
bestimmten Abstand “schnappen” und heranziehen. Einzelheiten entnehmen Sie ggf. der CrystalReports Dokumentation.
Bedienungsanleitung REFLEX
Formularanpassung
F-16
Textfelder
Textfelder geben Ihnen die Möglichkeit, feste (konstante) Texte im Report unterzubringen. Beispiele
hierfür sind Überschriften, Report-Titel usw. Textfelder können beliebige Schriftarten bekommen und
auch mehrzeilig sein. In Textfelder kann man auch Datenbankfelder beliebig einmischen.
Datenbankfelder
Datenbankfelder sind “Platzhalter” für die Daten aus der Datenbank. Jedes Datenbankfeld wird über
einen Namen angesprochen, der sich auch dem Tabellennamen und dem Feldnamen zusammensetzt.
Beispiel:
Adr.AdrNr bezeichnet das Feld “AdrNr” aus der Datenbank-Tabelle “Adr” (Adressen).
Adr.Str
bezeichnet das Feld “Str” (Strasse) aus der Datenbank-Tabelle “Adr”
(Adressen).
MArt.Typ
bezeichnet das Feld “Typ” aus der Tabelle Artikel “MArt”.
Zur Laufzeit (wenn der Report ausgeführt wird) ersetzt Crystal-Reports die Platzhalter durch die Daten
aus der Datenbank.
Datenbankfelder können beliebig formatiert werden. Die Grösse (=Breite) eines Datenbankfeldes
richtet sich nach der Breite, wie sie im Report angegeben wurde. Einige Datenbankfelder können auch
mehrzeilig werden (Memo-Felder, Text-Felder).
Hinweis:
Je nachdem, welches Datenbanksystem verwendet wird, unterscheidet sich der Zugriff zu
den Datenbank-Tabellen, bei Oracle-Datenbanken über einer logischen Tabellennamen
(z.B. ADR).
Datenbankfelder sind immer von einem bestimmten Typ. So gibt es z.B. Zahlenfelder, Textfelder,
Datumsfelder usw. Jeder Feldtyp hat dabei seine Eigenheiten, man z.B. nur bei einem Zahlenfeld
festlegen, mit wieviel Nachkommastellen es ausgedruckt werden soll.
Formeln
Formeln sind eine sehr mächtige Möglichkeit, Inhalte von Berechnungen auszugeben oder Inhalte von
Datenbankfelder abhängig von bestimmten Gegebenheiten auszugeben.
Beispiele:
A. Eine Formel wird dazu benutzt, die Statusnummer eines Auftrags (1=Aktiv, 2=Angebot, 3=Auftrag
usw.) in einen Klartext umzusetzen:
Wenn MAufKo.StatusNr=1 dann drucke “AKTIV”, wenn MAufKo.StatusNr=2 dann drucke “ANG”
usw.
B. Eine Formel berechnet den Lagerwert eines Artikel anhand des Einkaufspreises multipliziert mit
der Soll-Menge:
{Mart.EK} * {MArt.BestandSoll} .
Bedienungsanleitung REFLEX
Formularanpassung
F-17
C. In einem Angebot werden die konstanten Texte nicht mit Textfeldern angegeben sondern in
Formeln, die die gewünschte Sprache berücksichtigen:
if {MaufKo.Sprache}=”D” then
“Angebot”
else
if {MaufKo.Sprache}=”E” then
“Offer”
else
if {MaufKo.Sprache}=”F” then
“Offerte”
In diesem Beispiel sehen Sie, dass Datenbank-Felder in Formeln immer in geschweiften Klammern
stehen!
Ein weiteres wichtiges Einsatzgebiet von Formeln ist es, dass man Objekte unter bestimmten
Voraussetzungen unterdrücken kann. Man kann z.B. bestimmen, dass das Wort “Rabatt” in einem
Angebot nicht gedruckt wird, wenn es gar keinen Rabatt im Angebot gibt.
Einzelheiten zu den vielfältigen Möglichkeiten von Formeln entnehmen Sie ggf. der Crystal-Reports
Dokumentation.
Fazit:
Formeln geben Ihnen die Möglichkeit
a.
Berechnungen innerhalb des Reports vorzunehmen, z.B. den Durchschnitt aller aufgelisteten
Aufträge, das Gesamtgewicht einer Auftragsposition aus Menge x Einzelgewicht usw.
b.
Vergleiche zwischen Feldern oder Werten vorzunehmen, um damit das Erscheinen bzw. das
Unterdrücken von einzelnen Feldern oder ganzen Report-Bereichen zu steuern.
Neue Formel anlegen:
Wenn Sie eine Formel für Datenvergleiche erstellen möchten und damit das Unterdrücken von Feldern
oder Report-Bereichen von einer Bedingung abhängig machen wollen, so wählen Sie zuerst das zu
unterdrückende Objekt an und drücken die rechte Maustaste. Im Menü wählen Sie “... formatieren” an.
Bedienungsanleitung REFLEX
Formularanpassung
F-18
Ein Dialogfenster wie dieses erscheint:
Zur Eingabe einer Formel klicken Sie auf das Symbol [X+2] neben dem Wort “Unterdrücken” und
geben dort an, unter welchen Bedingungen das Objekt unterdrückt werden soll.
Beispiel:
Sie wollen, dass der Report-Bereich mit dem Versicherungsbetrag unterdrückt werden soll,
wenn es gar keinen Versicherungsbetrag gibt oder wenn die Druckoption zum drucken des
Gesamtbetrag ausgeschaltet wurde. Die Formel sieht dann so aus:
{MAufFu.VersichBetrag}=0
or {MaufFu.DruckOptGesBetr}=0
Schreiben Sie in diesem Beispiel die Formel genauso in den Formel-Editor wie oben angegeben.
Hinweis:
Nicht ausgewählte Optionen haben in REFLEX für Windows immer den Wert "0",
ausgewählte Optionen haben den Wert "1". Im obigen Beispiel wäre das:
Im Auftragsfuß wurde angegeben:
Bedienungsanleitung REFLEX
Formularanpassung
F-19
Gesamtbetrag drucken
Die Option ist nicht angekreuzt,
also hat das entsprechende
Feld
{MaufFu.DruckOptGesBetr
} den Wert 0.
Gesamtbetrag drucken
Die Option ist angekreuzt, also
hat das entsprechende Feld
{MaufFu.DruckOptGesBetr
} den Wert 1.
Sie können nun das Unterdrücken des Objekts wie folgt steuern:
Wenn eine Formel zum Unterdrücken schon angegeben wurde, ist das an der veränderten Farbe der
Schaltfläche erkennbar.
Bedienungsanleitung REFLEX
Formularanpassung
F-20
Spezialfelder
Mit den von Crystal-Reports vorgegebenen Spezialfeldern kann man z.B. Seitennummern anbringen,
die Gesamtseitenzahl ausdrucken usw.
Folgende Spezialfelder gibt es:
Bedienungsanleitung REFLEX
Formularanpassung
F-21
Formatierung der Objekte
Crystal-Reports bietet Ihnen eine Fülle von Formatierungsoptionen für jedes Objekt an. Die
Möglichkeiten zur Formatierung hängt dabei vom Objekt-Typ ab:
#
#
#
Ein Zahlenfeld kann z.B. mit verschiedenen Nachkommstellen formatiert werden.
Ein Datumsfeld kann z.B. mit 2- oder 4-stelliger Jahreszahl formatiert werden.
Ein Textfeld kann ein- oder mehrzeilig formatiert werden
usw.
Alle Formatieroptionen erreichen Sie, indem Sie den Mauscursor auf das gewünschte Objekt stellen
und die rechte Maustaste drücken.
Alle Objekte werden nur in der Breite gedruckt, in der sie im Report angegeben werden! Die Breite
eines Feldes im Report gibt also die maximale Druckbreite an.
Jedes druckbare Objekt kann die in Windows bekannten Schriftarten in allen möglichen Varianten
erhalten. Sie können also die Schriftattribute Fett, Kursiv, die Schriftgrösse usw. vollkommen frei
festlegen!
Alle Objekte können ausserdem linksbündig, rechtsbündig oder zentriert festgelegt werden.
HINWEIS: Sie können mehrere Felder gleichzeitig auswählen, indem Sie die UMSCHALTTASTE
gedrückt halten und die Maustaste verwenden, oder indem Sie den Befehl
"Bearbeiten|Felder auswählen" wählen. Im letzteren Fall schließen Sie die gewünschten
Felder mit dem Fadenkreuz-Cursor in einen Auswahlrahmen ein.
Wenn Sie möchten, können Sie die Position oder Breite eines Feldes ändern, das Feld formatieren
oder ein Feld löschen. Klicken Sie dazu auf den Feldrahmen für das jeweilige Feld. Schwarze
Ziehpunkte werden an den rechten und linken Seiten aller ausgewählten Felder angezeigt.
Sie ändern die Feldpositionierung, indem Sie den Feldrahmen mit der Maus oder den Pfeiltasten zur
neuen Position verschieben. Die Pfeiltasten verschieben den Feldrahmen bei jedem Tastendruck um
jeweils eine Gitterposition bzw. um eine Einheit.
Textfelder
Wenn Sie konstante Textfelder in den Report einfügen wollen, so wählen Sie aus dem Menü “Einfügen>Textobjekt” oder klicken auf das entsprechende Symbol. Ziehen Sie dann die Maus (ohne gedrückte
Maustasten!) An die Stelle, wo der Text eingefügt werden soll. Dort klicken Sie mit der linken
Maustaste. Ein kleines Eingabefeld erscheint und gibt Ihnen die Möglichkeit, Text einzugeben. Sie
können dieses Feld jederzeit erweitern. Im Formatmenü (rechte Maustaste über dem Feld drücken,
“Text formatieren” auswählen) können Sie außerdem einige Optionen für das Feld angeben, z.B. die
Option “Kann größer werden”, mit der Sie zulassen, daß das Textfeld über mehrere Zeilen reichen soll.
Neben der Schriftart ist eine der wichtigsten Optionen für Textfelder die Option “Kann grösser werden”.
Hiermit können Sie bestimmen, dass das Textfeld mehrere Textzeilen umfassen kann und automatisch
in der Höhe “mitwächst”. Ausserdem können Sie hier angeben, wieviel Zeilen maximal gedruckt
werden.
Bedienungsanleitung REFLEX
Formularanpassung
F-22
Beispiel:
Die Schaltflächen [X+2] neben einer Option geben an, dass man die Option auch über eine Formel
beeinflussen kann, d.h. abhängig von bestimmten Bedingungen ein- oder ausschalten kann.
Zahlenfelder
Bei Zahlenfeldern gibt es ab Vers. 8.0 entweder die Standardoptionen...
Bedienungsanleitung REFLEX
Formularanpassung
F-23
oder individuelle Einstellungen mit der Schaltfläche [Anpassen]...
(1) gibt an, ob und ggf. welches Dezimaltrennzeichen verwendet werden soll.
(2)(3) ist vor allem für Betragsfelder wichtig (bei Felder wie “Auftragsnummer”, “Rechnungsnummer”
usw. ist diese Option eher fragwürdig.
(4) gibt die Anzahl der verwendeten Dezimalstellen an.
(5) eventuelle Rundung
(6) Wenn es keine negative Zahl geben kann (und nur dann!) kann das führende Minuszeichen
unterdrückt werden (Option “Kein).
Bedienungsanleitung REFLEX
Formularanpassung
F-24
Datumsfelder
Bei Datumsfelder gibt es folgende Standard-Optionen:
Hier ist vor allem wichtig, ob man die Jahreszahl zwei- oder vierstellig ausdrucken will.
Wenn man mit diesen Vorgaben nicht auskommt, kann man auch mit der Schaltfläche [Anpassen]
individuelle Einstellungen vornehmen.
Bedienungsanleitung REFLEX
Formularanpassung
F-25
Tipp: Wenn Sie nur den Wochentag eines Datums ausdrucken wollen, so wählen Sie die gewünschte
Form “Wochentag” und in den Feldern “Format “ jeweils die Option “Kein” aus. Dadurch wir der
Druck des Tages, Monats und Jahres unterdrückt und nur der Wochentag ausgedruckt!
F.2.4
Formatierung der Reportbereiche
Ein Bereich (oder auch ein Unterbereich) kann mit vielen Optionen formatiert werden. Klicken Sie dazu
am einfachsten mit der rechten Maustaste auf den Bereichsnamen (bzw. die Abkürzung) am linken
Fensterrand.
Freiformplazierung:
Die Option “Freiformplazierung” erlaubt Ihnen, Ihre Objekte frei zu plazieren (wow - wer hätte das
gedacht!). Wenn Sie diese Option nicht eingeschaltet haben, “mischt” sich Crystal-Reports in die
Objektplazierung ein und richtet die Objekte selbstständig aus. Nach Ansicht des Autors eine meistens
unerwünschte Einmischung in innere Angelegenheiten!
Wenn Sie dieses Kontrollkästchen aktivieren, können Sie also Objekte in einer Freiformumgebung
ähnlich wie in einem Zeichenprogramm plazieren. Wenn diese Option deaktiviert ist, werden Objekte
an festen Punkten eines zugrundeliegenden Gitternetzes plaziert.
Unterdrücken:
Aktivieren Sie dieses Kontrollkästchen, wenn der betreffende Bereich gar nicht gedruckt werden soll.
Sie können komplette Report-Bereiche auch abhängig von Formeln unterdrücken. Klicken Sie auf das
Symbol [X+2] neben " Unterdrücken" und geben die Formel ein, bei der der Bereich unterdrückt
werden soll.
Am Ende der Seite drucken
Wenn dieses Kontrollkästchen aktiviert ist, wird der Bereich nur unten auf der Seite gedruckt. Der
Detailbereich wird immer an seiner “normalen” Positionen gedruckt. Diese Option ist praktisch, wenn
Sie z.B. Rechnungen drucken, bei denen die Summenzeile immer unten auf der Seite gedruckt werden
soll.
Bedienungsanleitung REFLEX
Formularanpassung
F-26
Davor neue Seite
Davor neue Seite ist als Formateigenschaft für Gruppenbereiche (Gruppenkopf und Gruppenfuß) und
Detailbereiche verfügbar. Wenn Sie diese Option aktivieren, fügt Crystal-Reports einen Seitenumbruch
ein, bevor dieser Bereich gedruckt wird. Der Seitenumbruch wird an folgenden Stellen eingefügt:
vor der Gruppe (wenn die Option mit einem Gruppenfußbereich verwendet wird) oder
vor jedem Berichtdatensatz (wenn die Option mit einem Detailbereich verwendet wird.
Hinweis:
Seitenkopf und Seitenfuß erscheinen immer auf jeder Seite.
Wenn Sie ein Zwischenergebnis- oder Gruppenergebnisfeld im Gruppenfußbereich haben, können Sie
mit der Option Davor neue Seite diese Werte auf Seiten einfügen, die auf den zusammengefassten
Wert folgen.
Danach neue Seite
Wenn Sie diese Option aktivieren, fügt das Programm nach diesem Bereich einen Seitenumbruch ein.
Seitenzahl danach zurücksetzen
Setzt die Seitennummer für die folgende Seite auf eins (1) zurück, nachdem die
Gruppengesamtsumme gedruckt wurde. Diese Option ist praktisch, wenn Sie mehrere Berichte aus
einer einzigen Datei drucken möchten (z. B. Rechnungen) und jeder Bericht mit Seite 1 beginnen soll.
Zusammenhalten
Wenn dieses Kontrollkästchen aktiviert ist, hält das Programm alle Zeilen eines Bereichs zusammen,
entweder auf der aktuellen Seite (wenn der Platz ausreicht) oder auf der nächsten Seite.
In einer Kundenliste z. B. können sich die Daten für einen bestimmten Kunden über mehrere Zeilen
erstrecken. Wenn der Standardseitenumbruch mitten in die Daten für einen Kunden fällt, würden die
Daten geteilt und teils auf der einen, teils auf der nächsten Seite angezeigt. Mit Zusammenhalten
verschiebt das Programm den Seitenumbruch hingegen vor den Datensatz, so daß alle Daten
zusammen auf der folgenden Seite gedruckt werden.
Hinweis:
Diese Option funktioniert nicht mit mehrzeiligen Zeichenfolgen oder Memofeldern. Ein
Seitenumbruch kann in der Mitte eines mehrzeiligen Felds liegen.
Leeren Bereich unterdrücken
Wenn Sie dieses Kontrollkästchen aktivieren, blendet das Programm einen Berichtbereich aus, wenn er
leer ist, und druckt ihn nur, wenn er Daten enthält
Folgende Bereiche unterlegen
Aktivieren Sie dieses Kontrollkästchen, wenn das ausgewählte Objekt beim Drucken unter den
folgenden Bereichen liegen soll.
Mehrspaltig formatieren
Diese Option ist für den Etikettendruck wichtig.
Bedienungsanleitung REFLEX
Formularanpassung
F.2.5
F-27
Verknüpfungen der Datenbank-Tabellen
In der Datenbank gibt es viele Datentabellen. Manche dieser Tabellen sind miteinander verknüpft, d.h.
über bestimmte Felder werden Abhängigkeiten der Tabellen zueinander hergestellt.
Beispiel:
In der Auftragskopftabelle MAufKo werden die Auftragsposition in der Tabelle MAufPo mit Hilfe des
Felder Auftragsnummer miteinander verbunden:
Verknüpft mit
ergänzt durch
Tabelle
Feld
Tabelle
Feld
MAUFKO
AuftrNr
MAUFPO
AuftrNr
PosNr
UntPosNr
10000
1
0
10000
1
1
10000
1
2
10001
1
0
10001
1
1
10001
1
1
10001
2
0
10001
2
1
10000
10001
Warum Verknüpfungen?
Indem man eine Tabelle verknüpft, legt man fest, dass eine Tabelle einer anderen untergeordnet ist. So
kann man z.B. bestimmten, dass die Auftragspositionen immer zu einem Auftragskopf gehören.
Dadurch kann Crystal-Reports in einem Auftragsformular nur die Positionen ausdrucken, die zu dem
angegebenen Auftrag gehören.
Wenn man hier keine Verknüpfung angeben würde, so würde Crystal-Reports alle Positionen
aufführen, und nicht nur die, die zu dem Auftrag gehören!
Hinweis:
Wenn Sie einen Standard-Report von REFLEX als Grundlage für die Formularanpassung benutzen, so
sind die Verknüpfungen bereits im Report festgelegt worden. Sie müssen diese Verknüpfungen
normalerweise nicht verändern, wenn Sie den Beispiel-Report als Grundlage für eigene Formulare
nehmen!
Bedienungsanleitung REFLEX
Formularanpassung
F-28
Fazit:
Verknüpfungen verbinden Tabellen hierarchisch miteinander. Die Tabellen müssen logisch verknüpft
sein, sonst wird das Ergebnis des Berichts verändert, z.B. könnte man die Auftragskopf-Tabelle mit der
Auftragspositions-Tabelle auch über die AdressNr. verknüpfen. Dies würde aber dazu führen, dass der
Bericht alle Positionen anzeigt, die zu dieser AdressNr. gehören.
Richtig ist, die Auftragstabellen über die AuftragsNr. zu verknüpfen, da unser Ergebnis alle Positionen
und Informationen des Auftrags sind.
Die Hierarchie erkennt man am Beispiel der Adress-Tabelle (Adr). Die AdressNr. ist in der
Auftragskopf-Tabelle (Maufo) und in der Adress-Tabelle vorhanden.
Im Beispiel ist die Verknüpfung vom Auftragskopf zur Adresse gelegt, dies bedeutet für CrystalRepots:”Zeige alle Adressnummern, die im Auftragskopf und in den Adressen gleich sind.”
Wäre die Verknüpfung von Adr zur Maufko gemacht, würde das Ergebnis bedeuten:”Zeige alle
Adressnummern, die auch in der Auftragskopftabelle vorhanden sind.” Es würden alle Adress-nummern
angezeigt werden, die in einem Auftrag vorhanden waren.
Bedienungsanleitung REFLEX
Formularanpassung
F-29
Wichtig:
Bei SQL-Datenbanken wie in unserem Fall muss diese Verknüpfung in den Optionen (rechte
Maustaste auf einen der Pfeile)
auf “Linke-Äußere” eingestellt sein. In Crystal wird die Verknüpfung standardmäßig auf “Gleich”
gesetzt, das bedeutet, jeder Verknüpfungspfeil muss auf Linke-Äußere gesetzt sein. Bei einigen
CrystalReports-Versionen wird dieser Verknüpfungstyp Links-Inklusion genannt.
Unser Bericht würde sonst ein leeres Blatt als Ergebnis zeigen, sobald eine der Tabellen keine Daten
mehr enthält!
Bedienungsanleitung REFLEX
Formularanpassung
F.2.6
F-30
Erstellen einer Artikel-Liste
So sollte das Ergebnis aussehen:
Der Report soll die vorhanden Artikel und Einzelartikel aufführen. Jeder Einzelartikel soll mit dem
Status und dem aktuellen Standort aufgeführt werden. Die Telefonnummer des aktuellen Standortes
soll mitgedruckt werden.
Die verwendeten Tabellen sind:
MART
MARTEINZ
ADR
Mietartikel
Miet-Einzelartikel
Adressen
Bedienungsanleitung REFLEX
Formularanpassung
Die Verknüpfungen:
F-31
Bedienungsanleitung REFLEX
Formularanpassung
F.2.7
F-32
Erstellen einer Auftragsliste
Es soll eine Liste erstellt werden, in der die Aufträge mit den Positionen und des aktuellen Status
aufgeführt sind. Es sollen Daten aus der Adresse (z.B. Telefonnummer) und der Artikel (z.B. aktueller
Bestand) ausgedruckt werden, deshalb braucht man auch die entsprechenden Stammdaten-Tabellen.
Diese Tabellen werden benötigt:
Name
Beschreibung
MAUFKO
Auftragskopf
MAUFFU
Auftragsfuss
MAUFPO
Auftragspositionen
ADR
Adressen (Kontakte)
MART
Artikel, Material
Die Verknüpfungen:
Bedienungsanleitung REFLEX
Formularanpassung
F.2.8
F-33
Erstellen eines Angebots/Auftrags
In diesem Kapitel wird ein Beispiel-Angebots-Report erstellt. Diese Tabellen werden benötigt:
Name
Beschreibung
MAUFKO
Auftragskopf
MAUFFU
Auftragsfuss
MAUFPO
Auftragspositionen
ADR
Adressen (Kontakte)
MARTTEXT
Textbausteine zu Artikeln, wenn man Artikeltexte
drucken will. REFLEX schreibt die Artikeltexte für
Angebote/Aufträge automatisch in die Auftragspositionen in das Feld MAUFPO.TEXT, so dass man
diese Tabelle eigentlich nicht benötigt!
MART
Artikel, Material
Die Verknüpfungen werden auf der vorigen Seite gezeigt.
So sollte das Ergebnis aussehen:
Im Kopfteil sollte das Firmenlogo rechts oben stehen darunter im Umschlagfenster die Adresse des
Kunden, dann die Angebotsinformationen wie Angebotsnummer, Veranstaltungsname usw.
Die persönliche Anrede sollte entweder aus dem Adressenstamm kommen oder (wenn keine Anrede
gespeichert ist) durch eine Standardfloskel ersetzt werden.
Darunter soll dann der Einleitungstext stehen, der aus dem Kopftext des Angebots kommt. (Wenn
dieser Text immer gleich ist könnte man ihn auch als konstanten Text unterbringen.)
Beispiel:
Im Positionsteil des Angebots sollten die einzelnen Positionen ausgedruckt werden. Jedes Kapitel soll
mit der Kapitelnummer und -überschrift in großer Schrift ausgedruckt werden.
Bedienungsanleitung REFLEX
Formularanpassung
F-34
Als Texte sollte die Texte aus den Artikel-Textstamm benutzt werden, also nicht die Artikelbezeichnung
aus den Artikelstammdatei! Außerdem soll natürlich der Text in der Sprache erscheinen, die im
Angebotskopf ausgewählt wurde. Wenn in der jeweiligen Position noch ein manueller Text angegeben
wurde, soll dieser unter dem Artikeltext erscheinen.
Der Einzelpreis einer Position darf nur erscheinen, wenn kein Pauschalpreis angegeben ist, weil es ja
keinen Sinn macht, Einzelpreise auszuweisen und am Schluß dann doch einen Pauschalpreis
auszugeben!
Beispiel:
Im Fußteil jeder Seite sollte ein Formularfuß mit Firmen-Infos gedruckt werden (s.o.).
Am Ende jedes Kapitels soll eine Gruppensumme (Zwischensumme genannt) ausgegeben werden,
außer wenn eine Pauschale angegeben wurde.
Im Kopfteil der Folgeseiten sollen die Kunden- und Angebotsdaten in Kurzform stehen.
Beispiel:
Bedienungsanleitung REFLEX
Formularanpassung
F-35
Positionen mit Arbeitszeit sollen die Stundenanzahl und den Stundensatz ausweisen.
Im abschließenden Fußteil sollen die Summen aufgeführt werden, und zwar in den verschiedenen
Varianten mit/ohne Fracht, Versicherung und/oder Mehrwertsteuer. Wenn im Auftragsfuß von REFLEX
angewählt wurde, daß der Angebots-Gesamtbetrag nicht gedruckt werden soll, sollen keine Beträge
gedruckt werden.
Beispiel:
Der Text der Zahlungskonditionen kommt aus dem Angebotsfuß.
Der abschließende Text kommt aus dem Fußtext des Angebots. Wenn dieser Text immer gleich ist,
könnte man ihn auch als konstanten Text unterbringen.
Hinweis:
Den Bearbeiter-Namen (“Harry Hastig”) kann man entweder als Text aus dem
entsprechenden Memofeld des Auftragsfusses holen oder anhand des Bearbeiter-Kürzeln
aus der Datenbanktabelle PERS einmischen!
Die Reportdatei des Beispiel-Formulars:
Bedienungsanleitung REFLEX
Formularanpassung
F-36
Kopfbereiche
Im Kopfteil soll das Firmenlogo rechts oben stehen, man könnte dort auch ein eingescanntes Grafiksymbol plazieren! Darunter im Umschlagfenster die Adresse des Kunden, dann die
Angebotsinformationen wie Angebotsnummer, Veranstaltungsname usw. Dieses wird im Berichtkopf
angegeben, damit es nur auf der ersten Seite erscheint. Die folgenden Seiten sollen ohne Firmenlogo
in einer verkürzten Form erscheinen (siehe Seitenkopf A).
Der Kopfbereich ist in folgende Abschnitte unterteilt:
Berichtkopf A
Es beginnt recht einfach: Im Kopfteil steht das Firmenlogo rechts oben in Form von Textfeldern, die mit
unterschiedlichen Schriftarten und -Attributen versehen sind. Man könnte dort auch ein eingescanntes
Grafiksymbol plazieren: Menü "Einfügen->Picture" (Anmerkung des Autors: Solche tollen
Übersetzungen finden sich in der aktuellen CrystalReports-Version leider an mehreren Stellen !).
Berichtkopf B
Ein Textfeld für die erste Seite oben mit kleiner Absenderangabe für Fensterumschläge.
Berichtkopf C
Erste Seite oben mit der Adresse: Damit die Adresse "dynamisch" vergrößert werden kann, wenn z.B.
bei einigen Adressen nur eine Zeile ausgefüllt ist und bei anderen drei Zeilen, ist dieses Feld in einem
eigenen Bereich untergebracht. Wenn man das nicht so macht besteht die Gefahr, daß die
drunterliegenden Felder überschrieben werden, was einerseits sehr häßlich aussieht und andererseits
die Adresse unleserlich macht!
Dieser Report-Teil wird auch im Berichtkopf angegeben, damit er nur auf der ersten Seite erscheint.
Die folgenden Seiten sollen ohne Firmenlogo in einer verkürzten Form erscheinen (siehe Seitenkopf A).
Berichtkopf D
Erste Seite oben mit Straße, PLZ, Ort und Angebotsdaten. Dieser Report-Teil wird ebenfalls im
Berichtkopf angegeben, damit er nur auf der ersten Seite erscheint. Die folgenden Seiten sollen ohne
Firmenlogo in einer verkürzten Form erscheinen (siehe Seitenkopf A).
Bedienungsanleitung REFLEX
Formularanpassung
F-37
Berichtkopf E
Die Lieferanschrift soll natürlich nur erscheinen, wenn auch eine in der Tabelle der MietaufträgeLieferanschriften MaufLiAn existiert! Daher lautet die Formel:
Formatierung
Inhalt
Unterdrücken...
isnull({mauflian.Adresse}) or
{mauflian.adresse} = ""
Hinweis:
Der Begriff "IsNull(..)" steht in CrystalReports immer dafür, daß für das betreffende Feld
wirklich nichts gespeichert ist! CrystalReports unterscheidet nämlich, ob ein Feld der Wert
"0" hat bzw. leer ist oder ob es "jungfräulich" ist, d.h. es wurden noch niemals Werte in das
Feld gespeichert. Wenn Sie diese etwas gewöhnungsbedürftige Eigenschaft von
CrystalReports eliminieren wollen, so können Sie unter dem Menü "Datei>Berichtoptionen" die Option
Wert für Nullfeld in Vorgabe konvertieren
ankreuzen. CrystalReports wird nun "jungfräuliche" Felder wie Null-Felder behandeln.
Berichtkopf F
Persönliche Anrede, wenn in Adresse eine persönliche Anrede gespeichert ist. Das bedeutet im
Umkehrschluß, daß dieser Bereich unterdrückt werden soll, wenn in der Adresse keine persönliche
Anrede gespeichert ist (weil ja dann der Bereich "Bereichkopf G" gedruckt wird!).
Formatierung
Inhalt
Unterdrücken...
{adr.PersAnr} = ""
Heißt im Klartext: Unterdrücken, wenn die Persönliche Anrede in der Adresse leer ist!
Berichtkopf G
Persönliche Anrede, wenn in Adresse keine persönliche Anrede gespeichert ist und statt dessen “Sehr
geehrte Damen und Herren” gedruckt werden soll. Das bedeutet im Umkehrschluß, daß dieser Bereich
unterdrückt werden soll, wenn in der Adresse eine persönliche Anrede gespeichert ist (weil ja sonst der
Bereich "Bereichkopf F" gedruckt wird!).
Formatierung
Inhalt
Unterdrücken...
{adr.PersAnr} > ""
Heißt im Klartext: Unterdrücken, wenn eine Persönliche Anrede in der Adresse vorhanden ist!
Berichtkopf H
Einleitungstext aus dem Angebotskopf: Hier soll der Einleitungstext stehen, der aus dem Kopftext des
Angebots kommt. Wenn dieser Text in Ihrem Betrieb immer gleich ist könnte man ihn auch als
konstanten Text unterbringen.
Bedienungsanleitung REFLEX
Formularanpassung
F-38
Seitenkopf A
Hier wird der Kopfteil der Folgeseiten mit kurzen Anschrifts- und Angebotsangaben festgelegt. Dieser
Bereich soll erst ab der 2. Seite gedruckt werden. Wir müssen also festlegen, daß dieser Bereich bei
der ersten Seite unterdrückt werden soll. Die Formel dazu:
Formatierung
Inhalt
Unterdrücken...
PageNumber = 1
Datumsdruck:
Das Feld "PrintDate" ist das Datum, an dem der Report (=das Formular) jeweils ausgedruckt wird.
Alternativ könnte man hier auch das Datum des ersten Drucks {MAufKo.DruckDat}, das
Erfassungsdatum des Angebots {MAufKo.ErfDat} oder das Änderungsdatum {MAufKo.AendDat}
benutzen.
Seitenkopf B
Dieser Kopfteil soll auf allen Seiten mit der Überschriftszeile über den Positionen erscheinen.
Eine Besonderheit stellt das Textfeld "Preis.." dar: Wenn der Benutzer in REFLEX die Option
" Pauschalpreis" gewählt hat, soll dieser Teil der Überschrift natürlich auch nicht erscheinen.
Daher wird diese Formel benutzt:
Formatierung
Inhalt
Unterdrücken...
{mauffu.PauschPreisJN}=1
Wenn also Pauschalpreis gewählt wurde, diesen Bereich bitteschön unterdrücken!
Gruppenkopf #1 A
Dieser Bereich stellt die Kapitelüberschriften dar. Die Kapitel in diesem Beispiel-Report wurden als
Gruppen definiert, d.h. daß CrystalReports alle Positionen mit der gleichen Kapitelnummer (Feld
{MaufposPosNr}) automatisch zusammengefaßt werden. Der Bereich Gruppenkopf #1 A wird
dementsprechend nur gedruckt, wenn ein neues Kapitel beginnt.
Damit die (falsche aber theoretisch vorkommende) Angabe des Kapitels 0 unterdrückt wird, wird dieser
Wert in die Formel aufgenommen.
Druck einer Position unterdrücken:
In REFLEX kann der Benutzer jede einzelne Position vom Drucken ausschließen, d.h. es gibt ein
Kennzeichen, mit man den Druck einer Position unterdrücken kann. Auch dieses wurde in der Formel
berücksichtigt mit {maufpo.DruckKennz}=0.
Formatierung
Inhalt
Unterdrücken...
{maufpo.PosNr}=0 or
{maufpo.DruckKennz}=0
Detail A
Hier werden die einzelnen Positionen ausgedruckt. Als Texte werden die Texte aus den ArtikelTextstamm benutzt, also nicht die Artikelbezeichnung aus den Artikelstammdatei! Außerdem soll
natürlich der Text in der Sprache erscheinen, die im Angebotskopf ausgewählt wurde:
Formatierung
Inhalt
Unterdrücken...
{marttext.Sprache} <>
{maufko.Sprache} or
{maufpo.DruckKennz}=0
Bedienungsanleitung REFLEX
Formularanpassung
F-39
Der Einzelpreis einer Position darf nur erscheinen, wenn kein Pauschalpreis angegeben ist, weil es ja
keinen Sinn macht, Einzelpreise auszuweisen und am Schluß dann doch einen Pauschalpreis
auszugeben! Also: Unterdrücken des Einzelpreises wenn die Option "Pauschalpreis" gewählt wurde:
Formatierung
Inhalt
Unterdrücken...
{mauffu.PauschPreisJN}=1
Detail B
Ausdruck der Stunden bei Positionen mit Stundenangaben:
Formatierung
Unterdrücken...
{maufpo.Artikelart} <> 4
{maufpo.StdSoll}=0
{maufpo.UntPosNr}=0
{maufpo.DruckKennz}=0
Inhalt
{maufpo.Artikelart} <> 4 or
{maufpo.StdSoll}=0 or
{maufpo.UntPosNr}=0 or
{maufpo.DruckKennz}=0
Artikelart 4 = Arbeitszeit
Keine Stundenangaben
Keine Positition!
Einzelpreise nicht drucken
Detail C
Text, der manuell zu einer Position hinzugefügt wurde. Wenn in der jeweiligen Position noch ein
manueller Text angegeben wurde, soll dieser unter dem Artikeltext erscheinen.
Formatierung
Inhalt
Unterdrücken...
{maufpo.DruckKennz}=0
Gruppenfuß #1 A
Die Zwischensumme pro Kapitel wird über CrystalReports errechnet. Dahinter verbirgt sich eine Formel
Sum(...). Die Zwischensumme kann man übrigens ganz einfach einfügen, wenn man auf einem
numerischen Feld die rechte Maustaste drückt und aus dem Menü "Gruppenergebnis einfügen" wählt.
Formatierung
Inhalt
Unterdrücken...
Sum ({maufpo.GesBetrag},
{maufpo.PosNr})=0
or {mauffu.PauschPreisJN}=1
Wird unterdrückt, wenn die Summe der Gruppe (Sum...() = Gruppensumme) Null ist oder wenn
Pauschalpreis=Ja angewählt wurde.
Bedienungsanleitung REFLEX
Formularanpassung
F-40
Berichtfuß A
Die Summen der Angebotspositionen:
Formatierung
Inhalt
Unterdrücken...
{mauffu.DruckOptGesBetr}=0 or
{mauffu.GesBetrag}={mauffu.PauschBetrag1}
Soll unterdrückt werden, wenn die Druckoption "Gesamtpreis drucken" nicht ausgewählt wurde
{mauffu.DruckOptGesBetr}=0 oder der Gesamtbetrag mit dem Pauschalbetrag identisch ist
{mauffu.GesBetrag}={mauffu.PauschBetrag1}.
Berichtfuß B
Frachtkosten: Soll unterdrückt werden, wenn der Betrag auf Null steht oder wenn die Druckoption
"Gesamtpreis drucken" nicht ausgewählt wurde.
Formatierung
Inhalt
Unterdrücken...
{mauffu.PortoBetrag}=0 or
{mauffu.DruckOptGesBetr}=0
Berichtfuß C
Versicherungskosten: Soll unterdrückt werden, wenn der Betrag auf Null steht oder wenn die
Druckoption "Gesamtpreis drucken" nicht ausgewählt wurde.
Formatierung
Inhalt
Unterdrücken...
{mauffu.VersichBetrag}=0 or
{mauffu.DruckOptGesBetr}=0
Berichtfuß D
Der Netto-Betrag soll unterdrückt werden, wenn die Druckoption "Gesamtpreis drucken" nicht
ausgewählt wurde oder der Gesamtbetrag mit dem Pauschalbetrag identisch ist:
Formatierung
Inhalt
Unterdrücken...
{mauffu.NettoBetrag1}={mauffu.P
auschBetrag1} or
{mauffu.DruckOptGesBetr}=0
Berichtfuß E
Mehrwertsteuer: Soll unterdrückt werden, wenn der Betrag auf Null steht oder wenn die Druckoption
"Gesamtpreis drucken" nicht ausgewählt wurde.
Formatierung
Inhalt
Unterdrücken...
{mauffu.DruckOptGesBetr}=0 or
{mauffu.MwstBetrag1}=0
Bedienungsanleitung REFLEX
Formularanpassung
F-41
Berichtfuß F
Gesamtbetrag des Angebots: Soll unterdrückt werden, wenn der Betrag auf Null steht.
Formatierung
Inhalt
Unterdrücken...
{mauffu.DruckOptGesBetr}=0
Berichtfuß G
Zahlungskonditionen (Text): Soll unterdrückt werden, wenn das Feld leer ist.
Formatierung
Inhalt
Unterdrücken...
{mauffu.ZahlBedText}=""
Berichtfuß H
Abschließender Text aus Angebotsfuß: Keine Formel notwendig, wird immer gedruckt.
Seitenfuß
Firmeninformationen auf jeder Seite unten.
Wichtiger Tip für die mehrsprachige Auslegung von Formularen:
Wenn Sie wollen, dass ein Formular (Angebot, Auftrag, Rechnung usw.) für mehrere Sprachen
verwendet werden kann, dann dürfen Sie keine Textfelder verwenden!
Warum?
Nun ja, Textfelder enthalten ja einen konstanten Text, also einen Text, den Sie bei der Erstellung des
Reports fest vorgegeben haben. Wenn dieser Text aber schon bei der Reporterstellung festgelegt
wurden, wie soll er sich dann dynamisch eine bestimmte Sprache anpassen? Das geht ja nicht! Eben.
Die Lösung:
Die Lösung für das Sprachproblem liegt in den Formeln. Formeln sind ja Felder, die einen beliebigen
Inhalt haben können, die also auch Text beinhalten können. Ausserdem kann man Formeln auch
variieren, abhängig von bestimmten Umständen. Und genau diese Eigenschaft können wir nutzen, um
unterschiedliche Sprachen zu benutzen!
Wie?
Im Grunde genommen ist es ganz einfach: Wir müssen in der Formel “nur” abfragen, welches
Sprachkennzeichen in unserem Auftrag/unserer Rechnung hinterlegt ist und abhängig davon den Text
festlegen:
Wenn die Sprache DEUTSCH ist, dann drucke
“Angebot”
ansonsten
Wenn die Sprache ENGLISCH ist, dann drucke
“Offer”
ansonsten
Wenn die Sprache FRANZÖSICH ist, dann drucke
“Offerte”
Umgesetzt auf die Crystal-Reports-Formelsprache lautet die Formel:
Bedienungsanleitung REFLEX
Formularanpassung
if {MAufKo.Sprache} = “D” then
“Angebot”
else
if {MAufKo.Sprache} = “E” then
“Offer”
else
if {MAufKo.Sprache} = “F” then
“Offerte”
Auf diese Art und Weise können Sie alle konstanten Texte des Reports durch Formeln ersetzen!
Einschränkung:
Leider sind die Formeln in Crystal-Reports auf maximal 255 Zeichen pro Formel beschränkt!
F-42
Bedienungsanleitung REFLEX
Formularanpassung
F-43
Angebot Variante 2
In diesem Kapitel wird ein sog. "Einfaches Angebot" erstellt. Einfach soll hier nicht heißen, dass die
Erstellung des Formulares einfach ist, sondern dass das Ergebnis (der Ausdruck) einen einfachen und
klaren Aufbau hat. Sie werden später noch sehen, dass es einigen Aufwand bedeutet, aus dem
komplexen Datenbestand eines REFLEX-Auftrags eine "Essenz" herauszuholen.
Anforderungen an das Formular
Das Angebotsformular soll in ein bestehendes Formular eingedruckt werden. Als Schriftart soll
durchgängig Arial verwendet werden, die normalen Texte haben dabei eine Schriftgröße von 11 Punkt,
Überschriften etc. können fett mit 12 Punkt gesetzt werden. Einige Besonderheiten soll das Formular
haben:
c.
Die REFLEX-Kapitelnummerierung soll nicht ausgedruckt werden.
d.
Es sollen prinzipiell nur 2 Kapitel verwendet werden: Im Kapitel 1 wird das verwendete Equipment
angebeben, also alle Mietgeräte und ggf. Verbrauchsmaterial/Verkaufsgeräte. Im Kapitel 2 wird
(optional) der Aufwand für Aufbau, Abbau, Personal usw. angegeben. Sinn der Sache: Im Formular
sollen zuerst die Artikel aufgeführt werden, eine Zwischensumme, ggf. der Rabatt aufgeführt
werden, dann anschließend soll das Personal, Aufbau, Abbau usw. ohne Rabatt usw. aufgeführt
werden.
e.
In den Positionen wird immer der unrabattierte Nettobetrag angedruckt.
f.
Der Rabatt wird als Gesamtrabatt unter den Positionen angedruckt.
g.
Es wird nur der Netto-Betrag ausgedruckt, die Mwst. wird nicht extra ausgewiesen.
Auf der nächsten Seite sehen Sie einen Musterausdruck eines Angebots.
Bedienungsanleitung REFLEX
Formularanpassung
F-44
Bedienungsanleitung REFLEX
Formularanpassung
In Crystal-Reports sieht das Ganze so aus:
Berichtkopf-Bereiche:
Bericht-Details:
Berichtsfuß-Bereiche:
Auf den folgenden Seiten wollen wir uns die einzelnen Bereiche einmal genauer anschauen.
F-45
Bedienungsanleitung REFLEX
Formularanpassung
Die Verknüpfungen der Tabellen im Report:
F-46
Bedienungsanleitung REFLEX
Formularanpassung
F-47
11.2.2 Berichts- und Seitenkopf-Bereiche
Aufbau:
1 In diesem Bereich wird die Adresse ausgedruckt. Beim Anlegen des Auftrags hat REFLEX die
Daten aus der Adressdatei in den Auftragskopf (Tabelle MAufKo) eingemischt. Theoretisch könnte
der Anwender die Adresse im Auftrag noch ändern oder überschreiben, was aber (außer bei
Einmalkunden, Pauschaladressen usw.) nicht empfehlenswert ist. Daher werden die Daten nicht
direkt aus der Adresstabelle (ADR) geholt, sondern aus dem Auftragskopf (MAUFKO).
Das Adressfeld ist ja ein sog. Memo-Feld, in dem mehrere Zeilen untereinander stehen könnten.
Wenn man nicht in ein vorgegebenes Formular eindrucken muß, kann man CrystalReports
anweisen, das Feld automatisch in der Höhe an die enthaltenen Zeilen anzupassen, d.h. die
Feldhöhe ändert sich automatisch, wenn mehrere Zeilen im Feld enthalten sind.
Wichtig: Da man in diesem Beispiel in ein bestehendes Formular eindrucken muß, in dem die
Zeilenpositionen vorgegeben sind, kann man die Adresse nicht dynamisch vergrößern lassen,
sondern muß die Größe (Höhe) direkt im Report angeben. Würde man zulassen, daß sich das
Adressfeld automatisch auf mehrere Zeilen erweitern würde, so würden sich die nachfolgenden
Zeilen ja nach unten verschieben und der genaue Eindruck in das vorgegebene Formular wäre
nicht mehr gegeben!
Vorgehensweise: Klicken Sie mit der rechten Maustaste auf das Feld. Aus dem Menü wählen Sie
"Feld formatieren" aus. In dem Dialogfenster der Formateinstellungen darf
die Option "Kann größer werden" nicht angekreuzt sein!
Wenn Sie immer zwei Adresszeilen ausdrucken wollen, können Sie in der Feldformatierung auch
wählen " Kann größer werden", aber dann eine maximale Zeilenanzahl im Formatfenster
angeben.
Bedienungsanleitung REFLEX
Formularanpassung
2
F-48
Hier wird das Feld des Ansprechpartners aus dem Auftrag (Tabelle MAUFKO) angegeben. Um zu
verhindern, dass eine leere Zeile gedruckt wird, wenn es gar keinen Ansprechpartner gibt, könnte
man im Formatfenster des Bereiches angeben "Leeren Bereich unterdrücken".
In unserem Fall geht das aber nicht: Da man in diesem Beispiel in ein bestehendes Formular eindrucken muss, in dem die Zeilenpositionen vorgegeben sind, kann man diese Zeile nicht
dynamisch unterdrücken lassen, weil sich die nachfolgenden Zeilen ja nach oben verschieben
würden und der genaue Eindruck in das vorgegebene Formular nicht mehr gegeben wäre!
3
Hier wird die Straße und PLZ/Ort ausgedruckt. Damit die Postleitzahl und der Ort immer nur von
einem Leerzeichen getrennt werden, wurden diese beiden Felder in ein Textfeld eingebettet.
4
Hier wird das Druckdatum angegeben, und zwar das entsprechende Feld aus der Datenbank
{MAUFKO.DruckDat}. Das gibt dem Benutzer die Möglichkeit, das Angebot später auszudrucken
mit dem originalen Druckdatum. Würde man das Datumsfeld von CrystalReports {PrintDate}
verwenden, so würde immer das aktuelle Tagesdatum angedruckt werden. {PrintDate} eignet sich
dafür besser bei Listen, auf denen man den aktuellen Stand ausdrucken will.
5
Hier wird die Adressnummer ausgedruckt. Alternativ dazu könnte man auch die Kundennummer
(Debitorennummer aus der Buchhaltung) ausdrucken. Zwei Gründe sprechen aber dagegen:
a.
Da Interessenten oft noch gar keine Kundennummer haben, würde hier immer 0 (oder
nichts) ausgedruckt werden.
b.
Für Einmalkunden vergibt man oft Pauschal-Kundennummern, d.h. mehrere Adressen
haben die selbe Kundennummer.
Die Adressnummer wird linksbündig ausgedruckt. Da CrystalReports numerische Felder
standardmäßig rechtsbündig darstellt, müssen Sie die Formatierung entsprechend ändern (Feld
anklicken, in der Formatleiste oben "Links ausrichten" auswählen). Dasselbe gilt für die
Verwendung des Tausender-Trennzeichens, das man vermutlich bei der Adressnummer nicht will.
6
Auftragsnummer, s.o.
7
Dieses Text "Angebot" ist eine einfaches Textfeld. Abhängig vom Auftragsstatus könnte man auch
alternativ "Anfrage" oder "Angebot" ausdrucken. Dazu müsste man eine Formel bauen:
if {MaufKo.StatusNr}=3 then
"Angebot"
if {MaufKo.StatusNr}=7 then
"Anfrage"
Diese Formel könnte man dann anstelle des konstanten Textfeldes einbinden.
8
Hier wird die persönliche Anrede angegeben. Es wird eine Formel verwendet, die prüft, ob
überhaupt eine persönliche Anrede vorhanden ist oder nicht. Abhängig davon wird entweder die
persönliche Anrede gedruckt oder die Floskel "Sehr geehrte Damen und Herren":
if {adr.PersAnr}="" then
"Sehr geehrte Damen und Herren,"
else
"Sehr geehrte" + {adr.PersAnr} + ","
Bedienungsanleitung REFLEX
Formularanpassung
F-49
Beachten Sie, dass diese Formel davon ausgeht, das man im Adresstamm die persönliche Anrede
in der Form "r Herr XXX" bzw. " Frau XXX" angibt! Wenn bei Ihnen dort die komplette Anrede
steht, müssen Sie natürlich das „Sehr geehrte...“ nicht verwenden!
9
Der Einleitungstext wurde hier als Formel aufgebaut. Alternativ dazu wäre auch denkbar, daß man
einfach den Einleitungstext aus dem Textfeld des Auftrags {MaufKo.Text} übernimmt und hier
angibt.
Im Einleitungstext ist eine Formel {@VeranstZeitraumText} enthalten, die den angegebenen
Veranstaltungszeitraum prüft und ggf. "Am" bzw. "Von-Bis" als Textausgabe erzeugt:
if {maufko.VeranstVonDat}={maufko.VeranstBisDat} then
"am " + ToText( {maufko.VeranstVonDat} )
else
"von " + ToText( {maufko.VeranstVonDat} ) + " bis " +
ToText( {maufko.VeranstBisDat} )
10 Hier werden die Auftrags-Termine der Miete {MaufKo.DatumVon} und {MaufKo.DatumBis }
angegeben.
Eine Besonderheit stellt der Text vor dem VON-Datum dar: Es wird hier das Feld Versandart
{MaufKo.Versandart} benutzt. Der Anwender muß hier also eine Angabe wie "Abholung:",
"Aufbau:", "Zufuhr:" o.ä. in das Angebot eingeben!
Für das BIS-Datum wäre eine ähnliche Lösung denkbar, z.B. könnte man das Feld
{MaufKo.VersandText} dazu benutzen, um z.B. "Rückgabe:", "Abholung:" o.ä. zu definieren.
11 Hier wird nun der Kopftext aus dem Angebot ausgedruckt. Dieses Feld ist so formatiert, daß es
sich automatisch der gespeicherten Zeilenanzahl anpaßt.
Vorgehensweise: Klicken Sie mit der rechten Maustaste auf das Feld. Aus dem Menü wählen Sie
"Feld formatieren" aus. In dem Dialogfenster der Formateinstellungen muß
die Option "Kann größer werden" angekreuzt sein!
12 Dieser Bereich "Seitenkopf" wird auf den Folgeseiten gedruckt. Je größer man den Bereich im
Reporteditor erstellt, desto weiter unten beginnt der Ausdruck auf den Seiten!
Damit der Druck auf der ersten Seite jedoch unterdrückt wird, muß man im Formatfenster des
Bereiches eine Unterdrückungs-Formel angeben, die den Ausdruck auf der ersten Seite
unterdrückt.
Bedienungsanleitung REFLEX
Formularanpassung
F-50
Vorgehensweise:
13 Hier wird die aktuelle Seitennummer und die Gesamtseitenzahl angedruckt. Es handelt sich um ein
Textfeld, in das die speziellen CrystalReports-Felder [PageNumer] und [Gesamtseitenanzahl]
eingebettet werden.
Hinweis: Die Verwendung von [Gesamtseitenanzahl] hat einen gravierenden Nachteil: CrystalReports
muss nämlich, um diese Zahl zu ermitteln, den Report zuerst komplett intern berechnen, bevor es zur
Anzeige/zum Ausdruck kommen kann. Der Report muss also zweimal ausgeführt werden, einmal intern
(ohne äußerliche Anzeichen) und dann beim eigentlichen Druck. Das kann bei mehrseitigen Angeboten
leider etwas dauern, so dass die Performance (Neudeutsch: Geschwindigkeit) beim Ausdruck darunter
leidet!
Zu deutsch: Der Ausdruck dauert viel länger!
11.2.3 Detail-Bereiche
Aufbau:
1
Der Gruppenkopf “1a” wird nicht benötigt und wird daher unterdrückt.
Bedienungsanleitung REFLEX
Formularanpassung
F-51
2
Der Gruppenkopf “1b” wird zwar nicht benötigt, bietet jedoch die Möglichkeit, unterschiedliche
Bereiche (Kapitel) voneinander optisch zu trennen.
3
Das Wort “alternativ” wird nur gedruckt, wenn es sich um eine Alternativ-Position handelt. Die
Formel zum Unterdrücken des Bereichs lautet dementsprechend:
{MaufPo.Alternativ}=0
4
Hier werden die Felder des Positionsbereichs angegeben, die ausgedruckt werden sollen.
5
Dieser Bereich wird nur gedruckt bei der Artikelart “Arbeitszeit”.
6
Hier wird der Text angedruckt, der dem jeweiligen Artikel in den Artikelstammdaten (Texte)
zugeordnet ist. REFLEX mischt diesen Text beim Anlegen der Position automatisch zu.
7
Positionssumme ohne Rabatt.
8
Rabatt-Prozent und -Betrag
9
Hier steht ggf. der Positionsrabatt (aus dem Auftragsfuß!!!) und der Rabattbetrag (errechnet aus
der Differenz zwischen Summe der Positionen und Summe der Rabatte!).
11.2.4 Berichts- und Seitenfuß-Bereiche
Aufbau:
1
Die Netto-Summe der Positionen
2
Frachtkosten, wenn vorhanden.
3
Versicherungskosten, wenn vorhanden.
4
Netto-Betrag, wenn von der Netto-Summe der Positionen abweichend.
5
Dieser Bereich mit der Mwst.-Klausel wird nur gedruckt, wenn eine Mehrwertsteuer angegeben
wurde.
6
Konstante Texte.
7
Fußtext aus dem Angebot.
8
Hier wird der Name des Sachbearbeiters angeben, der direkt aus der Personentabelle (PERS)
eingemischt wird.
Bedienungsanleitung REFLEX
Formularanpassung
12.
F-52
Erstellen eines Lieferscheins
Diese Tabellen werden benötigt:
Name
Beschreibung
MAUFKO
Auftragskopf
MAUFFU
Auftragsfuss
LSCHKO
Lieferschein-Kopf
LSCHPO
Lieferschein-Positionen
MART
Artikel, Material
MARTEINZ
Einzelartikel (wenn man z.B. Seriennummern drucken
will)
MAUFLIAN
Lieferanschrift zu dem Auftrag, wenn man die
Lieferanschrift drucken will.
MARTTEXT
Textbausteine zu Artikeln, wenn man Artikeltexte
drucken will.
Hinweis: REFLEX schreibt die Artikeltexte für
Lieferscheine automatisch in die Lieferscheinpositionen
in das Feld LSCHPO.TEXT, so dass man eigentlich
keine eigene Verknüpfung zu dieser Tabelle benötigt!
Bedienungsanleitung REFLEX
Formularanpassung
F-53
13. Erstellen einer Rechung
Name
Beschreibung
RECHKO
Rechnungskopf
RECHFU
Rechnungsfuss
RECHPO
Rechnungspositionen
MARTTEXT
Textbausteine zu Artikeln, wenn man Artikeltexte
drucken will.
Hinweis: REFLEX schreibt die Artikeltexte für
Rechnungen automatisch in die Lieferscheinpositionen
in das Feld RECHPO.TEXT, so dass man eigentlich
keine eigene Verknüpfung zu dieser Tabelle benötigt!
Bedienungsanleitung REFLEX
Formularanpassung
F.2.9
F-54
Tips und Tricks
Verhindern, daß auf der letzten Seite die Überschrift erscheint
Im Angebot/Auftrag hat man das Problem, daß eine Überschrift über den Positionsteil (“Pos., Menge,
Bezeichnung, Preis”) manchmal auf der letzten Seite erscheint, obwohl gar keine Position mehr folgt.
In CrystalReports hat man die Möglichkeit, die Seitennummer der letzten Seite mit TotalPageCount
abzufragen und diese mit der aktuellen Seite zu vergleichen, dazu gibt es die Variable PageNumber .
Zweite Lösung:
Mit der Funktion NextIsNull( {Tabelle.IndexFeld} ) kann man in der Formatierung eines Bereiches
abfragen, ob es noch einen weiteren Datensatz gibt. Diese Funktion muß man dazu in der
Formatierung eines Bereiches mit dem Formeleditor einsetzen, um diesen Bereich zu unterdrücken.
Fortlaufender Übertrag im Angebots-/Auftragsformular
Wenn man einen Übertrag im Formular unterbringen will, so stößt man dabei auf 2 Hauptprobleme:
c.
CrystalReports hat zwar eine Summenfunktion, die Summe kann man aber leider nicht auf dem
Seitenfuß in Form eines Übertrags unterbringen, weil CR das Feld in diesem Bereich einfach nicht
annimmt.
d.
Selbst wenn man die Summenfunktion benutzen könnte, müsste man hier irgendwie
berücksichtigen, daß es in den Positionen Alternativ-Positionen gibt, die nicht in die Summe
eingerechnet werden dürfen.
Man kommt also um etwas “Handarbeit” nicht herum! Und das geht so:
Es werden drei Formeln erstellt (Die Formelnamen sind nur beispielhaft!):
Formel “ZwiSuNull” Diese Formel wird im Reportkopf plaziert und stellt eine Variable ZwiSumme auf
0:
WhilePrintingRecords;
CurrencyVar Zwischensumme;
Zwischensumme := 0;
Diese Variable Zwischensumme wird unsere Zwischensumme beinhalten.
Die Anweisung WhilePrintingRecords in der ersten Zeile weist CrystalReports an,
die Formel während des Druckvorgangs aufzurufen.
Bedienungsanleitung REFLEX
Formularanpassung
F-55
Formel “ZwiSuAdd” Diese Formel wird im Detailbereich des Reports plaziert und addiert in jeder
Position in die Variable ZwiSumme die Positionsbeträge auf:
WhilePrintingRecords;
CurrencyVar Zwischensumme;
If {maufpo.Alternativ} <> 1 then
Zwischensumme := Zwischensumme+{maufpo.GesBetrag};
Diese Addition wird jedoch nur durchgeführt, wenn es keine Alternativ-Position ist!
Im Feld {maufpo.Alternativ} steht 1, wenn eine Alternativ-Position angewählt
wurde.
Formel “ZwiSuPrint” Diese Formel wird im Seitenfuß (und ggf. im Seitenkopf) plaziert und druckt die
Variable ZwiSumme aus.
WhilePrintingRecords;
CurrencyVar Zwischensumme;
Zwischensumme;
Das Ergebnis dieser Formel ist einfach die aufaddierte Zwischensumme, also wird
diese Zwischensumme gedruckt, wenn Sie die Formel an die gewünschte Position
im Kopf- oder Fußbereich bringen.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising