Report

Die Druckausgabe erfolgt mit Hilfe einer sog. Report-Engine. Die Report-Engine fügt die zu druckenden Daten in eine Druckvorlage ein und gibt das Ergebnis auf einem beliebigen Ausgabegerät oder in eine Datei aus.
Die Druckvorlage wird als Textdatei im XML-Format (ANSI encoding) beschrieben. Die Textdatei kann mit einem beliebigen Texteditor oder einem XML-Editor erstellt und bearbeitet werden.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<report ...>
   <page ...>
      <header ...>
         ...
      </header>
      <detail ...>
         ...
      </detail>
      <footer ...>
         ...
      </footer>
   </page>
</report>

report

Beschreibt allgemeine Druckvorlageeigenschaften. Die Beschreibung der Druckvorlage erfolgt per XML in einer .rptdot-Datei. Eine Druckvorlage (report) kann beliebig viele Seiten (page) definieren, die alle gedruckt werden, wenn die Druckvorlage verwendet wird. Beispielvorlagen finden sie unter speedy7\report\ welche sie mit dem mitgelieferten Viewer anschauen können den sie unter speedy7\bin32\rptView7.exe finden. Um ihre eigenen Reports zu bauen, verwenden sie entweder die mitgelieferten Vorlagen und verändern diese oder erstellen eigene Dateien.

<report id="bomtable" name="BomTableA4H" description="Stückliste DIN A4 Quer" type="bomtable" coldescdata="1" revisioncount="4" revisionfirst="0"></report>
EigenschaftBeschreibung
idIdentifikation
descriptionBeschreibung
type Druckvorlagetyp
Wird von der aufrufenden Anwendung ausgewertet, um bei der benutzerspezifischen Auswahl einer Druckvorlage nur dem Kontext entsprechenden Druckvorlagen anzuzeigen.
Folgende Typen sind definiert:
- bomtable : Stücklistendruckvorlage
- document : Dokumenteigenschaften oder Dokumentlisten
- journal : Journalausdruck
- layoutindex : Layoutindex
- merge2pdf : Stempel beim Stapeldruck
coldescdata Definiert, ob beim Stücklistendruck (Stücklistenvorlagen) zur Beschreibung der Tabelle die Spaltenbeschreibungsdaten verwendet werden sollen.
Standart=1
revisioncount Gibt an wieviele der Letzten Revisionen miteinbezogen werden
revisionfirst Gibt an welche Revision als erste gezählt wird. Standart=0

page

Aufbau einer Seite im Report

Beschreibt den Inhalt einer Seite. Eine Seite kann einen Kopf, ein Detail und einen Fuß enthalten.

<page objectid="bomtable" type="page" size"9" width="2970" height="2100" orientation="landscape" datasource="bomtable" margin="{150,150,0,0}"></page>
EigenschaftBeschreibung
width Beschreibung siehe Allgemeine Eigenschaften
height Beschreibung siehe Allgemeine Eigenschaften
margin Beschreibung siehe Allgemeine Eigenschaften
type Seitentyp:
page = 0
simple = 1
label = 2
subform = 3
size Gibt die Größe der Seite an,
z.B.size=„9“
A3 = 8
A4 = 9
A4SMALL = 10
A5 = 11
B4 = 12
B5 = 13
orientation Hochformat oder Querformat
portrait(Hochformat) = 1
landscape(Querformat) = 2
datasource Name der Datenquelle.

Beschreibt den Seitenkopf.

<header objectid="header_1" height="20"></header>
EigenschaftBeschreibung
height Beschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle. [optional]

Beschreibt den Seitenfuß.

<footer objectid="footer_1" height="280"></footer>
EigenschaftBeschreibung
heightBeschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle. [optional]

Detail-Bereich

Im Detail Bereich wird festgelegt welche Art von Report dargestellt werden soll. Es kann zwischen detail, grid und table gewählt werden. Dieser Detail-Bereich wird auf jeder Seite wiederholt bzw. fortgeführt.

detail

Beschreibt die zu druckenden Elemente für einen Datensatz. Der Detailbereich wird für jeden Datensatz wiederholt ausgegeben und verschiebt alle nachfolgenden Elemente nach unten.

<detail objectid="detail_1" height="200" cangrow="true"></detail>
EigenschaftBeschreibung
height Beschreibung siehe Allgemeine Eigenschaften
cangrow Beschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle. [optional]

section

Fasst mehrere Elemente zusammen und ermöglicht dadruch diese Elemente mit einer anderen Datenquelle auszudrucken. Nachfolgende Elemente werden nicht nach unten verschoben.
Die section ist besonders hilfreich beim Stempeln, wenn z.B. Eigenschaften vom übergeordneten Projektordner gestempelt werden sollen.

<detail objectid="detail_1" height="200" cangrow="true"></detail>
EigenschaftBeschreibung
height Beschreibung siehe Allgemeine Eigenschaften
cangrow Beschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle. [optional]

grid

Inhalt entspricht dem was auf dem Bildschrim angezeigt wird, z.B. eine Stückliste. Wird über eine Schnittstelle gefüllt.

<grid objectid="grid_1" x="0" y="0" width="2700" height="1600" datasource="bomtable" fontname="arial" fontsize="9" border="1" border-width="4" wordwrap="false" cangrow="true" canshrink="false" head-height="80" row-height="80" cell-margin="{10,0,0,0}"/>

table

Erstellt an beliebiger Position eine Tabelle deren Inhalt von der Datenquelle gefüllt wird.

<table objectid="table_1" x="0" y="20" width="2700" height="1620"
datasource="bomtable" fontname="arial" fontsize="9" border="1"
wordwrap="false" cangrow="true" canshrink="false">
  <head height="150" wordwrap="true" repeat="true" fontsize="8"   fontweight="normal">
        <col name="Stück" width="90" margin="{5,0,0,0}"/></head>
  <row height="50" wordwrap="true" cangrow="true" margin=" {5,5,5,0}">
        <col datasource="SACHGRUPPE" width="0" grouping="1"/></row>
  <foot height="150" fontsize="8" fontweight="normal">
        <col/></foot>
</table>
EigenschaftBeschreibung
xBeschreibung siehe Allgemeine Eigenschaften
yBeschreibung siehe Allgemeine Eigenschaften
widthBeschreibung siehe Allgemeine Eigenschaften
heightBeschreibung siehe Allgemeine Eigenschaften
borderBeschreibung siehe Allgemeine Eigenschaften
cangrowBeschreibung siehe Allgemeine Eigenschaften
canshrinkBeschreibung siehe Allgemeine Eigenschaften
pagebrakeBeschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle.
dateformatBeschreibung siehe Datumsformat
precisionNachkommastellen
currencyWährung
negvaluecolorFarbe des negativen Wert, näher Beschreibung siehe Farbe
commaseperatorKommatrennung (Vorkomma, Nachkomma) [boolean]
wordwrapWortumbruch [boolean]
repeatWiederholung der Tabellenüberschrift auf der nächsten Seite, z.B. wenn die Tabelle mehrseitig ist. [boolean]
fontnameBeschreibung siehe Schrift
fontwidthBeschreibung siehe Schrift
fontsizeBeschreibung siehe Schrift
fontweightBeschreibung siehe Schrift
fontitalicBeschreibung siehe Schrift
fontunderlineBeschreibung siehe Schrift
fontstrikeoutBeschreibung siehe Schrift
halignmentBeschreibung siehe Horizontale und Vertikale Anordnung
valignmentBeschreibung siehe Horizontale und Vertikale Anordnung
cell-borderZellenrahmen [boolean]
cell-border-colorFarbe des Zellenrahmen, nähere Beschreibung siehe Farbe
cell-border-widthBreite des Zellenrahmen, z.B. „2“
cell-border-styleLinienart des Zellenrahmen, nähere Beschreibung siehe Styles
upside-downTabelle von oben nach unten. [boolean]
headBeschreibt den Kopf der Tabelle.
rowBeschreibt die Zeilen der Tabelle.
footBeschreibt den Fuß der Tabelle.
colBeschreibt die Spalten.

Allgemeine Eigenschaften

EigenschaftBeschreibung
objectidObjekt Identifikation;
gilt in jedem Abschnitt
nameName;
gilt in jedem Abschnitt
descriptionBeschreibung;
gilt in jedem Abschnitt
x Position in X-Richtung (nach rechts)
y Position in Y-Richtung (nach unten)
width Breite des Elements, z.B. „2100“
height Höhe des Elements, z.B. „2970“
margin Hier gibt es zwei Varianten, entweder man gibt den ganzen Rand oder an man definiert jeden Rand einzeln.
Variante 1:
Rand, z.B. {5,2,5,2}
erste Zahl = linker Rand
zweite Zahl = oberer Rand
dritte Zahl = rechter Rand
vierte Zahl = unterer Rand
Variante 2:
margin-left: gibt den linken Rand an, z.B. „8“
margin-top: gibt den oberen Rand an, z.B. „6“
margin-right: gibt den rechten Rand an, z.B. „8“
margin-bottom: gibt den unteren Rand an, z.B. „6“\\
visibleSichtbarkeit eines Elements wird gesteuert, Standard = sichtbar [boolean]
brakebeforeerzwingt einen Seitenumbruch [boolean]
cangrowElement kann bei Bedarf größer werden. [boolean]
canshrinkElement kann bei Bedarf kleiner werden. [boolean]
pagebrakeDefiniert ob das Element durch einen Seitenumbruch getrennt werden darf, z.B. bei einem mehrzeiligen Text der nicht mehr auf die Seite passt. [boolean]
conditionBedingung
layerZeichenebene
styleObjekt verweist auf diese Stiltabelle, in der die Eigenschaften definiert sind.
hrefHyperlinkreferenz
toc_levelVerschachtelungsebene für das Inhaltsverzeichnis
colorGibt die Farbe an, nähere Beschreibung siehe Farbe
backHintergrund [boolean]
back-colorGibt die Hintergrundfarbe an, nähere Beschreibung siehe Farbe
back-styleSchraffurstil des Hintergrunds, nähere Beschreibung siehe Styles
borderRahmen [boolean]
border-colorGibt die Rahmenfarbe an, nähere Beschreibung siehe Farbe
border-widthRahmenbreite des Elements, z.B. „4“
border-offsetRahmenversatz
border-styleRahmenart, nähere Beschreibung siehe Styles
border-roundingRahmenabrundung
shadowSchatten [boolean]
shadow-colorGibt die Schattenfarbe an, nähere Beschreibung siehe Farbe
shadow-styleSchattenart, nähere Beschreibung siehe Styles
shadow-widthSchattenbreite des Elements
rotationDrehen

Farben

EigenschaftBeschreibung
FarbeFarben können in den folgenden 3 Varianten angegeben werden:
Es kann der Farbenname angegeben werden, zur Auswahl stehen folgende Farben:
black, grey, maroon, red, green, lime, olive, yellow, navy, blue, purple, fuchsia, aqua, silver, white
Es kann der Hexadezimalwert der Farbe angegeben werden, eine Raute (#) muss dieser Zahl vorangestellt werden, z.B. #808000 für Olive
Es kann der RGB Wert der Farbe angegeben werden, {Rot,Grün,Blau} z.B. {128,128,0} für Olive

Datumsformat

EigenschaftBeschreibung
dateformat Datumsformat:
/ bedeutet dass das Datum durch einen Schrägstrich getrennt wird.
- bedeutet dass das Datum durch einen Bindestrich getrennt wird.
. bedeutet dass das Datum durch einen Punkt getrennt wird.
D = Tag
M = Monat
Y = Jahr

M/D/Y z.B. 5/8/9
M-D-Y z.B. 4-6-7
MM/DD/Y z.B. 12/27/8
M/D/YYYY
M-D-YYYY
MM/DD/YYYY
MM-DD-YYYY
YYYY/M/D
YYYY-M-D
DD.MM.YYYY

Styles

EigenschaftBeschreibung
back-stylehorizontal = 0
vertical = 1
fdiagonal = 2
bdiagonal = 3
cross = 4
diagcross = 5
border-stylesolidline = 0 _
dashline = 1 ——
dotline = 2 ……..
dashdotline = 3 -.-.-.-
dashdotdotline = 4 -..-..-..
cell-border-stylesolidline = 0 _
dashline = 1 ——
dotline = 2 ……..
dashdotline = 3 -.-.-.-
dashdotdotline = 4 -..-..-..
shadow-stylehorizontal = 0
vertical = 1
fdiagonal = 2
bdiagonal = 3
cross = 4
diagcross = 5

Schrift

EigenschaftBeschreibung
fontname Schriftname. z.B.: arial, tahoma, courier new, …
fontsize Gibt die Schriftgröße an, z.B. fontsize=„12“
fontwidth Schriftbreite.
fontweight Gibt die Schriftdicke an, z.B. „normal“
light = Dünn
normal = Normal
demibold = Halbfett
bold = Fett\ \ black = ganz Fett
fontitalicKursiv [boolean]
fontunderlineSchrift unterstreichen [boolean]
fontstrikeoutSchrift durchstreichen [boolean]

Ausrichtung

Horizontale und Vertikale Ausrichtung

EigenschaftBeschreibung
halignmentHorizontale Anordnung eines Elements:
z.B. halignment=„left“
left = Links ausgerichtet
center = zentriert ausgerichtet
right = rechts ausgerichtet
valignmentVertikale Anordnung eines Elements:
z.B. valignment=„middle“
top = nach oben ausgerichtet
middle = mittig augerichtet
bottom = nach unten ausgerichtet

Datenquelle

Die Datenquelle gibt die Datenherkunft eines Elements an.
Bei Bereichselementen (page, header, footer, section, detail, grid, table) gibt die Datenquelle den Namen des Datenlieferanten (Datensatz mit z.B. allen Stücklistenpositionen, oder Liste der zu druckenden Dokumente)
Bei Druckelementen (field, calcfield, image, list, barcode) gibt die Datenquelle den zu druckenden Eigenschaftennamen an.
Je nach Druckvorlagetyp werden folgende Datenquellen zur Verfügung gestellt:

Report-TypDatenquelleBeschreibung
bomtable bomtable Liste der Stücklistenpositionen. Für jede Position ein Rowset mit jeweils allen Positions- und Dokumenteigenschaften.
bomtable bomhead Stücklistenkopf. Dokumenteigenschaften der Baugruppe.
bomtable bomhead.revision Liste der Versionen der Baugruppe.
document data Liste der Dokumente. Für jedes Dokument ein Rowset mit jeweils allen Dokumenteigenschaften.
document relc Liste der Variantendokumente. Für jedes Variantedokument ein Rowset mit jeweils allen Dokumenteigenschaften.
Kann nur innerhalb eines document Reports verwendet werden.
document revisions Liste der Revisionen. Für jede Revision ein Rowset mit jeweils allen Dokumenteigenschaften.
Kann nur innerhalb eines document Reports verwendet werden.
document versions Liste der Versionen. Für jede Version ein Rowset mit jeweils allen Dokumenteigenschaften.
Kann nur innerhalb eines document Reports verwendet werden.
merge2pdf data Liste Dokumente. Für jedes Dokument ein Rowset mit jeweils allen Dokumenteigenschaften.
merge2pdf master Eigenschaften des ersten Dokuments beim Stapeldruck.
layoutindex data Liste der Layouts. Für jedes Layout ein Rowset mit jeweils allen Dokumenteigenschaften.
layoutindex head Eigenschaften des DWG Dokuments.

Elemente

text

Erstellt einen beliebigen Text.

<text objectid="" x="0" y="0" width="350" height="25" border="0" text="Last Saved Date of Drawing:" fontsize="6" fontname="Arial" fontweight="normal"/>

field

Beschreibt einen dynamischen Text der über die Daten gefüllt wird.

<field objectid="" x="620" y="40" width="130" height="40" margin="{5,2,5,2}" datasource="dm_createdat" valignment="middle" fontname="arial" fontsize="6" datatype="date" dateformat="DD.MM.YYYY"/>
EigenschaftBeschreibung
xBeschreibung siehe Allgemeine Eigenschaften
yBeschreibung siehe Allgemeine Eigenschaften
widthBeschreibung siehe Allgemeine Eigenschaften
heightBeschreibung siehe Allgemeine Eigenschaften
marginBeschreibung siehe Allgemeine Eigenschaften
datasource Name der Datenquelle. [erforderlich]
halignmentBeschreibung siehe Horizontale und Vertikale Anordnung
valignmentBeschreibung siehe Horizontale und Vertikale Anordnung
fontnameBeschreibung siehe Schrift
fontsizeBeschreibung siehe Schrift
datatypeDatentyp:
none
boolean
byte
integer
floating
string
date
time
datetime
currency
image
dateformatBeschreibung siehe Datumsformat
precisionNachkommastellen
currencyWährung
negvaluecolorFarbe des negativen Wert, nähere Beschreibung siehe Farbe
commaseperatorKommatrennung (Vorkomma, Nachkomme) [boolean]

calcfield

Zeigt den Wert einer Berechnung an. Mit dem calculationtype wird die Art der Berechnung festgelegt und mit datasource das Feld für das die Berechnung stattfinden soll.

<calcfield objectid="" x="1450" y="50" width="350" height="60" margin="{10,0,10,0}" calculationtype="sum"
datasource="Gesamtpreis" datatype="currency" precision="0"
commaseparator="true" border="true" fontname="arial" fontsize="11" fontweight="bold" fontitalic="false" fontunderline="false" fontstrikeout="false" halignment="right" valignment="middle"/>
EigenschaftBeschreibung
xBeschreibung siehe Allgemeine Eigenschaften
yBeschreibung siehe Allgemeine Eigenschaften
widthBeschreibung siehe Allgemeine Eigenschaften
heightBeschreibung siehe Allgemeine Eigenschaften
marginBeschreibung siehe Allgemeine Eigenschaften
borderBeschreibung siehe Allgemeine Eigenschaften
commaseperatorKommatrennung (Vorkomma, Nachkomma) [boolean]
fontnameBeschreibung siehe Schrift
fontsizeBeschreibung siehe Schrift
fontweightBeschreibung siehe Schrift
fontitalicBeschreibung siehe Schrift
fontunderlineBeschreibung siehe Schrift
fontstrikeoutBeschreibung siehe Schrift
halignmentBeschreibung siehe Horizontale und Vertikale Anordnung
valignmentBeschreibung siehe Horizontale und Vertikale Anordnung
calculationtypeformula = Formel = 0
count = Zähler = 1
sum = Summe = 2
average = Durchschnitt = 3
variance = Varianz = 4
standarddeviation = Standard Abweichung = 5
z.B. calculationtype=„sum“
formulaFormel

image

Fügt ein Bild ein.

<image objectid="" x="960" y="30" width="380" height="66"
datasource="siemen_vdo_automotive.jpg" stretch="true"/>
EigenschaftBeschreibung
xBeschreibung siehe Allgemeine Eigenschaften
yBeschreibung siehe Allgemeine Eigenschaften
widthBeschreibung siehe Allgemeine Eigenschaften
heightBeschreibung siehe Allgemeine Eigenschaften
datasource Datenquelle
stretchDas Bild wird dem Rechteck angepasst, gleich groß wie das Rechteck gezogen. [boolean]
text Bilddatei
transparentBildhintergrund wird nicht gedruckt. Der Bildhintergrund wird in der linken oberen Ecke ermittelt. Das Pixel in dieser Ecke ist wird als Hintergrundfarbe gewählt. [boolean]
halignmentBeschreibung siehe Horizontale und Vertikale Anordnung
valignmentBeschreibung siehe Horizontale und Vertikale Anordnung

Innerhalb einer Tabellenzelle kann ebenfalls ein Bild ausgegeben werden. Hierzu den Wert der Zelle folgendermaßen konfigurieren:

text="image={datei[,stretch,alignment,transparent]}"



list

Erstellt eine Aufzählungsliste.

<list objectid="list_id" x="0" y="250" width="1800" height="50" datasource="" bullet="circle" indent="50" />
EigenschaftBeschreibung
pagebrakeBeschreibung siehe Allgemeine Eigenschaften
bulletAufzählungszeichen:
disk = Scheibe
circle = Kreis
square = Quadrat
minus = Minus
plus = Plus
decimal = Dezimal
lowerroman = kleine römische Zeichen
upperroman = große römische Zeichen
loweralpha = kleine Alphabet
upperalpha = großes Alphabet
indentEinrückung
row-heightBeschreibung siehe Allgemeine Eigenschaften
row-cangrowZeile kann größer werden. [boolean]

barcode

Fügt einen Barcode ein.

<barcode objectid="" x="960" y="30" width="380" height="66"
text="barcode" encode="[encoding]" penwidth="1"/>
EigenschaftBeschreibung
xBeschreibung siehe Allgemeine Eigenschaften
yBeschreibung siehe Allgemeine Eigenschaften
widthBeschreibung siehe Allgemeine Eigenschaften
heightBeschreibung siehe Allgemeine Eigenschaften
datasource Datenquelle
text Wert, der als Barocde ausgegeben wird
encode Barcode-Art:
- code39
- i25
- code93
- code128a
- code128b
- code128c
- ean13
penwidth Strichbreite

Innerhalb einer Tabellenzelle kann ebenfalls ein Barcode ausgegeben werden. Hierzu den Wert der Zelle folgendermaßen konfigurieren:

text="barcode={wert,encoding[,penwidth]}"



subform

Verweist auf eine Druckvorlage und bindet diese als Unterbericht ein.

<subform objectid="angebot_preise" x="0" y="250" width="1800" height="50" source=".\offer_preise.rptdot" cangrow="true" canshrink="true" condition="=(dm_doctype=='AVP');"/>



rectangle

Zeichnet an beliebiger Position ein Rechteck.

<rectangle objectid="" x="0" y="20" width="2700" height="1620"/>

circle

ellipse

line

Zeichnet eine beliebige Linie.

<line x="0" y="250" width="400" height="250" color=blue/>

hline

vline

Konfigurationsparameter

SchlüsselBeschreibung
pdf.compatibility PDF Version.
Standardwert := 1.3
pdf.resourcefile Resourcedatei zur allgemeinen Konfiguration der PDF-Engine.
Standardwert := fonts\\pdflib.upr
pdf.fontembed Definiert, ob Schriftarten eingebettet werden sollen.
Werden exotische Schriftarten in den Reports verwendet sollte der Parameter aktiviert sein. Damit ist gewährleistet, dass die PDF-Datei auf jedem System lesbar ist. Die PDF Dateien werden allerdings sehr groß.
Werden nur Standardschriftarten verwendet kann der Parameter deaktiviert werden. Die PDF Dateien werden kleiner.
Standardwert := 0.
report.image.resolution Bildauflösung in Pixel per Inch. Standardwert := 300
report.image.colordepth Farbtiefe in Bit. Standardwert := 24
report.image.jpegquality Standardwert := 100
report.tiff.resolution Bildauflösung in Pixel per Inch. Standardwert := 300
report.tiff.colordepth Farbtiefe in Bit. Standardwert := 24
report.tiff.compressionquality Standardwert := 100