HTML - Vorlagen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

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 = '