Mehrsprachige Reports mit FastReport
Inhaltsverzeichnis
1 Allgemeines
Mit FastReport© und dem Druckprogramm GevitasFormPrint (das zum Drucken von Angeboten, Aufträgen, Lieferscheinen, Rechnungen usw. benutzt wird) kann man recht einfach mehrsprachige Formular-Reports erstellen.
Dabei kann ein Report bis zu 3 verschiedene Sprachen bedienen.
2 Das Prinzip
2.1 Feste Texte
Feste Texte im Formular ("Menge", "Bezeichnung" usw.) werden nicht direkt in den Report geschrieben. Stattdessen werden sog. Variablen verwendet. Diese Variablen können in einer Übersetzungstabelle bequem erfasst werden.
- Hinweis: Benutzer/innen können die Übersetzungstabelle nur editieren, wenn sie das Recht "ReportDesginer" haben.
Das Programm ersetzt zur Laufzeit (also wenn der Report ausgeführt wird) die Variablen mit dem entsprechenden Inhalt aus der Übersetzungstabelle. Das Feld "Sprache" z.B. im Auftragskopf entscheidet dann, aus welcher Spalte der Tabelle der Text genommen wird.
Beispiel:
Die Variable @Menge:
Variable D E F ------------------------------------------------ @Menge Menge Quantity Quantité
Druckt man das Angebot nun mit Sprache = "D", wird "Menge" ausgegeben, bei E "Quantity" und bei F "Quantité".
2.2 Formular-Titel
Die Formular-Titel ("Angebot", "Offer" usw.) könnte man zwar auch über Variablen lösen. Hier hat man aber das Problem, dass im Druckprogramm die gleiche Funktion für verschiedene Formulare verwendet wird, z.B. ist die Seite für Angebot und Auftrag die selbe, für beide wird der gleiche Report verwendet.
Deshalb kann man die Formular-Titel in REFLEX in den Programm-Parametern in einer Tabelle festlegen.
Öffnen Sie das die Programm-Parameter (Admin-Rechte nötig!). Dann doppelklicken Sie auf "Firmen-Daten, Formular-Texte, Report-Einstellungen" und öffnen das Register "Formular-Titel".
Einzelheiten dazu werden hier beschrieben.
3 Übersetzungsvariablen bearbeiten
3.1 Fenster öffnen
Klicken Sie in den Admin-Optionen auf dieses Menü:
Es öffnet sich das Fenster mit der Übersetzungstabelle.
Beispiel:
Wenn Sie das Fenster zum ersten mal öffnen, sind schon einige gängige Variablen in der Tabelle.
3.2 Bestehende Variablen editieren
Sie können nun die Übersetzungen direkt in der Tabelle vornehmen.
- Die Sprachkennzeichen, die hier angezeigt werden, wurden in den Programm-Parametern festgelegt. Einzelheiten dazu werden hier beschrieben.
3.3 Neue Variable anlegen
Mit dem Button können Sie eine neue Variable in die Tabelle einfügen.
Der Name der Variable sollte mit "@" beginnen. Diese Vorgabe ist kein Zwang, aber gängige Praxis!
Der Name der Variable muss eindeutig sein, darf also in der Tabelle noch nicht vorhanden sein.
Danach können Sie die Texte in den angegebenen Sprachen eintragen.
4 VA-/Dispo-Datum im englischen Stil
Man kann das VA-/ oder Dispo-Datum von/bis in deutsch oder englisch mit Tag-/Monats-Kurznamen angeben.
- Anwendung
- Im Report diese Variablen anlegen
- VeranstVonTag
- VeranstBisTag
- VeranstVonMon
- VeranstBisMon
- DispoVonTag
- DispoBisTag
- DispoVonMon
- DispoBisMon
Im Report in den Memos das einfügen:
- Für den Tag-Kurznamen
[VeranstVonTag] [VeranstBisTag]
- Für das Datum (ohne Tageskurznamen) mit Monatsabkürzung
[AuftragsKopf."VA-VonDatum"][VeranstVonMon][AuftragsKopf."VA-VonDatum"] [AuftragsKopf."VA-BisDatum"][VeranstBisMon][AuftragsKopf."VA-BisDatum"]
- Kommt dann so raus
Sun 15-Sept-2024 Tue 17-Sept-2024
- Abkürzungen
- D: 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'
- E: 'Sun', 'Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat'
- D: 'Jan', 'Feb', 'Mrz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'
- E: 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'
Geht aber nur mit GevitasFormPrint ab Version 6.11.23.1206
5 Artikel-Einheit in englisch
Man kann die Artikel-Einheiten (Stück, lfm. usw.) auch in englisch ausdrucken.
Dazu im Report diese Variablen anlegen:
- PositionenEinheit
- Einheit aus den Auftragspositionen zum Zeitpunkt des Einfügens in die Position
oder
- ArtikelEinheit
- Einheit aus den aktuellen Artikelstammdaten.
Die Artikeleinheiten werden im REFLEX-Admin angelegt:
6 Speichern
6.1 Tabelle speichern
Mit dem Button wird die Tabelle gespeichert.
6.2 Technische Erläuterung
Beim Speichern der Tabelle passiert zweierlei:
- Die Variablen werden in dem Report gespeichert und können nun dort eingesetzt werden.
- Die Variablen werden in einer Datei "TransForms.frt" gespeichert und können auch in anderen Reports verwendet werden. Diese Datei befindet sich sich direkt im "Formular"-Ordner.
7 Im Report-Designer
Im Report-Designer können nun die Variablen eingesetzt werden.
Nun wird auch der Sinn der Variablen-Namen mit "@" klar: Diese sind sofort als Übersetzungsvariablen erkennbar.
Siehe FastReport: Anlegen und verwenden von Variablen im Report
8 FastReport aktivieren
Wenn Sie ein FastReport-Formular entwickelt haben, muss es den Benutzern/Benutzerinnen natürlich auch zur Verfügung gestellt werden. Dazu sind folgende Schritte notwendig:
8.1 Report-Datei in das entsprechende Verzeichnis kopieren
Die Report-Dateien befinden sich in Unterordnern des Formular-Verzeichnisses.
- Das Formular-Verzeichnis wird in der INI-Datei festgelegt.
Im Formular-Verzeichnis befindet sich die Datei der Übersetzungstabelle "TransForms.frt".
Verzeichnis-Struktur am Beispiel eines Laufwerks "R:":
Verzeichnis | Beschreibung |
---|---|
R:\Formular | Allgemeines Formular-Verzeichnis, in dem eigentlich keine Reports stehen. Die eigentlichen Reports stehen in Unterverzeichnissen (s.u.). Für den Basis-Report ist das jedoch der richtige Platz! Siehe FastReport Vererbung/Basis-Report. |
R:\Formular\Auftrag | Reports für Anfragen, Angebote oder Aufträge. Im Gegensatz zu CrystalReports sucht FastReport die Reports nur in diesem Verzeichnis! Grund: Es sollte nur ein Report für Anfragen, Angebote und Auftragsbestätigungen verwendet werden. In CrystalReports musste man diesen universellen Report in beiden Verzeichnissen halten, also immer eine Kopie des geänderten Reports in das andere Verzeichnis kopieren. |
R:\Formular\Angebot | Dieses Verzeichnis wird in FastReport nicht verwendet. Alle Reports für die Auftragsverwaltung stehen in "R:\Formular\Auftrag". |
R:\Formular\Bestell | Reports für Bestellungen. |
R:\Formular\Fertigung | Reports für die Fertigung. |
R:\Formular\LiefSch | Reports für den Lieferschein bei der Lagerausgabe. |
R:\Formular\Ladeliste | Reports für die Ladeliste aus der Auftragsverwaltung oder der Lagerausgabe. |
R:\Formular\KV | Reports für den Kostenvoranschlag in der Werkstatt. |
R:\Formular\Mahnungen | Reports für die Mahnungen. |
R:\Formular\Rechnung | Reports für Rechnungen und Gutschriften. |
R:\Formular\WAuftrag | Reports für den Werkstatt-/Reparatur-Auftrag. |
8.2 Fast-Report lokal aktivieren
Wenn Sie bisher CrystalReports© verwenden und nun ein FastReport©-Formular gemacht haben, wollen Sie möglicherweise das neue Formular nicht sofort in der ganzen Firma einsetzen, sondern erst einmal durch eine/n Benutzer/in lokal testen.
Dazu können Sie beispielsweise in der REFLEX-Auftragsverwaltung das Menü Bearbeiten ⇒ Report-Version ⇒ Angebot öffnen und dort FastReport auswählen. Diese Option wählt für dieses Benutzerprofil FastReport© aus, alle anderen User arbeiten noch mit CrystalReports©.
Erst wenn das neue Formular ausführlich getestet wurde, kann man in den Programmparametern für alle Benutzer/innen aus FastReport© umschalten.
8.3 Fast-Report global aktivieren
In den Programmparametern kann man für alle Benutzer/innen auf FastReport© umschalten.
Dazu benötigt man Admin-Rechte.
Unter dem Menü
- Datei
- ⇒Admin-Optionen
- ⇒Programmparameter
- ⇒Firmen-Daten, Formular-Texte, Report-Einstellungen
- ⇒Registerseite "Report-Versionen"
- ⇒Firmen-Daten, Formular-Texte, Report-Einstellungen
- ⇒Programmparameter
- ⇒Admin-Optionen
kann man einstellen, welches Formular mit welcher Report-Version (CrystalReports© oder FastReport ©) gedruckt werden soll.
- Wenn wir "gedruckt" sagen, meinen wir damit natürlich auch die Vorschau, das mailen usw.!
Einzelheiten dazu finden Sie hier.
9 Links
Siehe:
- Der schnellere aber etwas komplizierte Weg, Variablen in einen Report einzufügen, wird hier beschrieben.