Formeln und Ausdrücke
Einen Wert berechnen, eine Bedingung stellen, ein Datum oder eine Zahl formatieren, in einem Formelfeld oder in einer Vorlage.
In einem Vorlagentext oder in einem Formel-Feld wird alles zwischen geschweiften Klammern berechnet; der Rest wird unverändert gedruckt.
Lot {reference}-{serial} → Lot AX-100-000042
Die Namen werden in jeder Sprache englisch geschrieben; Meldungen und Hilfe folgen der Sprache der Oberfläche.
Das Wichtigste
- Ein Name allein druckt einen Wert: ein Feld (
{reference}) oder ein Element von ceelab ({date},{copy},{language}…). - Eine Funktion wird mit ihren Klammern geschrieben:
{upper(reference)}. - Eine Bedingung wird
if … then … else …geschrieben, immer mit ihremelse:{if quantity > 100 then "Pallet" else "Box"}. - Ein Text steht zwischen geraden Anführungszeichen:
"Box". Eine Zahl wird mit Punkt geschrieben:1.2. - Um eine geschweifte Klammer zu drucken, verdoppeln Sie sie:
{{und}}.
Das Formelfeld


Ein Formel-Feld berechnet seinen Wert aus den anderen Feldern des Typs, auch aus weiter unten stehenden. Der Editor zeigt das Ergebnis mit den Beispielwerten, was die Formel verwendet und wovon sie verwendet wird, sowie die Liste der Felder und Elemente von ceelab zum Einfügen.
Beim Speichern prüft ceelab alles: Schreibfehler, unbekannte Namen, unmögliche Berechnungen oder solche, die sich im Kreis drehen. Die betroffene Stelle wird unterstrichen, und Korrigieren wird angeboten, wenn die Korrektur eindeutig ist.
Beim Drucken hält eine fehlschlagende Formel alles an, ohne eine Nummer zu verbrauchen. Die Ergebnisse werden im Verlauf aufbewahrt: Ein Nachdruck liefert exakt dasselbe Dokument.
Der Ausdruckseditor
Im Formelfeld wie im Labor:
- Der Text wird eingefärbt: Felder, Funktionen, Texte, Zahlen, und unbekannte Namen werden hervorgehoben;
- Strg+Leertaste oder das Tippen eines Namens schlägt die Felder des Typs mit ihrer Bezeichnung und ihrem Beispielwert vor, außerdem die Elemente von ceelab, die Funktionen und die an dieser Stelle erwarteten Wörter; „gew“ zu tippen schlägt
weightvor, wenn seine Bezeichnung „Gewicht“ lautet; - ↑ ↓ zum Auswählen, Eingabe oder Tab zum Einfügen, Esc zum Schließen;
- in einer Funktion zeigt die Hilfe, was an dieser Stelle zu schreiben ist, zum Beispiel die Datumsformate;
- beim Darüberfahren über einen Namen erscheinen seine Bezeichnung, seine Art und sein Beispielwert; Funktionen und Elemente öffnet die Hilfe zur gesamten Sprache.
Beispiele
Beispieltyp „Produktetikett“, Dokument auf Französisch vom 7. Oktober 2026: Produkt „Vis inox M4“, Referenz „AX-100“, Menge 150, Verpackung „Carton“, Seriennummer 42 (sechsstelliger Zähler), am selben Tag hergestellt.
| Ziel | Schreibweise | Ergebnis |
|---|---|---|
| Verpackung je nach Menge | {if quantity > 100 then "Pallet" else "Box"} |
Pallet |
| Menge und Verpackung | {quantity} · {packaging} |
150 · Carton |
| Seriennummer mit 8 Stellen | N° {pad(serial, 8)} |
N° 00000042 |
| Paket n von N, nur wenn es mehrere gibt | {if copies > 1 then "Colis " + text(copy) + "/" + text(copies) else ""} |
3. Exemplar von 12: Colis 3/12 |
| Datum im Format jeder Sprache | {format_date(manufacturing_date, "short")} |
07/10/2026 (en Oct 7, 2026, de 07.10.2026) |
| Hinweis je nach Sprache | {if language == "de" then "Mindestens haltbar bis" else if language == "en" then "Best before" else "À consommer de préférence avant"} |
À consommer de préférence avant |
| Mindesthaltbarkeit, Monat und Jahr | {format_date(add_days(manufacturing_date, 365), "mm/yyyy")} |
10/2027 |
| Ausgeschriebener Monat | {format_date(manufacturing_date, "mmmm yyyy")} |
octobre 2026 (de Oktober 2026) |
| Datierter Chargencode | L{format_date(date, "yymmdd")}-{pad(serial, 4)} |
L261007-0042 |
| Präfix der Referenz | {upper(left(reference, 3))} |
AX- |
Mit zusätzlichen Feldern: weight (Zahl, eingegeben „12,50“), price (Zahl, „0.1“), fragile (Ja/Nein, nicht angekreuzt), lot (optionaler Text, leer), expiry (optionales Datum, leer).
| Ziel | Schreibweise | Ergebnis |
|---|---|---|
| Gewicht wie eingegeben | Net {weight} kg |
Net 12,50 kg |
| Gewichtsklasse | {if weight > 30 then "Heavy" else if weight > 10 then "Medium" else "Light"} |
Medium |
| Erhöhtes Gewicht, höchstens 2 Nachkommastellen | {round(weight * 1.2, 2)} |
15 |
| Immer 2 Nachkommastellen | {decimals(weight * 1.2, 2)} |
15,00 |
| Summe | {decimals(price * quantity, 2)} € |
15,00 € |
| Stückgewicht (eine Division wird immer gerundet) | {decimals(weight / quantity, 3)} kg |
0,083 kg |
| Hinweis aus einem Ja/Nein-Feld | {if fragile then "FRAGILE" else ""} |
(nichts) |
| Optionale Zeile | {if lot == "" then "" else "Lot " + lot} |
(nichts) |
| Optionales Datum | {if expiry == empty then "" else "À utiliser avant le " + format_date(expiry, "dd/mm/yyyy")} |
(nichts) |
Die Berechnungen sind exakt, und das Dezimaltrennzeichen folgt der Sprache des Dokuments: decimals(total, 2) schreibt auf Französisch 37,50.
Daten von ceelab lesen
lookup liest eine Angabe, die ceelab bekannt ist. Zum Beispiel den Namen eines Dokumenttyps anhand seines Schlüssels:
{lookup("document_types", "key", "shipping-label", "name")}
Gibt es die Angabe nicht, wird nichts gedruckt, und ceelab weist Sie darauf hin.
Häufige Fehler
| Geschrieben | Richtig |
|---|---|
{if quantity = 100 then …} |
== zum Vergleichen |
{reference | upper} oder {reference.upper()} |
upper(reference) |
{"Lot " + quantity} |
"Lot " + text(quantity) |
{"Lot " & lot} |
+ zum Aneinanderhängen |
{if weight > 30 then "Heavy"} |
else … ergänzen: Ein Ausdruck hat immer einen Wert |
{if weight > 30 dann "a" sonst "b"} |
then und else, auf Englisch |
{quantity > 100} |
Eine Bedingung wird nicht gedruckt: if quantity > 100 then "Ja" else "Nein" |
{total / 3} |
runden: round(total / 3, 2) |
{round(12,5)} |
12.5 |
{0 < weight < 10} |
0 < weight and weight < 10 |
{format_date(date, "tt/mm/jjjj")} |
dd/mm/yyyy |
{“Box”} |
gerade Anführungszeichen: "Box" |
in sucht ein Textstück: "E" ist „in“ "FR BE CH". Für eine Liste von Werten schreiben Sie country == "FR" or country == "BE" or country == "CH".
Kurzübersicht
- Wörter:
if then else and or not in true false empty. - Operatoren:
+ - * /(+hängt auch zwei Texte aneinander);== != < <= > >=;in(enthaltener Text);and,or,not. - Funktionen:
upper,lower,left,right,replace,number,text,round,decimals,pad,format_date,add_days,lookup. - Elemente:
date,date_long,date_iso,time,year,month,day,copy,copies,document_type,location, und nur in Ausdrückenlanguage(Sprache des Dokuments),app_language(Sprache der Oberfläche des Arbeitsplatzes),label_printerunddocument_printer(eingestellte Drucker). - Datumsmuster:
yyyy,yy,mmmm,mm,dd; Formateshort,long,iso. - Leer:
x == empty; mit einem leeren Wert wird nicht gerechnet.
Datumsangaben: was sich noch nicht schreiben lässt
- Tag ohne führende Null („7 octobre 2026“):
format_date(date, "long")schreibt ihn in jeder Sprache. - Text in einem Muster:
"dd de mmmm"wird abgelehnt; setzen Sieformat_date(date, "dd") + " de " + format_date(date, "mmmm")zusammen. - Monat in einer anderen Sprache als der des Dokuments: noch nicht möglich; verwenden Sie eine Bedingung auf
monthoder einen zweiten Dokumenttyp in der anderen Sprache.