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