HTML - Vorlagen
Rechnungsbelege
Rechnungen werden aus HTML-Templates aufgebaut. Der OrgaMon basiert auf dem breiter angelegten Beleg-Begriff, folgende Logik führt zu folgenden Vorlagen:
VORLAGE_PREFIX ( "A" -> "Angebot" | "G" -> "Garantie" | "Z" -> "Zeitabrechnung" | [x] als Lieferschein -> "Lieferschein" | ansonsten -> "Rechnung" ) ["3spaltig_n"] ".html"
- Besonders bei Verträgen kann im Vorlage-Beleg der Vorlage-Prefix geschickt gesteuert werden um auf der Rechnungs das richtig Outfit festzulegen.
- Man beachte dass allein durch Wahl einer Motivation auch der Vorlage-Prefix bestimmt werden kann!
Einseitige Vorlage
<html>
<titel></titel>
Hallo Welt!
Heute ist der ~DATUM~!
</html>
Blocks
<|-- BEGIN ARTIKEL EVEN -->
~ArtNo~
~AusgabeArt~~ArtTxt~
~Menge~
~Wert~
~Percent~
~Anteil~
<|-- END ARTIKEL EVEN -->
<|-- BEGIN ARTIKEL ODD -->
~ArtNo~
~AusgabeArt~~ArtTxt~
~Menge~
~Wert~
~Percent~
~Anteil~
<|-- END ARTIKEL ODD -->
<|-- INSERT ARTIKEL -->
Mehrseitige Vorlage
<html>
<HEAD>
<title></title>
<META HTTP-EQUIV="Pragma" content="no-cache">
<META HTTP-EQUIV="Cache-Control" content="no-cache, must-revalidate">
<META HTTP-EQUIV="Expires" content="0">
<STYLE TYPE="text/css">
<|--
P.breakhere {page-break-before: always}
-->
</STYLE>
</HEAD>
<body bgcolor="#ffffff" text="#000000" link="#cc0000" vlink="#999999" alink="#ffcc00">
<|-- BEGIN PAGE_SINGLE -->
<|-- SET MAXLINES 16 ArtTxt -->
...
<|-- END PAGE_SINGLE -->
<|-- BEGIN PAGE_FIRST -->
<|-- SET MAXLINES 18 ArtTxt -->
<|-- END PAGE_FIRST -->
<|-- END PAGE_NEXT -->
<|-- BEGIN PAGE_LAST -->
<|-- SET MAXLINES 18 ArtTxt,MW -->
<|-- END PAGE_LAST -->
<|-- INSERT PAGE -->
</body>
</html>
Blöcke
Implementierung
// konstante Daten, die auf jeder Seite gleich sind DatenSammlerGlobal: TStringList; //
// lokale Block-Daten, die wechseln DatenSammlerLokal: TStringList; //
Kommandos
if (pos('local', Command) > 0) then if (pos(cPageBreakHerePossible, Command) > 0) then if (pos('save&delete', Command) > 0) then if (pos('set', Command) > 0) then if (pos('load', Command) > 0) then if (pos('write', Command) > 0) then if (pos('save', Command) > 0) then if (pos('clear', Command) > 0) then if (pos('delete', Command) > 0) then if (pos('dereference', Command) > 0) then
Blocks
cHTML_BeginBlock = '\<\!-- BEGIN ';
cHTML_EndBlock = '