X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fhtml%2Fch03s02.html;h=1c2668da8090641dab55b885d9523c3afce87420;hb=b293ff8ad52fc76ba0c44783e3982418114d6b08;hp=0de985b9711678397eba06abd6b741a49b260c53;hpb=8d8d1aab328b1c47d7983aca59c1c99592336eff;p=kivitendo-erp.git diff --git a/doc/html/ch03s02.html b/doc/html/ch03s02.html index 0de985b97..1c2668da8 100644 --- a/doc/html/ch03s02.html +++ b/doc/html/ch03s02.html @@ -1,725 +1,6 @@
-Dies ist eine Auflistung der Standard-Dokumentenvorlagen und
- aller zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
- einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
- <%variablenname%>
verwendet wird. Für
- LaTeX- und HTML-Vorlagen kann man die Form dieser Tags auch verändern
- (siehe Anfang und Ende der Tags verändern).
Früher wurde hier nur über LaTeX gesprochen. Inzwischen - unterstützt kivitendo aber auch OpenDocument-Vorlagen. Sofern es nicht - ausdrücklich eingeschränkt wird, gilt das im Folgenden gesagte für - alle Vorlagenarten.
Insgesamt sind technisch gesehen eine ganze Menge mehr Variablen - verfügbar als hier aufgelistet werden. Die meisten davon können - allerdings innerhalb einer solchen Vorlage nicht sinnvoll verwendet - werden. Wenn eine Auflistung dieser Variablen gewollt ist, so kann - diese wie folgt erhalten werden:
- SL/Form.pm
öffnen und am Anfang die
- Zeile "use Data::Dumper;" einfügen.
In Form.pm
die Funktion
- parse_template
suchen und hier die Zeile
- print(STDERR Dumper($self)); einfügen.
Einmal per Browser die gewünschte Vorlage "benutzen", z.B. - ein PDF für eine Rechnung erzeugen.
Im error.log
Apache steht die Ausgabe
- der Variablen $self
in der Form 'key'
- => 'value',
. Alle key
s sind
- verfügbar.
Um eine Variable auszugeben, müssen sie einfach nur zwischen die
- Tags geschrieben werden, also z.B.
- <%variablenname%>
.
Optional kann man auch mit Leerzeichen getrennte Flags angeben,
- die man aber nur selten brauchen wird. Die Syntax sieht also so aus:
- <%variablenname FLAG1 FLAG2%>
. Momentan
- werden die folgenden Flags unterstützt:
- NOFORMAT
gilt nur für Zahlenwerte und gibt
- den Wert ohne Formatierung, also ohne Tausendertrennzeichen mit
- mit einem Punkt als Dezimaltrennzeichen aus. Nützlich z.B., wenn
- damit in der Vorlage z.B. von LaTeX gerechnet werden soll.
- NOESCAPE
unterdrückt das Escapen von
- Sonderzeichen für die Vorlagensprache. Wenn also in einer
- Variablen bereits gültiger LaTeX-Code steht und dieser von LaTeX
- auch ausgewertet und nicht wortwörtlich angezeigt werden soll, so
- ist dieses Flag sinnvoll.
Beispiel:
<%quototal NOFORMAT%>
In der Admininstration können Drucker definiert werden. Auch im
- dort eingebbaren Druckbefehl können die hier aufgelisteten Variablen
- und Kontrollstrukturen verwendet werden. Ihr Inhalt wird dabei nach
- den Regeln der gängigen Shells formatiert, sodass Sonderzeichen wie
- `...`
nicht zu unerwünschtem Verhalten
- führen.
Dies erlaubt z.B. die Definition eines Faxes als Druckerbefehl, - für das die Telefonnummer eines Ansprechpartners als Teil der - Kommandozeile verwendet wird. Für ein fiktives Kommando könnte das - z.B. wie folgt aussehen:
send_fax --number <%if cp_phone2%><%cp_phone2%><%else%><%cp_phone1%><%end%>
Der Standardstil für Tags sieht vor, dass ein Tag mit dem
- Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
- Prozentzeichen und dem GröÃerzeichen endet, beispielsweise
- <%customer%>
. Da diese Form aber z.B. in
- LaTeX zu Problemen führen kann, weil das Prozentzeichen dort
- Kommentare einleitet, kann pro HTML- oder LaTeX-Dokumentenvorlage der
- Stil umgestellt werden.
Dazu werden in die Datei Zeilen geschrieben, die mit dem für das
- Format gültigen Kommentarzeichen anfangen, dann
- config:
enthalten, die entsprechende Option
- setzen und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
- enden. Beispiel für LaTeX:
% config: tag-style=($ $)
Dies würde kivitendo dazu veranlassen, Variablen zu ersetzen,
- wenn sie wie folgt aussehen: ($customer$)
. Das
- äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so aus:
<!-- config: tag-style=($ $) -->
Diese folgende kurze Auflistung zeigt, welche Vorlage bei
- welcher Funktion ausgelesen wird. Dabei ist die Dateiendung
- ".ext
" geeignet zu ersetzen:
- ".tex
" für LaTeX-Vorlagen und
- ".odt
" für OpenDocument-Vorlagen.
bin_list.ext
- Lagerliste
check.ext
- ?
invoice.ext
- Rechnung
packing_list.ext
- Packliste
pick_list.ext
- Sammelliste
purchase_delivery_order.ext
- Lieferschein (Einkauf)
purcharse_order.ext
- Bestellung an Lieferanten
request_quotation.ext
- Anfrage an Lieferanten
sales_delivery_order.ext
- Lieferschein (Verkauf)
sales_order.ext
- Bestellung
sales_quotation.ext
- Angebot an Kunden
zahlungserinnerung.ext
- Mahnung (Dateiname im Programm konfigurierbar)
zahlungserinnerung_invoice.ext
- Rechnung über Mahngebühren (Dateiname im Programm - konfigurierbar)
Angeforderte Sprache und Druckerkürzel in den Dateinamen mit
- eingearbeitet. So wird aus der Vorlage
- sales_order.ext
bei Sprache
- de
und Druckerkürzel lpr2
- der Vorlagenname sales_order_de_lpr2.ext
.
- Zusätzlich können für E-Mails andere Vorlagen erstellt werden, diese
- bekommen dann noch das Kürzel _email
, der
- vollständige Vorlagenname wäre dann
- sales_order_email_de_lpr2.ext
. In allen Fällen
- kann eine Standarddatei default.ext
hinterlegt
- werden. Diese wird verwendet, wenn keine der anderen Varianten
- gefunden wird.
Die vollständige Suchreihenfolge für einen Verkaufsauftrag mit - der Sprache "de" und dem Drucker "lpr2", der per E-Mail im Format PDF - verschickt wird, ist:
- sales_order_email_de_lpr2.tex
-
- sales_order_de_lpr2.tex
-
- sales_order.tex
-
- default.tex
-
Die kurzen Varianten dieser Vorlagentitel müssen dann entweder - Standardwerte anzeigen, oder die angeforderten Werte selbst auswerten, - siehe dazu Metainformationen zur angeforderten Vorlage.
Diese Variablen liefern Informationen darüber welche Variante - einer Vorlage der Benutzer angefragt hat. Sie sind nützlich für - Vorlagenautoren, die aus einer zentralen Layoutvorlage die einzelnen - Formulare einbinden möchten.
template_meta.formname
- Basisname der Vorlage. Identisch mit der Zurordnung
- zu den Dateinamen ohne die Erweiterung. Ein
- Verkaufsauftrag enthält hier
- sales_order
.
template_meta.language.description
- Beschreibung der verwendeten Sprache
template_meta.language.template_code
- Vorlagenürzel der verwendeten Sprache, identisch mit dem - Kürzel das im Dateinamen verwendetet wird.
template_meta.language.output_numberformat
- Zahlenformat der verwendeten Sprache in der Form
- "1.000,00
". Experimentell! Nur
- interessant für Vorlagen die mit unformatierten Werten
- arbeiten.
template_meta.language.output_dateformat
- Datumsformat der verwendeten Sprache in der Form
- "dd.mm.yyyy
". Experimentell! Nur
- interessant für Vorlagen die mit unformatierten Werten
- arbeiten.
template_meta.format
- Das angeforderte Format. Kann im Moment die Werte
- pdf
, postscript
,
- html
, opendocument
,
- opendocument_pdf
und
- excel
enthalten.
template_meta.extension
- Dateierweiterung, wie im Dateinamen. Wird aus
- format
entschieden.
template_meta.media
- Ausgabemedium. Kann zur Zeit die Werte
- screen
für Bildschirm,
- email
für E-Mmail (triggert das
- _email
Kürzel im Dateinamen),
- printer
für Drucker, und
- queue
für Warteschlange enthalten.
template_meta.printer.description
- Beschreibung des ausgewählten Druckers
template_meta.printer.template_code
- Vorlagenürzel des ausgewählten Druckers, identisch mit - dem Kürzel das im Dateinamen verwendetet wird.
template_meta.tmpfile
- Datei-Prefix für temporäre Dateien.
account_number
- Kontonummer
bank
- Name der Bank
bank_code
- Bankleitzahl
bic
- Bank-Identifikations-Code (Bank Identifier Code, - BIC)
business
- Kunden-/Lieferantentyp
city
- Stadt
contact
- Kontakt
country
- Land
cp_email
- Email des Ansprechpartners
cp_givenname
- Vorname des Ansprechpartners
cp_greeting
- Anrede des Ansprechpartners
cp_name
- Name des Ansprechpartners
cp_phone1
- Telefonnummer 1 des Ansprechpartners
cp_phone2
- Telefonnummer 2 des Ansprechpartners
cp_title
- Titel des Ansprechpartners
creditlimit
- Kreditlimit
customeremail
- Email des Kunden; nur für Kunden
customerfax
- Faxnummer des Kunden; nur für Kunden
customernotes
- Bemerkungen beim Kunden; nur für Kunden
customernumber
- Kundennummer; nur für Kunden
customerphone
- Telefonnummer des Kunden; nur für Kunden
discount
- Rabatt
email
- Emailadresse
fax
- Faxnummer
homepage
- Homepage
iban
- Internationale Kontonummer (International Bank Account - Number, IBAN)
language
- Sprache
name
- Firmenname
payment_description
- Name der Zahlart
payment_terms
- Zahlungskonditionen
phone
- Telefonnummer
shiptocity
- Stadt (Lieferadresse) * -
shiptocontact
- Kontakt (Lieferadresse) * -
shiptocountry
- Land (Lieferadresse) * -
shiptodepartment1
- Abteilung 1 (Lieferadresse) * -
shiptodepartment2
- Abteilung 2 (Lieferadresse) * -
shiptoemail
- Email (Lieferadresse) * -
shiptofax
- Fax (Lieferadresse) * -
shiptoname
- Firmenname (Lieferadresse) * -
shiptophone
- Telefonnummer (Lieferadresse) * -
shiptostreet
- StraÃe und Hausnummer (Lieferadresse) * -
shiptozipcode
- Postleitzahl (Lieferadresse) * -
street
- StraÃe und Hausnummer
taxnumber
- Steuernummer
ustid
- Umsatzsteuer-Identifikationsnummer
vendoremail
- Email des Lieferanten; nur für Lieferanten
vendorfax
- Faxnummer des Lieferanten; nur für Lieferanten
vendornotes
- Bemerkungen beim Lieferanten; nur für Lieferanten
vendornumber
- Lieferantennummer; nur für Lieferanten
vendorphone
- Telefonnummer des Lieferanten; nur für - Lieferanten
zipcode
- Postleitzahl
employee_address
- Adressfeld
employee_businessnumber
- Firmennummer
employee_company
- Firmenname
employee_co_ustid
- Usatzsteuer-Identifikationsnummer
employee_duns
- DUNS-Nummer
employee_email
- employee_fax
- Fax
employee_name
- voller Name
employee_signature
- Signatur
employee_taxnumber
- Steuernummer
employee_tel
- Telefonnummer
salesman_address
- Adressfeld
salesman_businessnumber
- Firmennummer
salesman_company
- Firmenname
salesman_co_ustid
- Usatzsteuer-Identifikationsnummer
salesman_duns
- DUNS-Nummer
salesman_email
- salesman_fax
- Fax
salesman_name
- voller Name
salesman_signature
- Signatur
salesman_taxnumber
- Steuernummer
salesman_tel
- Telefonnummer
creditremaining
- Verbleibender Kredit
currency
- Währung
cusordnumber
- Bestellnummer beim Kunden
deliverydate
- Lieferdatum
duedate
- Fälligkeitsdatum
globalprojectnumber
- Projektnummer des ganzen Beleges
globalprojectdescription
- Projekbeschreibung des ganzen Beleges
intnotes
- Interne Bemerkungen
invdate
- Rechnungsdatum
invnumber
- Rechnungsnummer
invtotal
- gesamter Rechnungsbetrag
notes
- Bemerkungen der Rechnung
orddate
- Auftragsdatum
ordnumber
- Auftragsnummer, wenn die Rechnung aus einem Auftrag - erstellt wurde
payment_description
- Name der Zahlart
payment_terms
- Zahlungskonditionen
quodate
- Angebotsdatum
quonumber
- Angebotsnummer
shippingpoint
- Versandort
shipvia
- Transportmittel
subtotal
- Zwischensumme aller Posten ohne Steuern
total
- Restsumme der Rechnung (Summe abzüglich bereits - bezahlter Posten)
transaction_description
- Vorgangsbezeichnung
transdate
- Auftragsdatum wenn die Rechnung aus einem Auftrag - erstellt wurde
bin
- Stellage
description
- Artikelbeschreibung
discount
- Rabatt als Betrag
discount_sub
- Zwischensumme mit Rabatt
drawing
- Zeichnung
ean
- EAN-Code
image
- Grafik
linetotal
- Zeilensumme (Anzahl * Einzelpreis)
longdescription
- Langtext
microfiche
- Mikrofilm
netprice
- Nettopreis
nodiscount_linetotal
- Zeilensumme ohne Rabatt
nodiscount_sub
- Zwischensumme ohne Rabatt
number
- Artikelnummer
ordnumber_oe
- Auftragsnummer des Originalauftrags, wenn die Rechnung - aus einem Sammelauftrag erstellt wurde
p_discount
- Rabatt in Prozent
partnotes
- Die beim Artikel gespeicherten Bemerkungen
partsgroup
- Warengruppe
price_factor
- Der Preisfaktor als Zahl, sofern einer eingestellt - ist
price_factor_name
- Der Name des Preisfaktors, sofern einer eingestellt - ist
projectnumber
- Projektnummer
projectdescription
- Projektbeschreibung
qty
- Anzahl
reqdate
- Lieferdatum
runningnumber
- Position auf der Rechnung (1, 2, 3...)
sellprice
- Verkaufspreis
serialnumber
- Seriennummer
tax_rate
- Steuersatz
transdate_oe
- Auftragsdatum des Originalauftrags, wenn die Rechnung - aus einem Sammelauftrag erstellt wurde
unit
- Einheit
weight
- Gewicht
Für jeden Posten gibt es ein Unterarray mit den Informationen
- über Lieferanten und Lieferantenartikelnummer. Diese müssen mit
- einer foreach
-Schleife ausgegeben werden, da
- für jeden Artikel mehrere Lieferanteninformationen hinterlegt sein
- können. Die Variablen dafür lauten:
make
- Lieferant
model
- Lieferantenartikelnummer
payment
- Betrag
paymentaccount
- Konto
paymentdate
- Datum
paymentmemo
- Memo
paymentsource
- Beleg
Die vom Benutzer definierten Variablen für Kunden und
- Lieferanten stehen beim Ausdruck von Einkaufs- und Verkaufsbelegen
- ebenfalls zur Verfügung. Ihre Namen setzen sich aus dem Präfix
- vc_cvar_
und dem vom Benutzer festgelegten
- Variablennamen zusammen.
Beispiel: Der Benutzer hat eine Variable namens
- number_of_employees
definiert, die die Anzahl der
- Mitarbeiter des Unternehmens enthält. Diese Variable steht dann
- unter dem Namen vc_cvar_number_of_employees
zur
- Verfügung.
Die Namen der Vorlagen werden im System-Menü vom Benutzer
- eingegeben. Wird für ein Mahnlevel die Option zur automatischen
- Erstellung einer Rechnung über die Mahngebühren und Zinsen
- aktiviert, so wird der Name der Vorlage für diese Rechnung aus dem
- Vorlagenname für diese Mahnstufe mit dem Zusatz
- _invoice
gebildet. Weiterhin werden die Kürzel
- für die ausgewählte Sprache und den ausgewählten Drucker
- angehängt.
Die Variablen des Verkäufers stehen wie gewohnt als
- employee_...
zur Verfügung. Die Adressdaten des
- Kunden stehen als Variablen name
,
- street
, zipcode
,
- city
, country
,
- department_1
, department_2
,
- und email
zur Verfügung.
Weitere Variablen beinhalten:
dunning_date
- Datum der Mahnung
dunning_duedate
- Fälligkeitsdatum für diese Mahhnung
dunning_id
- Mahnungsnummer
fee
- Kummulative Mahngebühren
interest_rate
- Zinssatz per anno in Prozent
total_amount
- Gesamter noch zu zahlender Betrag als
- fee
+ total_interest
- + total_open_amount
-
total_interest
- Zinsen per anno über alle Rechnungen
total_open_amount
- Summe über alle offene Beträge der Rechnungen
dn_amount
- Rechnungssumme (brutto)
dn_duedate
- Originales Fälligkeitsdatum der Rechnung
dn_dunning_date
- Datum der Mahnung
dn_dunning_duedate
- Fälligkeitsdatum der Mahnung
dn_fee
- Kummulative Mahngebühr
dn_interest
- Zinsen per anno für diese Rechnung
dn_invnumber
- Rechnungsnummer
dn_linetotal
- Noch zu zahlender Betrag (ergibt sich aus
- dn_open_amount
+ dn_fee
- + dn_interest
)
dn_netamount
- Rechnungssumme (netto)
dn_open_amount
- Offener Rechnungsbetrag
dn_ordnumber
- Bestellnummer
dn_transdate
- Rechnungsdatum
dn_curr
- Währung, in der die Rechnung erstellt wurde. (Die - Rechnungsbeträge sind aber immer in der Hauptwährung)
Die Variablen des Verkäufers stehen wie gewohnt als
- employee_...
zur Verfügung. Die Adressdaten des
- Kunden stehen als Variablen name
,
- street
, zipcode
,
- city
, country
,
- department_1
, department_2
,
- und email
zur Verfügung.
Weitere Variablen beinhalten:
duedate
- Fälligkeitsdatum der Rechnung
dunning_id
- Mahnungsnummer
fee
- Mahngebühren
interest
- Zinsen
invamount
- Rechnungssumme (ergibt sich aus fee
+
- interest
)
invdate
- Rechnungsdatum
invnumber
- Rechnungsnummer
Die Variablen in anderen Vorlagen sind ähnlich wie in der
- Rechnung. Allerdings heiÃen die Variablen, die mit
- inv
beginnen, jetzt anders. Bei den Angeboten
- fangen sie mit quo
für "quotation" an:
- quodate
für Angebotsdatum etc. Bei Bestellungen
- wiederum fangen sie mit ord
für "order" an:
- ordnumber
für Bestellnummer etc.
Manche Variablen sind in anderen Vorlagen hingegen gar nicht - vorhanden wie z.B. die für bereits verbuchte Zahlungseingänge. Dies - sind Variablen, die vom Geschäftsablauf her in der entsprechenden - Vorlage keine Bedeutung haben oder noch nicht belegt sein - können.
Im Folgenden werden nur wichtige Unterschiede zu den Variablen - in Rechnungen aufgeführt.
quonumber
- Angebots- bzw. Anfragenummer
reqdate
- Gültigkeitsdatum (bei Angeboten) bzw. Lieferdatum (bei - Preisanfragen)
transdate
- Angebots- bzw. Anfragedatum
ordnumber
- Auftragsnummer
reqdate
- Lieferdatum
transdate
- Auftragsdatum
cusordnumber
- Bestellnummer des Kunden (im Verkauf) bzw. Bestellnummer - des Lieferanten (im Einkauf)
donumber
- Lieferscheinnummer
transdate
- Lieferscheindatum
Für jede Position eines Lieferscheines gibt es ein Unterarray
- mit den Informationen darüber, von welchem Lager und Lagerplatz aus
- die Waren verschickt wurden (Verkaufslieferscheine) bzw. auf welchen
- Lagerplatz sie eingelagert wurden. Diese müssen mittels einer
- foreach
-Schleife ausgegeben werden. Diese
- Variablen sind:
si_bin
- Lagerplatz
si_chargenumber
- Chargennummer
si_bestbefore
- Mindesthaltbarkeit
si_number
- Artikelnummer
si_qty
- Anzahl bzw. Menge
si_runningnumber
- Positionsnummer (1, 2, 3 etc)
si_unit
- Einheit
si_warehouse
- Lager
c0total
- Gesamtbetrag aller Rechnungen mit Fälligkeit < 30 - Tage
c30total
- Gesamtbetrag aller Rechnungen mit Fälligkeit >= 30 - und < 60 Tage
c60total
- Gesamtbetrag aller Rechnungen mit Fälligkeit >= 60 - und < 90 Tage
c90total
- Gesamtbetrag aller Rechnungen mit Fälligkeit >= 90 - Tage
total
- Gesamtbetrag aller Rechnungen
Variablen für jede Rechnungsposition in Sammelrechnung:
invnumber
- Rechnungsnummer
invdate
- Rechnungsdatum
duedate
- Fälligkeitsdatum
amount
- Summe der Rechnung
open
- Noch offener Betrag der Rechnung
c0
- Noch offener Rechnungsbetrag mit Fälligkeit < 30 - Tage
c30
- Noch offener Rechnungsbetrag mit Fälligkeit >= 30 und - < 60 Tage
c60
- Noch offener Rechnungsbetrag mit Fälligkeit >= 60 und - < 90 Tage
c90
- Noch offener Rechnungsbetrag mit Fälligkeit >= 90 - Tage
Der Parser kennt neben den Variablen einige weitere - Konstrukte, die gesondert behandelt werden. Diese sind wie - Variablennamen in spezieller Weise markiert: - <%anweisung%> ... <%end%> -
Anmerkung zum <%end%>: Der besseren - Verständlichkeit halber kann man nach dem end - noch beliebig weitere Wörter schreiben, um so zu markieren, welche - Anweisung (z.B. if oder - foreach) damit abgeschlossen wird.
Beispiel: Lautet der Beginn eines Blockes z.B. - <%if type == "sales_quotation"%>, so könnte - er mit <%end%> genauso abgeschlossen werden - wie mit <%end if%> oder auch - <%end type == "sales_quotation"%>.
<%if variablenname%> -... -<%end%>
Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if"
- und dem "end" werden nur ausgegeben, wenn die Variable
- variablenname
gesetzt und ungleich 0 ist.
Handelt es sich bei der benannten Variable um ein Array, also um einen Variablennamen, über den man mit - <%foreach variablenname%> iteriert, so wird mit diesem Konstrukt darauf getestet, ob das Array Elemente - enthält. Somit würde im folgenden Beispiel nur dann eine Liste von Zahlungseingängen samt ihrer Ãberschrift "Zahlungseingänge" - ausgegeben, wenn tatsächlich welche getätigt wurden:
<%if payment%> -Zahlungseingänge: - <%foreach payment%> - Am <%paymentdate%>: <%payment%> ⬠- <%end foreach%> -<%end if%>
Die Bedingung kann auch negiert werden, indem das Wort
- not
nach dem if
verwendet
- wird. Beispiel:
<%if not cp_greeting%> -... -<%end%>
Zusätzlich zu dem einfachen Test, ob eine Variable gesetzt ist - oder nicht, bietet dieser Block auch die Möglichkeit, den Inhalt - einer Variablen mit einer festen Zeichenkette oder einer anderen - Variablen zu vergleichen. Ob der Vergleich mit einer Zeichenkette - oder einer anderen Variablen vorgenommen wird, hängt davon ab, ob - die rechte Seite des Vergleichsoperators in Anführungszeichen - gesetzt wird (Vergleich mit Zeichenkette) oder nicht (Vergleich mit - anderer Variablen). Zwei Beispiele, die beide Vergleiche - zeigen:
<%if var1 == "Wert"%>
Testet die Variable var1
auf
- übereinstimmung mit der Zeichenkette Wert
.
- Mittels !=
anstelle von ==
- würde auf Ungleichheit getestet.
<%if var1 == var2%>
Testet die Variable var1
auf
- übereinstimmung mit der Variablen var2
. Mittel
- !=
anstelle von ==
würde
- auf Ungleichheit getestet.
Erfahrere Benutzer können neben der Tests auf (Un-)Gleichheit
- auch Tests auf übereinstimmung mit regulären Ausdrücken ohne
- Berücksichtung der GroÃ- und Kleinschreibung durchführen. Dazu dient
- dieselbe Syntax wie oben nur mit =~
und
- !~
als Vergleichsoperatoren.
Beispiel für einen Test, ob die Variable
- intnotes
(interne Bemerkungen) das Wort
- schwierig
enthält:
<%if intnotes =~ "schwierig"%>
<%foreach variablenname%> -... -<%end%>
Fügt die Zeilen zwischen den beiden Anweisungen so oft ein,
- wie das Perl-Array der Variablen variablenname
- Elemente enthät. Dieses Konstrukt wird zur Ausgabe der einzelnen
- Posten einer Rechnung / eines Angebots sowie zur Ausgabe der Steuern
- benutzt. In jedem Durchlauf werden die zeilenbezogenen
- Variablen jeweils auf den Wert für die aktuelle Position
- gesetzt.
Die Syntax sieht normalerweise wie folgt aus:
<%foreach number%> -Position: <%runningnumber%> -Anzahl: <%qty%> -Artikelnummer: <%number%> -Beschreibung: <%description%> -... -<%end%>
Besonderheit in OpenDocument-Vorlagen: Tritt ein
- <%foreach%>
-Block innerhalb einer
- Tabellenzelle auf, so wird die komplette Tabellenzeile so oft
- wiederholt wie notwendig. Tritt er auÃerhalb auf, so wird nur der
- Inhalt zwischen <%foreach%>
und
- <%end%>
wiederholt, nicht aber die
- komplette Zeile, in der er steht.
Wenn der Benutzer innhalb von Formularen in kivitendo Text - anders formatiert haben möchte, so ist dies begrenzt möglich. - kivitendo unterstützt die Textformatierung mit HTML-ähnlichen Tags. - Der Benutzer kann z.B. bei der Artikelbeschreibung auf einer Rechnung - Teile des Texts zwischen Start- und Endtags setzen. Dieser Teil wird - dann automatisch in Anweisungen für das ausgewählte Vorlagenformat - (HTML oder PDF über LaTeX) umgesetzt.
Die unterstützen Formatierungen sind:
Text wird in Fettdruck gesetzt.
Text wird kursiv gesetzt.
Text wird unterstrichen.
Text wird durchgestrichen. Diese Formatierung ist nicht - bei der Ausgabe als PDF über LaTeX verfügbar.
Erzeugt einen ausgefüllten Kreis für Aufzählungen (siehe - unten).
Der Befehl <bullet> funktioniert - momentan auch nur in Latex-Vorlagen.
Die Beschreibung der Bankerweiterung befindet sich derzeit noch + im Wiki und soll von dort später hierhin übernommen werden:
+ http://redmine.kivitendo-premium.de/projects/forum/wiki/Bankerweiterung +