====== GS1-Barcodes ======
Ein **GS1-Barcode** ist ein standardisierter Barcode bzw. 2D-Code, der mehrere Datenfelder enthalten kann und gleichzeitig definiert, welche Bedeutung diese Daten haben.
Beispielsweise kann er Artikelnummer, Chargennummer und Ablaufdatum gleichzeitig enthalten – in nur einem Code.
COBI.wms unterstützt diese Arten von Codes und verwendet die jeweils enthaltenen Daten, um die entsprechenden Felder in der App automatisch auszufüllen.
===== Mögliche physische Formate =====
GS1-Barcodes können in den Formaten **Code 128**, **DataMatrix** oder **QR Code** codiert werden.
Diese werden dann bezeichnet als **GS1-128**, **GS1 DataMatrix**, **GS1 QR Code**
Alle drei Formate werden von COBI.wms unterstützt – vorausgesetzt, die Hardware kann sie scannen.
[{{:cobi.wms:gs1-128.png?600|**GS1-128**}}]
[{{:cobi.wms:gs1-datamatrix.png?150|**GS1 DataMatrix**}}]
[{{:cobi.wms:gs1-qr-code.png?150|**GS1 QR Code**}}]
Alle drei Codes oben enthalten **dieselben Daten**.
DataMatrix und QR-Codes sind zweidimensional und können daher deutlich kleiner dargestellt werden.
Der Unterschied zwischen DataMatrix und QR-Code:
* DataMatrix wurde speziell für industrielle Anwendungen entwickelt
* Hohe Robustheit bei Beschädigungen (z. B. verschmutzte oder angerissene Etiketten)
* QR-Code ist ebenfalls robust, jedoch weniger als DataMatrix
Daher ist **GS1 DataMatrix** die **optimale Wahl** für moderne Logistikumgebungen.
Falls die Scanner-Hardware jedoch **keine 2D-Codes** unterstützt, muss **GS1-128** verwendet werden.
Hinweis: Moderne Formate wie DataMatrix könnten **inkompatibel für ältere Scanner** sein.
Wenn also auch andere Systeme die Barcodes lesen sollen (z. B. Geschäftspartner), kann es sinnvoll sein, GS1-128 zu verwenden oder auf GS1 ganz zu verzichten und stattdessen mehrere einzelne Barcodes zu drucken (z. B. getrennt für Artikelnummer und Seriennummer).
===== Unterstützte Datenfelder =====
Die Datenfelder in GS1-Codes werden durch **Application Identifiers (AI)** gekennzeichnet.
COBI.wms unterstützt aktuell folgende AIs:
^ AI ^ Bedeutung ^ Verwendung in COBI.wms ^
| 00 | SSCC | Paket in Lieferscheinen erfassen |
| 01 | GTIN | Artikel identifizieren |
| 02 | Enthaltene GTIN | Artikel identifizieren |
| 10 | Chargennummer | Chargennummer automatisch eintragen |
| 11 | Produktionsdatum | Produktionsdatum automatisch eintragen |
| 15 | Mindesthaltbarkeitsdatum | MHD automatisch eintragen |
| 17 | Ablaufdatum | Ablauf-/MHD automatisch eintragen |
| 21 | Seriennummer | Seriennummer automatisch eintragen |
| 30 | Menge | Menge automatisch eintragen |
| 37 | Enthaltene Menge | Menge automatisch eintragen |
| 90 | Artikelcode | Artikel automatisch eintragen |
| 91 | Lagerplatzcode | Lagerplatz automatisch eintragen |
| 240 | Produktnummer | Artikel identifizieren |
| 310 | Nettogewicht (kg) | Menge automatisch eintragen |
| 330 | Bruttogewicht (kg) | Menge automatisch eintragen |
===== Häufige Fehler =====
Beim Erstellen neuer GS1-Barcodes treten oft typische Fehler auf.
==== Klammern im Datentext ====
Für Menschen lesbar werden AI-Codes häufig in runden Klammern dargestellt:
''(01)1234568901234(10)1234(17)221200''
Wenn dieser Text **einschließlich Klammern** als Barcode encodiert wird, kann der Code zwar lesbar sein,
aber **er ist kein gültiger GS1-Barcode** → COBI.wms interpretiert die Daten dann falsch.
Barcode-Generator muss im **GS1-Modus** arbeiten.
Im Tool **Zint Barcode Studio** z. B. müssen AIs in **eckige Klammern** gesetzt werden:
''[01]1234568901234[10]1234[17]221200'' \\
(Im tatsächlich codierten GS1-Code gibt es **keine Klammern** — stattdessen wird das Sonderzeichen **FNC1** verwendet.)
==== GS1-Modus nicht aktiviert ====
{{:cobi.wms:zint-gs1-datamatrix.png?400|}}
Damit ein Code als GS1 erkannt wird, müssen am Anfang spezielle Kennzeichnungen vorhanden sein.
Ohne diese könnte Hardware/Software den Code falsch einordnen.
Jede Barcode-Software setzt GS1-Modus anders.
In Zint: In den Format-Optionen unter der gewählten Symbology aktivieren.
**HINWEIS:**
Wenn die Software keinen GS1-Modus bietet, aber das unsichtbare Zeichen **FNC1** einfügen kann,
dann muss **ein FNC1 am Anfang** eingefügt werden — das kennzeichnet den Code als GS1.
\\\
==== Fehlendes oder falsches FNC1 ====
Einige GS1-Datenfelder sind **variabel lang**:
* GTIN (AI 01) → **immer 14 Zeichen**
* Seriennummer (AI 21) → **1–30 Zeichen**
Variable Länge → wenn **nicht letztes Feld** und Länge **< Maximum** → dann **FNC1-Abschluss erforderlich**.
Wenn Software die GS1-Logik kennt → setzt FNC1 **automatisch**.
Wenn **manuelle Eingabe** erforderlich → muss FNC1 **selbst gesetzt** werden.
Beispiel (''[FNC1]'' hier symbolisch dargestellt):
''[FNC1]011234568901234101234[FNC1]17221200''
Erläuterung:
* Start mit FNC1 → Kennzeichnung als GS1-Barcode
* AI 01 → feste Länge → kein FNC1 nötig
* AI 10 → variable Länge (hier kurz) → **FNC1 erforderlich**
* AI 17 → feste Länge & letztes Feld → **kein FNC1 nötig**