Import
Einen BIRT-Bericht importieren
Was brevier import aus einer BIRT-.rptdesign-Datei liest, welche Teile des Berichts er umwandelt und welche er nennt.
Auf dieser Seite
brevier import kontoauszug.rptdesign -o templates/kontoauszugImported kontoauszug.rptdesign: wrote kontoauszug.html, kontoauszug.css, kontoauszug.schema.json, sample.jsonDer Import schreibt dieselben vier Dateien wie bei JasperReports. Das Beispiel zeigt, was jede von ihnen enthält.
Die BIRT-Fassung des Kontoauszugs hat ihren Kopf als text-Element am Anfang des
Berichtskörpers, dann eine Tabelle, dann ein text-Element mit der Fußzeile. Der
Import behält diese Reihenfolge:
<div><h1>{{bankName}}</h1>
<p>{{kontoinhaber}}</p>
<p>IBAN: {{iban}}</p>
<!-- 5 weitere Zeilen -->
<p>Neuer Kontostand: {{neuerKontostand}} EUR</p></div>
<table class="report-table" data-brevier-uebertrag="true">
<!-- thead und {{#each rows}} ... {{/each}} -->
</table>
<div><p>{{bankName}} · Kontoauszug</p></div>Was der Import liest
| Im Bericht | In der Vorlage |
|---|---|
| Ein skalarer Parameter | Eine Eigenschaft des Schemas, mit ihrem Typ. |
Ein skalarer Parameter mit isRequired false oder mit einem Standardwert |
Eine Eigenschaft, die das Schema nicht verlangt. |
Die Spalten des Datensatzes der ersten Tabelle (ein Script-Datensatz oder ein oda-data-set) |
Die Eigenschaften von rows. |
Ein label im Berichtskörper |
Ein Absatz <p>. |
Ein text-Element mit HTML (contentType html, oder auto mit einem Tag im Text) |
Ein <div> mit dem HTML. <value-of>params["x"]</value-of> wird zu {{x}}. |
Ein text-Element mit einfachem Text |
Ein Absatz <p>. |
Die erste table: die erste Zeile des Kopfs und die erste Zeile des Details |
<thead> und {{#each rows}} ... {{/each}}. |
Eine Zelle mit einem data-Element, das dataSetRow["x"] oder row["x"] liest |
{{x}} |
Die Seitengröße der ersten Masterseite (a3, a4, a5, us-letter, us-legal oder custom), die Ausrichtung und die Ränder |
@page im CSS. |
Die Datentypen integer, float, decimal, boolean, date und dateTime
werden zu den Schematypen integer, number, number, boolean, einem String
mit Format date und einem String mit Format date-time. Jeder andere Typ ist
ein String.
Beschriftungen und Texte vor der ersten Tabelle stehen in der Vorlage vor der
Tabelle. Beschriftungen und Texte danach stehen nach der Tabelle. Wie beim
JasperReports-Import ist eine Spalte mit Zahlentyp rechtsbündig, und die erste
Spalte mit Dezimaltyp (nicht integer) trägt ihre Summe auf die nächste Seite.
Was der Import nennt
Alles, was die Tabelle oben nicht liest, wird mit seiner Zeile genannt. Fügen Sie
dem Label einer Kopfzelle <property name="textAlign">right</property> hinzu, und
der Import gibt aus:
Not converted: line 124: property "textAlign"Diese Teile begegnen Ihnen am häufigsten:
| Im Bericht | Was Sie tun |
|---|---|
Stileigenschaften eines Labels, Textes oder einer Zelle, etwa fontSize, color oder textAlign |
Schreiben Sie die Regel im CSS. |
| Seitenkopf und Seitenfuß der Masterseite | Schreiben Sie sie als laufende Blöcke in der Vorlage: siehe Seitenlayout. |
| Ein Script in einem Datensatz | Ihre Anwendung übergibt die Zeilen. |
| Eine zweite Tabelle, ein Raster, ein Diagramm, ein Bild und jedes andere Element des Berichtskörpers | Schreiben Sie das HTML von Hand. |
| Eine Tabellenzeile nach der ersten Zeile des Kopfs oder des Details | Schreiben Sie die Zeile in der Vorlage. |
| Eine gebundene Spalte mit einem Script oder einer Aggregatfunktion, und eine Zelle, die sie liest | Ihre Anwendung berechnet den Wert und übergibt ihn. |
| Ein Standardwert eines Parameters | Die Eigenschaft ist im Schema optional. Ihre Anwendung übergibt den Wert. |
| Ein Parameter, der kein skalarer Parameter ist | Ihre Anwendung übergibt den Wert. |
Ein Wert ohne Vorlagensyntax wird von Ihrem Code berechnet und als neue Wurzel der Daten übergeben. Das Schema führt sie auf. Die Seite Auswege zeigt das für JasperReports, und hier geht es genauso.
Weiter: Den Aufruf ersetzen.