Inhaltsverzeichnis
Einleitung
Die Definitionen der Ausdrucke sind im Verzeichnis c:\Retail\POS2\Printouts\ hinterlegt. Jede Definition befindet sich in einem separaten Verzeichnis, dessen Name gleichzeitig für den Namen der Definition steht. Im Verzeichnis müssen mindestens drei Dateien hinterlegt werden, welche Datenquelle, Anordnung und Layout des Ausdrucks definieren. Jede dieser Dateien muss eine gültige xml-Datei mit einem bestimmten Namen sein. Eine detaillierte Struktur jeder dieser Dateien wird nachfolgend beschrieben.
Datenquelle
Die Datenquelle des Ausdrucks muss in der Datei mit dem Namen Data.xml gespeichert werden. Das Hauptelement der Datei ist data, das wiederum genau ein Element enthalten muss: setf. Innerhalb des Elements setf muss mindestens ein Element set vorhanden sein.
Jedes set-Element steht für einen Datensatz (Ergebnis einer SQL-Abfrage). Es muss zwei untergeordnete Elemente enthalten: name – definiert den Namen des Datensatzes und query- definiert die SQL-Abfrage.
Exemplarische Data.xml-Datei
<?xml version="1.0" encoding="utf-8"?> <data> <setf> <set> <name>SummaryAmount</name> <query> SELECT FORMAT(Value,'N2','pl-PL') as Amount, c.Symbol as Currency from Configuration.Currencies c, [Documents].[TradeDocuments] ts join Documents.Payments dp on dp.DocumentId = ts.Id where ts.Id = {0} and c.IsSystem = 1 </query> </set> <set> <name>DocumentRates</name> <query> SELECT cvr.Name as Name, FORMAT(dva.NetValue,'N2','pl-PL') as NetValue, FORMAT(dva.GrossValue,'N2','pl-PL') as GrossValue, FORMAT(dva.VatValue,'N2','pl-PL') as Vat FROM Documents.VATAggregates dva JOIN Configuration.VATRates cvr ON cvr.id = dva.VATRateId where DocumentId={0} </query> </set> </setf> </data>>
Die Abfrage kann eine standardmäßige SQL-Abfrage sein bzw. ein Name der gespeicherten Prozedur, die das angeforderte Ergebnis zurückgibt. Um die gespeicherte Prozedur für das Element query zu verwenden, ist das Attribut type mit dem Wert StoredProcedure hinzuzufügen.
Parameter der Datenquelle
Beim Ausführen der Abfragen aus der Datei Data.xml werden die vom Typ und vom Kontext des Ausdrucks abhängigen Parameter in die Abfragen übertragen. Im obigen Beispiel wird der Parameter @DocumentId verwendet.
Anordnung des Ausdrucks
Der Inhalt und die Anordnung des Ausdrucks werden in der Datei Layout.xml definiert. Das Hauptelement in der Datei ist document. Es muss mindestens ein Element body enthalten, in dem sich der Hauptteil des Ausdrucks befindet. Im Element document kann zusätzlich das Element title platziert werden, sowie mehrere Elemente header und footer. Der Inhalt der Elemente body, header und footer kann aus den im Abschnitt Anordnung beschriebenen Elementen zusammengesetzt werden. Die Elemente können verschachtelt werden.
Layout des Ausdrucks
Die Anpassung des Ausdrucks-Layouts kann mit der Datei Styles.xml durchgeführt werden. Das Hauptelement der Datei ist style, das Elemente enthält, die das Aussehen der einzelnen in der Datei Layout.xml definierten Ausdruckselemente bestimmen.
Eines der untergeordneten Elemente des Elements style ist fonts, das alle im Dokument verwendeten Schriftarten bestimmt. Es kann eins oder mehrere font-Elemente zum Festlegen von Schriftart, Schriftschnitt, Größe und Aussehen des Fonts enthalten.
<font name="title" face="Arial" size="20" color="#9fc54c"/>
Attribute des Elements font:
- name – bestimmt den Namen des Fonts
- face – Name der Schriftart
- size – Größe in Punkten
- color – Farbe
- style – Schriftschnitt. Es kann einen (oder mehrere mit Leerzeichen getrennt) von den Werten bold, italic, underline enthalten.
Innerhalb des Elements fonts soll ein Element font mit weggelassenem Attribut name vorhanden sein. Diese Schriftart wird als Standard für die Ausdrucke verwendet.
<fonts> <font face="Trebuchet MS" size="10"/> <font name="title" face="Arial" size="20" color="#9fc54c"/> <font name="header" face="Tahoma" size="8" color="#999999"/> <font name="summary_value" face="Trebuchet MS" size="15" color="#9fc54c" style="bold"/> </fonts>
Neben dem Element fonts kann die Datei Styles.xml Elemente mit dem folgendem Schema enthalten:
<Selektor> <Regel/> <Regel/> [...] </Selektor>
Wobei Selektor darüber bestimmt, ob die untergeordneten Regeln für das jeweilige Element verwendet werden. Die meisten Selektoren haben den gleichen Namen wie das von ihnen formatierte Element. Beispielsweise wird zum Formatieren des Absatzes (Element p in der Datei Layout.xml) der Selektor p verwendet.
<p> <margin top="5"/> </p>
So wird für alle Abschnitte (Paragrafen) des Ausdrucks der Abstand zum oberen Rand auf 5 Punkte gesetzt.
Mit dem Selektor können ebenfalls nur ausgewählte Elemente eines bestimmten Typs formatiert werden. Hierfür wird dem Element in der Datei Layout.xml und dem Selektor in der Datei Styles.xml das Attribut class hinzugefügt. Der Selektor wählt dann nur diese Elemente aus, die denselben Wert des Attributs class aufweisen.
<p> <text font="normal"/> </p> <p class="title"> <text font="title"/> </p>
Im obigen Beispiel wird der Font für alle Abschnitte auf normal festgelegt, für diejenigen aber, deren Attribut class den Wert title annimmt, wird der Font auf title gesetzt.
Weiterführende Beschreibung anderer Attribute der Selektoren und eine Liste der Regeln zum Formatieren sind im Abschnitt Layout zu finden. Die Liste von Selektoren und Regeln zum Anwenden für ein bestimmtes Element ist in der Beschreibung einzelner Elemente im Abschnitt Anordnung zu finden.
Die Regeln aus der Datei Styles.xml werden von oben nach unten angewendet, dh. wenn zwei Selektoren dasselbe Element anpassen und dieselben Regeln mit anderen Werten enthalten, wird der nächste Wert verwendet.
Anordnung des Ausdrucks
In diesem Kapitel werden alle verfügbaren Elemente beschrieben, die beim Erstellen des Ausdrucklayouts verwendet werden können. Die Beschreibung jedes einzelnen Elements enthält folgende Bereiche:
- Inhalt – bestimmt, welche untergeordneten Elemente innerhalb des Elements platziert werden können
- Parameter – beschreibt alle verfügbaren Attribute, die dem Element hinzugefügt werden können.
- Formatierende Elemente – enthält die Liste der Selektoren, die das jeweilige Element in der DateiStyles.xml anpassen.
- Untergeordnete Elemente – fakultativer Bereich zur Beschreibung der Elemente, die nur innerhalb eines Elements verfügbar sein können. Für jedes untergeordnete Element ist die Anordnung der Beschreibung dieselbe wie für das Hauptelement.
- Beispiel – enthält einen Codeausschnitt mit einem Beispiel für die Verwendung des beschriebenen Elements.
Elemente
Barcode
Beschreibung | Barcode. |
Inhalt | Innerhalb des Elements barcode werden Textdaten platziert, die mit dem Code verschlüsselt werden. |
Parameter | type – bestimmt den Typ des Barcodes.
Mögliche Werte:
|
Formatierende Elemente | Barcode |
Beispiel |
<barcode type="Code 93"><data set="DocumentHeader" var="EAN" /></barcode> |
Body
Beschreibung | Hauptbereich des Ausdrucks. |
Inhalt | Beliebiges Nicht-Textelement |
Parameter | Keine |
Formatierende Elemente | Body |
Beispiel |
<?xml version="1.0" encoding="utf-8"?> <document> <title><data set="DocumentHeader" var="NumberString" /></title> <body> [Inhalt des Ausdrucks] </body> </document> |
Br
Beschreibung | Zeilenumbruch im Text |
Inhalt | Element darf keine Elemente enthalten |
Parameter | Keine |
Formatierende Elemente | Keine |
Beispiel |
<p>Text<br/> in mehreren<br/>Zeilen</p> |
Data
Beschreibung | Element gibt Daten aus der Datenquelle in Textform zurück |
Inhalt | Element darf keine Elemente enthalten |
Parameter | set – Name des Datensets var – Name der Spalte index – Zeilenindex aus der Datenquelle (Standardwert 0) format – todo |
Formatierende Elemente | Keine |
Beispiel |
<barcode type="Code 93"><data set="DocumentHeader" var="EAN" /></barcode> |
Footer
Beschreibung | Fußzeile des Ausdrucks |
Inhalt | Beliebiges Nicht-Textelement |
Parameter | page – Seite des Ausdrucks. Wird der Parameter nicht angegeben, gilt die Fußzeile als Haupt-Fußzeile.
Mögliche Werte:
|
Formatierende Elemente | Footer |
Beispiel |
<?xml version="1.0" encoding="utf-8"?> <document> <footer page="last"> <p>Fußzeile der letzten Seite</p> </footer> |
Header
Beschreibung | Kopfzeile des Ausdrucks |
Inhalt | Beliebiges Nicht-Textelement |
Parameter | page – Seite des Ausdrucks. Wird der Parameter nicht angegeben, gilt die Kopfzeile als Haupt-Kopfzeile.
Mögliche Werte:
|
Formatierende Elemente | Header |
Beispiel |
<?xml version="1.0" encoding="utf-8"?> <document> <header> <p>Kopfzeile</p> </header> <body> [...] |
Horizontal und Section
Horizontal
Beschreibung | Einteilung in horizontale Bereiche |
Inhalt | Eines oder mehrere Elemente section |
Parameter | Keine |
Formatierende Elemente | Header |
Untergeordnete Elemente | Section
|
Section
Beschreibung | Bereich des Ausdrucks |
Inhalt | Beliebige Nicht-Textelemente |
Parameter | Keine |
Formatierende Elemente | weight – Gewicht der Spaltenbreite. Standardwert 1 |
Untergeordnete Elemente | Section
|
Beispiel für Horizontal und Section
<horizontal> <section><p class="sign">Dokument wystawił</p></section> <section weight="0,1"></section> <section><p class="sign">Towar wydał</p></section> <section weight="0,1"></section> <section><p class="sign">Data odbioru</p></section> <section weight="0,1"></section> <section><p class="sign">Towar odebrał</p> <p class="footer">Strona<pageNumber/> z <numOfPages/></p></section> </horizontal>
Hr
Beschreibung | Horizontale Linie |
Inhalt | Element darf keine Elemente enthalten |
Parameter | Keine |
Formatierende Elemente | Hr |
Beispiel |
<p>text1</p> <hr /> <p>text2</p> |
If
Beschreibung | Textelement, bei dem die Anordnung des Ausdrucks von beliebigen Bedingungen abhängt |
Inhalt | Element test und mindestens eines der Elemente true und false |
Parameter | Keine |
Formatierende Elemente | Keine |
Untergeordnete Elemente |
|
Test
Beschreibung | Element enthält eine Bedingung zur Bestimmung, ob dem Ausdruck Elemente aus dem Bereich true oder false hinzugefügt werden. Die Bedingung kann ein beliebiger logischer Ausdruck sein, mit grundlegenden mathematischen Operationen, Vergleichen. Sie kann ebenfalls Klammern enthalten. |
Inhalt | Beliebige Textelemente |
Parameter | Keine |
Formatierende Elemente | Keine |
True
Beschreibung | Element, der Elemente enthält, die im Falle der Erfüllung der Bedingung aus dem Bereich test beibehalten werden |
Inhalt | Beliebige Elemente, die im übergeordneten Element des Elements test platziert werden können. |
Parameter | Keine |
Formatierende Elemente | Keine |
False
Beschreibung | Element, der Elemente enthält, die im Falle der Nicht-Erfüllung der Bedingung aus dem Bereich test beibehalten werden |
Inhalt | Beliebige Elemente, die im übergeordneten Element des Elements test platziert werden können. |
Parameter | Keine |
Formatierende Elemente | Keine |
<if> <test><data set="DocumentsPositions" var="Id" /> < 3123</test> <true> <horizontal> <section weight="2"> <p><data set="DocumentsPositions" var="Name" /></p> <p><data set="DocumentsPositions" var="Barcode" /></p> </section> <section weight="3"> <p><data set="DocumentsPositions" var="Name" /></p> <p><data set="DocumentsPositions" var="Barcode" /></p> </section> </horizontal> </true> <false> <p><data set="Header" var="CompanyName" /></p> </false> </if>
Image
Beschreibung | Bild aus Datenbank oder aus Festplatte. |
Inhalt | Element darf keine Elemente enthalten |
Parameter | path – Pfad zur Datei bzw. zum Hauptverzeichnis der Definition des Ausdrucks. Nach Auswahl des Parameters path werden die übrigen Parameter ignoriert. set – Name der Datenquelle var – Name der Spalte in der Datenquelle index – Zeilenindex in der Datenquelle |
Formatierende Elemente | Image |
Beispiel |
<image path="logowms.png" /> <image set="Header" var="Logo" /> |
PageNumber
Beschreibung | Nummer der aktuellen Seite |
Inhalt | Element darf keine Elemente enthalten |
Parameter | Keine |
Formatierende Elemente | Keine
|
Beispiel |
<footer> <p class=”footer”>Seite <pageNumber/> von <numOfPages/></p> </footer> |
P
Beschreibung | Absatz. |
Inhalt | Beliebiges Textelement |
Parameter | Keine |
Formatierende Elemente | P |
Beispiel |
<p class="date">Erfassungsdatum: <data set="DocumentHeader" var="DocumentCreationDate" /></p> |
RowNumber
Beschreibung | Nummer der aktuellen Tabellenzeile |
Inhalt | Element darf keine Elemente enthalten |
Parameter | Keine |
Formatierende Elemente | Keine |
Beispiel |
<table set="DocumentPositions"> <column weight="2" description=”Nr." class="number"> <rowNumber /> </column> <column weight="12" description=”[Code] Artikelname"> [<tableData var="Code" />] <tableData var="Name" /> </column></table> |
StaticTable
Beschreibung | Statische Tabelle mit vorgegebener Anzahl von Spalten und Zeilen. |
Inhalt | Element head und ein oder mehrere Elemente row |
Parameter | split – bestimmt, ob die Tabelle auf mehrere Seiten verteilt werden kann. Der Parameter kann den Wert true oder false annehmen. |
Formatierende Elemente | StaticTable |
Untergeordnete Elemente | Head
Column Row Cell |
Head
Beschreibung | Element, das die Kopfzeile der Tabelle definiert. |
Inhalt | Ein oder mehrere Elemente column |
Parameter | Keine |
Formatierende Elemente | Keine |
Column
Beschreibung | Element, das eine einzelne Spalte der Tabelle definiert. |
Inhalt | Beliebige Nicht-Textelemente |
Parameter | weight – Gewicht der Spaltenbreite. Standardwert 1 |
Formatierende Elemente | HeadCell |
Row
Beschreibung | Element, das eine einzelne Zeile der Tabelle definiert. |
Inhalt | Ein oder mehrere Elemente cell |
Parameter | Keine |
Formatierende Elemente | Keine |
Cell
Beschreibung | Element, das eine einzelne Zelle der Tabellenzeile definiert. |
Inhalt | Beliebige Nicht-Textelemente |
Parameter | collspan – Parameter zur Bestimmung der Spaltenanzahl einer Zelle (Parameter zum Zusammenführen von Tabellenzellen). rowspan- Parameter zur Bestimmung der Zeilenanzahl einer Zelle (Parameter zum Zusammenführen von Tabellenzellen). |
Formatierende Elemente | Cell |
<staticTable class="customer"> <head> <column weight="1"><p class="tableHead">Empfänger</p></column> <column weight="1"><p class="tableHead">Käufer</p></column> </head> <row> <cell> <p class="customer"><data set="DocumentHeader" var="CustomerName" /><br/> <data set="DocumentHeader" var="Street" /><br/> <data set="DocumentHeader" var="ZipCode" /> <data set="DocumentHeader" var="City" /><br/> IVA: <data set="DocumentHeader" var="Tin" /><br/> </p> </cell> <cell> <p class="customer"><data set="DocumentHeader2" var="CustomerName" /><br/> <data set="DocumentHeader2" var="Street" /><br/> <data set="DocumentHeader2" var="ZipCode" /> <data set="DocumentHeader2" var="City" /><br/> IVA: <data set="DocumentHeader2" var="Tin" /><br/> </p> </cell> </row> <row> <cell collspan="2"> <p>...</p> </cell> </row> </staticTable>
Table
Beschreibung | Dynamische Tabelle mit vorgegebener oder dynamischer Spaltenanzahl. |
Inhalt | Ein oder mehrere Elemente:
|
Parameter | split – bestimmt, ob die Tabelle auf mehrere Seiten verteilt werden kann. Der Parameter kann den Wert true oder false annehmen. set – Name des Datensets |
Formatierende Elemente | Table
|
Untergeordnete Elemente |
|
Column
Beschreibung | Element, das die Spalte der Tabelle definiert. |
Inhalt | Beliebige Textelemente |
Parameter | description – Kopfzeile der Spalte. weight – Gewicht der Spaltenbreite. Standardwert 1 |
Formatierende Elemente |
|
Dynamic-columns
Beschreibung | Element, das eine Spaltenreihe mit dem durch einen regulären Ausdruck festgelegten Namen definiert. |
Inhalt | Beliebige Textelemente |
Parameter | names – regulärer Ausdruck, mit dem Spalten aus der Datenquelle ausgewählt werden |
Formatierende Elemente |
|
If
Bedingungselement zum Ein- oder Ausblenden der ausgewählten Spalten.
Siehe Generisches Element If
TableData
Beschreibung | Element, das einen Textwert zurückgibt, der auf der Datenmenge der Tabelle, auf der im Parameter var angegebenen Spalte und auf der aktuellen Tabellenzeile basiert. |
Inhalt | Element darf keine Elemente enthalten |
Parameter | var – Name der Spalte aus der Datenmenge |
Formatierende Elemente | Keine |
Statische und bedingte Spalten
<table set="DocumentPositions"> <column weight="2" description="N." class="number"> <rowNumber /> </column> <column weight="12" description="[Code] Warenbezeichnung"> [<tableData var="Code" />] <tableData var="Name" /> </column> <if> <test> <hasColumn var="Column15" /> = 1 </test> <true> <column weight="2" description="Test" class="number"> <tableData var="Column15" /> </column> </true> </if> <column weight="4" description="Menge" class="number"> <tableData var="RealizedQuantity" /> </column> <column weight="4" description="ME (grundlegende Einheit)"> <tableData var="BasicUnitSymbol" /> </column> <column weight="4" description="Menge" class="number"> <tableData var="SecondaryQuantityRealized" /> </column> <column weight="4" description="ME (Hilfseinheit)"> <tableData var="SecondaryUnitSymbol" /> </column> </table>
<table set="DocumentPositions"> <column weight="2" description="N." class="number"> <rowNumber /> </column> <column weight="12" description="[Code] Warenbezeichnung"> [<tableData var="Code" />] <tableData var="Name" /> </column> <dynamic-columns weight="4" description="Währung {{1}}" names="Currency(.+)"> <tableData var="{{0}}" /> {{1}} </dynamic-columns> </table>
Title
Beschreibung | Titel des Dokuments, mit dem die PDF-Datei benannt wird. |
Inhalt | Beliebiges Textelement |
Parameter | Keine |
Formatierende Elemente | Keine
|
Layout des Ausdrucks
Hier werden alle formatierenden Elemente (Selektor) und Regeln beschrieben. Die Beschreibung des einzelnen Selektors enthält eine Liste der von ihm formatierenden Elemente und der möglichen Regeln.
Die Beschreibung jeder einzelnen Regel enthält eine Liste der Attribute, die für die Regel verwendet werden können.
Einschränkende Attribute
Jeder Selektor kann durch das Attribut class eingeschränkt werden. Zusätzlich können die tabellengebundenen Selektoren der Elemente durch das Attribut index eingeschränkt werden, welches eine ganze Zahl oder einen Ausdruck der folgenden Form enthalten kann: An+B, wobei A und B ganze Zahlen sind. Ein solcher Selektor wählt ein Element aus, wenn es mit dem Index der Tabellenzeile übereinstimmt (Tabellenzeilen sind ab 0 von oben nach unten nummeriert).
Beispiele
- index=”0″ – wählt die erste Zeile in der Tabelle aus
- index=”first” – wählt die erste Zeile in der Tabelle aus
- index=”last” – wählt die letzte Zeile in der Tabelle aus
- index=”5″ – wählt die sechste Zeile in der Tabelle aus
- index=”2n” – wählt gerade Zeilen aus, dh. mit dem Index gleich 0,2,4… also die erste, dritte, fünfte Zeile…
- index=”3n+1″ – wählt die Zeilen mit dem Index 1, 4, 7… aus
- index=”3n+2″ – wählt die Zeilen mit dem Index 2, 5, 8… aus
Selektoren
Barcode
Beschreibung | Selektor für Barcode |
Formatierte Elemente | Barcode |
Einschränkende Parameter | class |
Regeln | fit
margin text border |
Body
Beschreibung | Selektor für das Hauptelement des Ausdrucks |
Formatierte Elemente | Body |
Einschränkende Parameter | class |
Regeln | page
margin |
Cell
Beschreibung | Selektor für Zelle in einer statischen Tabelle |
Formatierte Elemente | Cell |
Einschränkende Parameter | class
index |
Regeln | border
background text |
DataCell
Beschreibung | Selektor für Zelle in einer dynamischen Tabelle |
Formatierte Elemente | Column |
Einschränkende Parameter | class
index |
Regeln | border
background text |
Footer
Beschreibung | Selektor für Fußzeile des Dokuments |
Formatierte Elemente | Footer |
Einschränkende Parameter | class |
Regeln | margin
text border background |
HeadCell
Beschreibung | Selektor für die Zelle der Kopfzeile in einer dynamischen Tabelle |
Formatierte Elemente | Column |
Einschränkende Parameter | class |
Regeln | border
background text |
Header
Beschreibung | Selektor für Kopfzeile des Dokuments |
Formatierte Elemente | Header |
Einschränkende Parameter | class |
Regeln | margin
text border background |
Hr
Beschreibung | Selektor für horizontale Zeile |
Formatierte Elemente | Hr |
Einschränkende Parameter | class |
Regeln | border |
Image
Beschreibung | Selektor für Bild |
Formatierte Elemente | Image |
Einschränkende Parameter | class |
Regeln | fit |
P
Beschreibung | Selektor für Absatz |
Formatierte Elemente | P |
Einschränkende Parameter | class |
Regeln | margin
text border background |
Section
Beschreibung | Selektor für Abschnitt |
Formatierte Elemente | Section |
Einschränkende Parameter | class |
Regeln | border
background text |
StaticTable
Beschreibung | Selektor für statische Tabelle |
Formatierte Elemente | StaticTable |
Einschränkende Parameter | class |
Regeln | width
border background text |
Table
Beschreibung | Selektor für dynamische Tabelle |
Formatierte Elemente | Table |
Einschränkende Parameter | class |
Regeln | width
border background text |
Regeln
Background
Regel zur Bestimmung des Hintergrunds
Attribute
- color – Farbe des Hintergrunds des Elements. Mögliche Formate: #RRGGBB, 0xRRGGBB oder 0xAARRGGBB
Border
Die Regel definiert den Rahmen des Elements.
Attribute
- left – Breite des linken Rahmens.
- right – Breite des rechten Rahmens.
- top – Breite des oberen Rahmens.
- bottom – Breite des unteren Rahmens.
- color – Farbe Elementrahmens. Mögliche Formate: #RRGGBB, 0xRRGGBB oder 0xAARRGGBB
- borderStyle – Rahmenart. Sie kann einen der folgenden Werte annehmen:
- dashdot
- dashdotdot
- dashlargegap
- dashsmallgap
- dot
- none
- single
Die Rahmenbreite kann in diversen Einheiten angegeben werden, u.a.: cm, in, mm, pt. Die Standardeinheit ist Punkt.
Formatieren eines ausgewählten Teils des Rahmens
Es ist ebenfalls möglich, ein gewünschtes Element des Rahmens zu formatieren, z. B. nur den linken Rand des Elements. Hierfür ist einer der folgenden Selektoren zu verwenden:
- borderLeft
- borderRight
- borderTop
- borderBottom
Jeder von diesen Selektoren kann folgende Regeln enthalten:
- width – Breite des Rahmens
- color – Farbe des Rahmens
- borderStyle – Art des Rahmens
Fit
Die Regel definiert die Größe des Elements.
Attribute
- width – Breite des Elements
- height – Größe des Elements
Die Breite und Größe kann in diversen Einheiten angegeben werden, u.a.: cm, in, mm, pt. Die Proportionen des Elements werden nach Änderung der Größe eingehalten.
Margin
Die Regel definiert den Seitenrand des Elements.
Attribute
- left – linker Rand
- right – rechter Rand
- top – oberer Rand
- bottom – unterer Rand
Die Randbreite kann in diversen Einheiten angegeben werden, u.a.: cm, in, mm, pt.
Page
Seitenspezifische Regeln
Attribute
- orientation – Seitenorientierung
- size – Seitengröße
- width – Seitenbreite
- footer-distance – Abstand der Fußzeile zum unteren Seitenrand
- header-distance – Abstand der Kopfzeile zum oberen Seitenrand
Text
Regeln zum Definieren des Textstils.
Attribute
- align – Textausrichtung. Sie kann einen der folgenden Werte annehmen:
- right – rechtsbündig ausrichten
- left – linksbündig ausrichten
- justify – Im Blocksatz ausrichten
- center – Zentrieren des Textes
- indent – Einzug der ersten Zeile.
- leftIndent – Einzug links.
- rightIndent – Einzug rechts.
- font – Name der im Bereich fonts bereits definierten Schriftart.
- color – Textfarbe. Mögliche Formate: #RRGGBB, 0xRRGGBB oder 0xAARRGGBB
Width
Regeln zum Definieren der Breite des Elements
Attribute
- percentage – prozentuale Breite des Elements, basierend auf der Breite des übergeordneten Elements.
Freigabe der Ausdrucke für POS
Nach dem Erstellen des eigenen Ausdrucks, soll er im ERP Standard importiert werden. Hierzu wird das Konfigurationsfenster für Ausdrucke geöffnet (Konfiguration-> Tools-> Ausdrucke). Anschließend ist die Stelle zu finden, wo der Ausdruck angefügt werden soll.
Liste der möglichen Stellen zum Anfügen eines an der POS-Stelle verfügbaren Ausdrucks:
- Details der Verkaufsrechnung
- Details des Kassenbons
- Details der Kassen-/Banktransaktion
- Details der Mengenkorrektur einer Verkaufsrechnung
- Details der Mengenkorrektur eines Kassenbelegs
- Details der Kassenschicht
- Tagesbericht
- Details der Verkaufsreklamation
- Details der Lagerumbuchung- (LUB-)
- Details des Wareneingangsprotokolls
An jeder der oben aufgeführten Stellen wird der Ausdruck nach Bestätigung/Speicherung des Dokuments vom jeweiligen Typ aktiviert.
Nach der Angabe der gewünschten Stelle wird die Schaltfläche Hinzufügen betätigt.
Zuerst soll der Name des Ausdrucks eingegeben und anschließend der Formattyp POS.2 ausgewählt werden.
Dann wird die Schaltfläche Definition erstellen aus der Schaltflächengruppe Bericht POS 2.0. Darauf wird ein Fester angezeigt, wo der Benutzer Dateien auswählt, die die Ausdruckdefinition ausmachen. Anschließend ist die Schaltfläche Öffnen zu aktivieren.
Nach dem abgeschlossenen Import des Ausdrucks in die Datenbank wird eine entsprechende Meldung angezeigt.
Anschließend soll der Ausdruck gespeichert werden.
Im nächsten Schritt wechselt der Benutzer zur Konfiguration des POS-Stelle in die Registerkarte Ausdrucke (Konfiguration-> Rechtestruktur->Bearbeitung des gegebenen Zentrums -> Bearbeitung der POS-Stelle -> Registerkarte Ausdrucke). Auf der Liste der verfügbaren Stellen wird der gerade erstellten Ausdruck angefügt.
Im Definitionsfenster für Ausdrucke ist der Parameter Auf dem Systemstandarddrucker drucken verfügbar. Nach Auswahl des Parameters erfolgt der Ausdruck auf dem Systemstandarddrucker ohne Druckerauswahl.
Anschließend ist die Aktualisierung der Daten an der POS-Stelle zu starten. Nach der erfolgten Datenaktualisierung wird der Ausdruck in den in POS.exe.config im Schlüssel PrintoutsDirectory ausgewählten Ordner synchronisiert (standardmäßig c:\Retail\POS2\Printouts\ ).
Nach der Synchronisierung des Ausdrucks wird ihm ein eindeutiger Name (guid) vergeben.
In der Firmendatenbank kann anhand des unten aufgeführten Skripts überprüft werden, welcher Ausdruck in welchen Ordner synchronisiert worden ist:
SELECT Name, InternalName FROM [Reports].[ReportData]
Freigabe der Ausdrucke für POS in CEE
In der Anwendung Comarch Retail POS Ausdrucke werden Ausdrucke den einzelnen Dokumententypen zugeordnet. Damit wird ein Ausdruck für das jeweilige Dokument global für einen oder für alle Vertriebskanäle (für eine oder mehrere POS-Kassen, die dem Vertriebskanal zugeordnet sind) definiert.
Achtung: Layout und Inhalt des Ausdrucks können nach individuellen Vorgaben angepasst und anschließend den jeweiligen Vertriebskanälen zugeordnet werden.
Die Anwendung besteht aus zwei Bereichen: Basis und Arbeitsbereich.
Basis der Anwendung
Um einen neuen Ausdruck zu definieren, geben Sie im Feld Code einen eindeutigen Ausdrucks-Code ein. Über die Wertehilfe können Sie einen bereits bestehenden Ausdruck auswählen. Im angezeigten Dialogfenster wählen Sie die gewünschte Ausdruckkonfiguration für den ausgewählten Code aus.
Über den Button [Start] wird eine Liste der verfügbaren Codes abgerufen. Der Benutzer hat auch die Möglichkeit, die nach dem ausgewählten Code (Ausdrucksbezeichnung) gefilterte Liste anzeigen zu lassen. Der im Fenster Ausdruckkonfiguration suchen ausgewählte Ausdruck wird in die Kopfzeile der Anwendung übernommen.
In dem Basisbereich können Sie eine neue Konfiguration definieren oder Einstellungen eines bestehenden Codes bearbeiten bzw. löschen.
Um einen neuen Code zu definieren, drücken Sie den Button [Neu] oder [Duplizieren], wenn Sie einen existierenden Code kopieren möchten.
Nach der Auswahl des Buttons [Neu] füllen Sie die folgenden Felder in dem Basisbereich aus:
- Code (Pflichtfeld) – ein eindeutiger Code des Ausdrucks
- Name – eine Bezeichnung des Ausdrucks, max. Länge 225 Zeichen
- Organisation – die zuzuordnende Organisation
- Vertriebskanal – ein Vertriebskanal, für den der Ausdruck verfügbar dein wird
Für den Vertriebskanal POS_DK will der Benutzer einen Ausdruck der Kassenrechnung definieren. Hierfür setzt er ein Häkchen bei der Checkbox Aktiv und füllt die folgenden Felder aus:
- Code – AR
- Name – Ausdrucke von Handelsdokumenten – Kassenrechnung
- Organisation – 00000
- Vertriebskanal – DK
- KStore – Documents > POS > Printouts (Pfad zum Speicherort für Ausdrucke im Knowledge-Store)
- Anzahl Kopien – 1
Arbeitsbereich
Nach der Auswahl des Buttons [Neu] wird eine neue Zeile in der Tabelle eingefügt. Für die darin enthaltenen Spalten definiert der Benutzer entsprechende Eingabewerte.
- Ansicht – gibt die Anwendungsansicht an, die dem bestimmten POS-Bereich entspricht, in dem der Ausdruck verwendet werden soll.
- Für digitale oder Papier-Ausdrucke – gibt an, ob der Ausdruck digital oder in Papierform erstellt werden soll. Es können beide Optionen für einen Ausdruck ausgewählt werden.
- Standard – definiert einen bevorzugten Ausdruck für den jeweiligen Vertriebskanal oder Organisation
- Verfügbar bei Bestätigung – gibt an, ob der Ausdruck beim Bestätigen des relevanten Dokuments an der POS-Kasse verfügbar sein soll. Sind für eine Ansicht mehrere Ausdrucke verfügbar, muss der Benutzer entscheiden, welcher am Drucker ausgegeben wird.
Nachdem Sie alle erforderlichen Einstellungen festgelegt haben, bestätigen Sie Ihre Angaben mit dem Button [Speichern].
Um die Daten für POS freizugeben, starten Sie die Anwendung POS Metadaten exportieren.
Auslösen des Druckauftrags am POS
Standardmäßig wird der Ausdruck nach Bestätigung/Speicherung des Dokuments aktiviert. Dies gilt nicht für den Ausdruck des Kassenbelegs (hier wird der Druckvorgang auf dem Fiskaldrucker und nicht auf dem üblichen Drucker ausgeführt).
Der erneute Ausdruck des Dokuments ist in der Dokumentenliste oder in der Vorschau des Dokuments verfügbar.
Ein Druckvorgang kann an folgenden Stellen an der POS-Stelle gestartet werden:
- Liste der Handelsdokumente – Ausdruck der folgenden Dokumente möglich: Kassenbeleg, Verkaufsrechnung, Mengenkorrektur des Kassenbelegs, Mengenkorrektur der Rechnung
- Vorschau des Dokuments, von der Handelsdokumentenliste aus – Ausdruck des in Vorschau angezeigten Dokuments. Kassenbeleg, Verkaufsrechnung, Mengenkorrektur des Kassenbelegs, Mengenkorrektur der Rechnung können ausgedruckt werden.
- Bestätigung eines Handelsdokuments. Je nachdem, ob die Installation auf einer polnischen oder nicht-polnischen Datenbank basiert (in Frankreich und Deutschland gibt es keine Fiskalkassenpflicht), wird die folgende Aktion gestartet:
- Wenn ein Kassenbeleg oder eine Rechnung an einer polnischen Installation bestätigt wird, erfolgt der Druckauftrag entweder auf einem Fiskaldrucker (für Kassenbelege) oder auf einem üblichen Drucker (für Rechnungen).
- Wenn ein Kassenbeleg oder eine Rechnung an einer nicht-polnischen Installation bestätigt wird, erfolgt der Druckauftrag auf einem üblichen Drucker.
- Bestätigung eines Dokuments der Reklamation. Der Ausdruck der Reklamation ist zusätzlich in der Liste der Reklamationen und in der Vorschau des Dokuments verfügbar.
- Nach Bestätigung des Tagesabschlusses wird der Ausdruck aktiviert.
- Tageszusammenfassung nach Auswahl eines bereits abgeschlossenen Tages.
- Bestätigung eines KE-/KA-Dokuments. Ausdruck auch in der Vorschau des Dokuments möglich.
- Bestätigung der Bearbeitung einer Lagerumbuchung-. Ausdruck auch in der Vorschau des Dokuments möglich.
- Wareneingang mit LUB-. Ausdruck auch in der Vorschau des Dokuments möglich.