@barcode(FORMAT,BREITE,HÖHE,INHALT)@
Unterstützte FORMATE:
* CODEBAR
* CODE_39 / CODE_93 / CODE_128
* DATA_MATRIX
* EAN_8 / EAN_13
* QR_CODE
* UPC_A / UPC_E
Beispiel:
@barcode(EAN_13,100,50,@itemBarcodeGTIN13@)@
=== GS1-Unterstützung ===
GS1-Barcodes erfordern als ersten Charakter:
**''|''**
Beispiel:
@barcode(CODE_128,100,75,|01@itemBarcodeGTIN14@10@batchNumber@|)@
==== Präzisere HTML-Kontrolle ====
Alternativ:
* ''@barcodeSrc(...)@'' → nur ''src''-Attribut
* ''@barcodeBase64(...)@'' → nur Base64-Daten
==== Benutzer-Eingaben ====
Eingabeplatzhalter:
@input(NAME)@
Mit Anzeigename:
@input(quantity[Anzahl Kisten])@
Mit Auswahlwerten:
@input(Currency;EUR,USD,GBP)@
==== Datums-Platzhalter ====
@date(FORMAT)@
Beispiele:
| ''@date(yyyy-MM-dd)@'' → ''2025-10-24'' |
| ''@date(dd.MM.yyyy)@'' → ''24.10.2025'' |
==== Datums-Umformatierung ====
Der spezielle Platzhalter zur Datumsumformatierung kann verwendet werden, um ein Datum in einem bestimmten Format einzulesen und anschließend in einem anderen Format auszugeben. Die Verwendung sieht wie folgt aus:
@dateReformat(DATUM|VON_FORMAT|ZU_FORMAT)@
**HINWEIS:** Keine Leerzeichen vor oder nach den Klammern oder den trennenden senkrechten Strichen setzen! (Leerzeichen würden als Teil des jeweiligen Parameters interpretiert.)
Dieser Platzhalter verwendet das senkrechte Strichsymbol ''|'' anstelle von Kommata zur Trennung der Parameter, da die Parameter selbst Kommata enthalten können.
Die Funktionsweise ist wie folgt:
Der Text, der im Parameter ''DATE'' gefunden wird, wird entsprechend dem Format ''FROM_FORMAT'' interpretiert, sodass die Software weiß, welches Datum bzw. welche Uhrzeit gemeint ist, und anschließend im Format ''TO_FORMAT'' ausgegeben.
Die Parameter ''FROM_FORMAT'' und ''TO_FORMAT'' entsprechen dem ''FORMAT''-Parameter des regulären ''date()''-Platzhalters, wie im vorherigen Abschnitt beschrieben.
Im folgenden Beispiel wird das Ablaufdatum einer Charge in einem benutzerdefinierten Format ausgegeben — unter Ausnutzung der Tatsache, dass der Platzhalter ''@batchExpiryGS1@'' immer ein Datum im Format ''yyMMdd'' liefert.
Beispiel:
@dateReformat(@batchExpiryGS1@|yyMMdd|dd.MM.yyyy)@
===== JavaScript-Integration =====
Das HTML-Dokument, das nach der Verarbeitung einer COBI.wms-Etikettenvorlage entsteht, wird durch eine vollwertige Browser-Engine dargestellt. Das bedeutet, dass in der Vorlage nicht nur CSS, sondern auch JavaScript verwendet werden kann. Dies muss jedoch explizit aktiviert werden, indem der folgende Pseudo-Platzhalter irgendwo innerhalb der Datei eingefügt wird, z. B. innerhalb eines HTML-Kommentars am Anfang der Datei:
@useJavaScript@
**HINWEIS:** Wenn JavaScript aktiviert ist, wird der Druck des gerenderten HTML-Dokuments nicht mehr automatisch ausgelöst. Stattdessen muss der Druck manuell aus dem JavaScript-Code gestartet werden, indem an geeigneter Stelle ''cobiwms.print()'' aufgerufen wird.
Während der Ausführung des JavaScript-Codes steht das spezielle Objekt ''cobiwms'' zur Verfügung, das eine Reihe von Funktionen bereitstellt. Diese werden im Folgenden erläutert.
cobiwms.get(name)
Der Parameter ''name'' muss ein String sein. Er wird als Platzhalter interpretiert und sein Wert wird als String zurückgegeben.
Beispiel: Ein Aufruf von ''cobiwms.get("itemName")'' liefert den Artikelnamen als Text zurück.
(Man könnte zwar auch Platzhalter wie ''@itemName@'' direkt im Code verwenden, aber dann würde der Wert unverarbeitet in den Code eingefügt werden. Das heißt: Man müsste ihn in Anführungszeichen setzen wie ''"@itemName@"'', und sobald im tatsächlichen Wert selbst Anführungszeichen vorkommen, würde der Code fehlschlagen. Deshalb ist die Verwendung von ''cobiwms.get()'' in JavaScript deutlich sicherer.)
cobiwms.prompt(title, callback)
Durch den Aufruf dieser Funktion zeigt die App ein Popup mit einem Eingabefeld für den Benutzer an.
Der Parameter ''title'' muss ein String sein und bestimmt die Überschrift des Popups.
Der Parameter ''callback'' muss ebenfalls ein String sein und eine Funktion repräsentieren.
Diese Funktion wird nach Bestätigung der Eingabe aufgerufen und erhält dabei einen Parameter,
der den vom Benutzer eingegebenen Wert als String enthält.
Zugriff auf Platzhalterwerte:
window.handleCurrency = function (currency) {
...
}
cobiwms.prompt("Enter currency", "window.handleCurrency")
===== Beispielvorlagen =====
Zwei vollständige Beispiel-HTML-Dateien:
==== Datei 1 ====
Einfaches Etikett mit Barcode, Preis & Zeitstempel.
Code: @itemCode@
Price: @itemPriceCurrencySymbol(1)@ @itemPriceFormattedValue(1)@
@itemName@
@barcode(CODE_128,150,75,|90@itemCode@|10@batchNumber@)@
(90)@itemCode@(10)@batchNumber@
@date(yyyy-MM-dd HH:mm)@
COBI.wms Sample Label
==== Datei 2 ====
Beispiel mit Benutzereingaben & JavaScript.
JS-Insert:
Selection: @input(selection)@
@itemName@
@barcode(@input(codeFormat)@,150,75,|90@itemCode@|10@batchNumber@)@
(90)@itemCode@(10)@batchNumber@
Input: @input(text)@
COBI.wms Sample Label