DataMatrix oder wie man Schuhe richtig kennzeichnet

Seit dem 1. Juli 2019 gilt in Russland eine verpflichtende Kennzeichnung für bestimmte Warengruppen. Ab dem 1. März 2020 sollte dieses Gesetz auch für Schuhe gelten. Nicht alle waren rechtzeitig vorbereitet, sodass der Start auf den 1. Juli verschoben wurde. Lamoda gehört zu denjenigen, die es rechtzeitig geschafft haben.

Deshalb möchten wir unsere Erfahrungen mit denen teilen, die noch die Kennzeichnung von Kleidung, Reifen, Parfüm usw. vor sich haben. Der Artikel beschreibt eine Reihe von Branchenstandards, einige Normen und persönliche Erfahrungen. Der Artikel ist in erster Linie für Integratoren und Entwickler gedacht, die sich in diesem Projekt erst noch zurechtfinden müssen.

DataMatrix oder wie man Schuhe richtig kennzeichnet

Bitte beachten Sie, dass die Normen häufig geändert werden und der Autor keine Möglichkeit hat, das Material ständig zu aktualisieren. Daher kann es sein, dass ein Teil der Informationen zum Zeitpunkt des Lesens bereits veraltet ist.

Die persönlichen Erfahrungen des Autors stammen sowohl aus der Arbeit am Datamatrix-Projekt bei Lamoda als auch aus der Entwicklung einer eigenen kostenlosen App zur Kennzeichnung BarCodesFx.

Seit dem 1. Juli 2019 gilt in Russland ein Gesetz zur verpflichtenden Kennzeichnung. Das Gesetz gilt nicht für alle Warengruppen, und die Fristen für das Inkrafttreten der obligatorischen Kennzeichnung variieren zwischen den Warengruppen. Derzeit sind Tabak, Pelze, Schuhe und Arzneimittel von der obligatorischen Kennzeichnung betroffen. Bald wird auch die Kennzeichnung von Reifen, Kleidung, Parfüm und Fahrrädern eingeführt. Jede Warengruppe wird durch eine separate Regierungsverordnung (PPR) geregelt. Daher können einige Aussagen, die für Schuhe richtig sind, für andere Warengruppen falsch sein. Man kann jedoch hoffen, dass die technischen Aspekte für verschiedene Warengruppen nicht stark variieren.

KennzeichnungDie grundlegende Idee der Kennzeichnung besteht darin, jeder Ware eine individuelle Nummer zuzuordnen. Anhand dieser Nummer kann die Geschichte eines bestimmten Artikels von der Herstellung oder dem Import ins Land bis zum Verkaufszeitpunkt an der Kasse verfolgt werden. Das klingt schön, aber in der Praxis ist es äußerst schwierig umzusetzen. Das Konzept wird auf der offiziellen Website des ehrlichen Zeichens näher beschrieben.

Allgemeine Begriffe und Konzepte

UOT — Teilnehmer am Warenverkehr.
ZRPТ — Zentrum für die Entwicklung zukunftsträchtiger Technologien. Ein privates Unternehmen, der einzige staatliche Auftragnehmer für das Kennzeichnungsprojekt. Arbeitet im Rahmen einer öffentlich-privaten Partnerschaft (PPP). Informationen über andere Teilnehmer der Ausschreibung, sowie über die Ausschreibung selbst, sind leider nicht verfügbar.
TG — Warengruppe. Schuhe, Kleidung, Reifen usw.
GTIN — im Wesentlichen eine Artikelnummer unter Berücksichtigung von Farbe und Größe. Wird in GS1 oder im Nationalkatalog für jeden Importeur oder Hersteller für sein Produkt ausgegeben. Zuvor muss der Hersteller oder Importeur dieses Produkt beschreiben.
PPR — Verordnung der Regierung der RF. Für Schuhe — 860.
KM — Kennzeichnungscode. Ein einzigartiger Zeichensatz, der einer bestimmten Ware zugeordnet ist. Besteht für Schuhe aus GTIN, Seriennummer, Prüfcode und Kryptoschwanz.
GS1 — internationale Organisation, die GTINs vergibt. Auch der Ersteller mehrerer Standards für die Kennzeichnung.
Nationalkatalog — Analoge GS1, entwickelt von CRPT.
Kryptoschwanz — analog zur digitalen Signatur, die die Legalität des KM bestätigt. Muss im Datamatrix auf dem Etikett vorhanden sein. Speicherung in Textform ist verboten. Nach dem Drucken des Etikettes muss er gemäß Vertrag mit CRPT entfernt werden. Es sind keine Fälle des tatsächlichen Gebrauchs bekannt.
SUZ — Bestellmanagementstation. Ein System, in dem KM für Waren bestellt werden.
EDO — elektronischer Dokumentenverkehr.
UKEP — qualifizierte elektronische Signatur mit erhöhter Sicherheit.

Begriffe und Konzepte im Rahmen dieses Artikels

CZ — ehrliches Zeichen.
LK — persönliches Konto.
Etikett — Druckcode für die Kennzeichnung.

Der Prozess sieht wie folgt aus: Zunächst erstellt der Teilnehmer (UOT) eine elektronische Signatur (UKEP), registriert sich im ehrlichen Zeichen (CZ), beschreibt das Produkt im Nationalkatalog oder GS1 und erhält die GTINs für das Produkt. Auf der Website des ehrlichen Zeichens sind diese Schritte im Detail beschrieben, daher werden wir nicht weiter darauf eingehen.

Bestellung und Erhalt von Codes

Nach Erhalt der GTINs gibt der Teilnehmer (UOT) eine Bestellung für die Codes (KM) im SUZ-System auf.
Wichtig, aber nicht offensichtlich.

  1. In einer Bestellung können maximal Codes für 10 GTINs angefordert werden. Im Grunde ein unverständliches Limit. Ein Importeur mit 14.000 GTINs muss 1.400 Bestellungen aufgeben.
  2. In einer Bestellung können maximal 150.000 Codes angefordert werden.
  3. Es gibt eine Beschränkung von 100 Bestellungen in Bearbeitung. Das heißt, gleichzeitig können nicht mehr als 100 Bestellungen bearbeitet werden. Wenn es mehr als 100 sind, beginnt die API, einen Fehler anstelle der Liste der Bestellungen zurückzugeben. Der einzige Weg, diesen Fehler zu beheben, besteht darin, einige Bestellungen über die Weboberfläche zu schließen. In der API ist kein Parameter für die teilweise Anzeige von Bestellungen vorgesehen.
  4. Es gibt eine Begrenzung der Anfragen – nicht mehr als 10 Anfragen pro Sekunde. Laut meinen Informationen wird diese Einschränkung in den Unterlagen nicht erwähnt, ist aber vorhanden.

Aus persönlicher Erfahrung mit Bestellungen von Kode-Markierungen KM über die API des Systems SUZ.

  1. Die Anfrage (der gesamte JSON) muss mit einer GOST-Unterschrift signiert werden. Dies ist eine Arbeit mit Kryptopro. Man muss sorgfältig darauf achten, dass das verwendete Framework oder die Bibliothek den ursprünglichen JSON nicht um ein Byte verändert. Andernfalls ist die Unterschrift sofort ungültig.
  2. Die Unterschrift der Bestellung. Eine Bestellung kann mit jeder Unterschrift eines beliebigen Kunden signiert werden. Wenn die Unterschrift gültig ist, wird sie vom System SUZ akzeptiert. Bei der Integration war es möglich, eine Anfrage mit einer fremden Unterschrift zu signieren, die von einer Test-Zertifizierungsstelle ausgestellt wurde. Der produktive Rahmen des SUZ hat die Bestellung bearbeitet und die Kode ausgegeben. Meiner Meinung nach ist das ein Sicherheitsrisiko. Der Bug-Report wurde von den Entwicklern mit „Wir werden sehen“ beantwortet. Ich hoffe, sie haben es behoben.

    Daher seien Sie äußerst vorsichtig, wenn an einem Arbeitsplatz mehr als eine juristische Person arbeitet. Heute akzeptiert SUZ diese Anfragen, morgen werden die Anfragen erneut geprüft und die Hälfte der Kode wegen einer fremden Unterschrift zurückgerufen. Formal gesehen hätten sie aber Recht.

  3. Die automatische Unterzeichnung von Bestellungen ist eine Funktion, die in SUZ nicht mehr verfügbar ist. Für die Funktionsweise war es erforderlich, den privaten Teil des Schlüssels im persönlichen Bereich des ehrlichen Zeichens hochzuladen. Dies stellt eine Kompromittierung des Schlüssels dar. Nach geltendem Recht muss der Inhaber im Fall der Kompromittierung der qualifizierten elektronischen Signatur seinen Zertifizierungsdienstleister (ZDP) informieren und die QES zurückziehen. Wenn diese Funktion zurückgebracht wird, achten Sie darauf, dass der private Teil des Schlüssels den Computer nicht verlässt.
  4. Im Februar hat das Zentrum für die Entwicklung neuer Technologien (ЦРПТ) stillschweigend eine Begrenzung für die Anzahl der Anfragen an die API des SУЗ eingeführt. Nicht mehr als eine Anfrage pro Sekunde. Dann wurde diese Begrenzung ebenfalls unerwartet und stillschweigend aufgehoben. Daher empfehle ich, in das System die Möglichkeit einzubauen, die Anzahl der Anfragen an die ЦРПТ-API für den Fall eines Rückfalls zu begrenzen. Derzeit gibt es Informationen über ein Limit von 10 Anfragen pro Sekunde.
  5. Ebenfalls im Februar hat sich das Verhalten der API des SУЗ ohne Vorwarnung erheblich verändert. In der API gibt es eine Anfrage zur Statusabfrage von Bestellungen. Im Status wurden die Puffer und deren Zustand angegeben. Eine GTIN = ein Puffer. Dort wurde auch angegeben, wie viele Codes aus dem Puffer abgerufen werden können. An einem schönen Tag betrug die Anzahl in allen Puffern -1. Es war notwendig, über eine separate Methode den Zustand jedes Puffers einzeln abzufragen. Statt einer Anfrage waren es dann elf.

Struktur der Codes

Nun, die Codes sind bestellt und generiert. Sie können sie über die API im Textformat, im PDF-Format als Etiketten zum Drucken und als CSV-Datei mit Text abrufen.

Über die API wurde bereits oben geschrieben. Was die beiden anderen Methoden betrifft. Ursprünglich erlaubte der SУЗ den Abruf der Codes nur einmal. Und wenn eine PDF-Datei abgerufen wurde, konnten die Codes im Textformat nur erhalten werden, indem alle Datamatrixen aus der PDF neu gescannt wurden. Zum Glück wurde die Möglichkeit hinzugefügt, die Codes mehrfach abzurufen, wodurch dieses Problem gelöst wurde. Innerhalb von zwei Tagen sind die Codes noch für den wiederholten Download verfügbar.

Wenn Sie das CSV-Format abrufen, öffnen Sie es unter keinen Umständen in Excel. Und erlauben Sie es auch niemandem. In Excel gibt es die Auto-Save- Funktion. Im Moment des Speicherns kann Excel Ihre Codes auf die unvorhersehbarste Weise verändern. Ich empfehle, Notepad++ zur Ansicht der Codes zu verwenden.

Wenn Sie eine Datei aus dem SУЗ in Notepad++ öffnen, können Sie Zeilen wie diese sehen. Der dritte Code ist ungültig (es fehlen die GS-Trenner).

DataMatrix oder wie man Schuhe richtig kennzeichnet

Partner haben uns Codes zur Kennzeichnung ihrer Produkte übermittelt. Mit bloßem Auge ist zu erkennen, welche Dateien mit Excel erstellt wurden – bis zu 5% der Codes waren ungültig.

Ich kann nur dringend empfehlen, über Standards GS1 zu lesen. In der Beschreibung des Standards finden sich Antworten auf viele Fragen zur Erstellung von DataMatrix.

Die Identifikationsnummer besteht aus GTIN und Seriennummer. Gemäß dem GS1-Standard entsprechen ihr die Anwendungsidentifikatoren (AI) 01 und 21. Bitte beachten Sie, dass die Anwendungsidentifikatoren kein Teil des GTIN und der Seriennummer sind. Sie zeigen an, dass nach dem Anwendungsidentifikator (AI) GTIN oder Seriennummer folgen. Dies ist besonders wichtig bei der Programmierung von Kassensoftware. Für das Ausfüllen des Tags 1162 werden genau GTIN und Seriennummer benötigt, ohne Anwendungsidentifikatoren.

Für die UFD (universelles Übertragungsdokument) und andere Dokumente hingegen wird meistens die vollständige Aufzeichnung mit Anwendungsidentifikatoren benötigt.

DataMatrix oder wie man Schuhe richtig kennzeichnet

Im GS1-Standard ist festgelegt, dass das GTIN eine feste Länge von 14 Zeichen hat und nur aus Ziffern bestehen kann. Die Seriennummer hat eine variable Länge und wird auf Seite 155 des Standards beschrieben. Dort gibt es auch einen Verweis auf eine Tabelle mit Zeichen, die in der Seriennummer vorkommen können.

Da die Seriennummer eine variable Länge hat, zeigt der GS-Trenner ihr Ende an. In der ASCII-Tabelle hat es den Code 29. Ohne diesen Trenner kann kein Programm verstehen, wann die Seriennummer endet und andere Datengruppen beginnen.

Mehr über den Markierungscode (MK) kann man lesen in offiziellen Dokumentation.

Für Schuhe ist die Seriennummer auf 13 Zeichen festgelegt, kann jedoch jederzeit geändert werden. Für andere Warengruppen (WG) kann die Länge der Seriennummer unterschiedlich sein.

Generierung von DataMatrix

DataMatrix oder wie man Schuhe richtig kennzeichnet

Der nächste Schritt besteht darin, die Daten in den DataMatrix-Code umzuwandeln. In der Verordnung der russischen Regierung Nr. 860 ist ein GOST angegeben, nach dem der DataMatrix gebildet werden muss. In der PPR 860 ist auch die obligatorische Verwendung von Anwendungsidentifikatoren festgelegt. Bitte beachten Sie, dass es im DataMatrix-Standard kein Konzept von "Anwendungsidentifikatoren" gibt. Diese sind nur im GS-1 DataMatrix-Standard vorhanden. Folglich verpflichtet die PPR 860 stillschweigend zur Verwendung von genau GS-1 DataMatrix. Glücklicherweise ähneln sich die Standards. Der Hauptunterschied: Im GS-1 DataMatrix muss das erste Zeichen FNC1 sein. Das GS-Zeichen darf nicht an erster Stelle im DataMatrix stehen, nur FNC1.

FNC1 kann nicht einfach in die Zeichenfolge eingefügt werden wie GS. Es muss von dem Programm hinzugefügt werden, das den DataMatrix generiert. Auf den Ressourcen der Alliance Fority sind mehrere mobiler Anwendungenverfügbar, mit denen die Richtigkeit der generierten DataMatrix-Codes überprüft werden kann.

Wichtig. Die Anwendung des ehrlichen Zeichens akzeptiert ungültige DataMatrix. Sogar QR-Codes. Die Tatsache, dass das Etikett erkannt wurde und die Produktinformationen angezeigt werden, ist kein Indikator dafür, dass die DataMatrix korrekt erstellt wurde. Selbst bei der Ersetzung des Crypto-Tails hat die Anwendung das Etikett erkannt und die Produktdaten angezeigt.

Später gab das ehrliche Zeichen eine Erklärung, wie man Codes richtig generiert. Aufgrund der Vielzahl an fehlerhaften Codes haben sie die Codes ohne FNC1 als gültig anerkannt, empfehlen jedoch dennoch die Generierung von GS-1 DataMatrix.

Leider kam ein ziemlich großer Prozentsatz der DataMatrix von Partnern mit Fehlern. Dank der Erklärungen des ehrlichen Zeichens wurde die Frage "Kann mit diesen Produkten nach dem 1. Juli gehandelt werden oder nicht?" vollständig geklärt. Spoiler — ja, kann man.

Druck

Achten Sie auf die Druckweise der Etiketten. Beim Drucken mit einem Thermodrucker verblasst das Etikett schnell, und dieses Produkt kann dann nicht mehr verkauft werden. Ein unleserliches Etikett ist ein Verstoß gegen die PPR 860. Dies führt zur Beschlagnahme des Produkts, zu Geldstrafen und strafrechtlicher Verantwortung.

Verwenden Sie Thermotransferdruck. In diesem Fall ist das Etikett weniger anfällig für das Verblassen. Auch das Material des Etiketts beeinflusst, wie anfällig das Etikett für mechanische Beschädigungen ist. Wenn der Code aufgrund mechanischer Beschädigung nicht gelesen werden kann, ist das gleichbedeutend mit dem Fehlen des Etiketts mit allen daraus resultierenden Konsequenzen.

DataMatrix oder wie man Schuhe richtig kennzeichnet

Wählen Sie den Drucker entsprechend dem geplanten Druckvolumen. Tischdrucker sind nicht für das Drucken von 100.000 Etiketten pro Tag ausgelegt.

Das Stoppen und Starten des Drucks erhöht den Verschleiß des Druckers. Einige Programme senden Druckaufträge für ein einzelnes Etikett. Mit solchen Programmen sollte man besser nicht arbeiten.

Arbeiten mit Dokumenten

Nachdem die Etiketten gedruckt und angebracht sind, erfolgen alle weiteren Vorgänge mit ihnen über Dokumente oder das persönliche Konto des ehrlichen Zeichens.

Bei der Arbeit mit einer großen Anzahl von Codes können XML-Dateien erstellt werden, in denen die benötigten Codes enthalten sind, die dann über die API oder die Web-Oberfläche des persönlichen Kontos hochgeladen werden.

Das XSD-Schema kann im Abschnitt "Hilfe" im persönlichen Konto des ehrlichen Zeichens heruntergeladen werden.

Achten Sie auf die folgenden Punkte.

  1. Die XSD-Schemas im persönlichen Konto des ehrlichen Zeichens enthalten Fehler bei der Validierung der INNs und Einschränkungen für die Länge der Zeichenfolgen. Nur durch Behebung dieser Fehler können die Schemata verwendet werden. Glücklicherweise sind die Fehler offensichtlich, sodass dies nicht schwierig ist.
  2. Das Schema besteht meist aus zwei Teilen – einem allgemeinen für alle Dokumenttypen und einem separaten für einen spezifischen Typ. Das allgemeine Schema wird durch den Import in das spezifische hinzugefügt. Beide Schemata sind im Hilfe-Bereich im persönlichen Konto von ЧЗ zu finden.
  3. Die Regeln zur Kodierung für KM unterscheiden sich von den allgemein akzeptierten für XML. Dazu gibt es offizielle Dokumentationen von ЧЗ, beachten Sie das bitte. Hier hier auf Seite 4 sind alle Regeln aufgeführt.
  4. Es sollte nicht versucht werden, 150.000 Codes mit einer Datei in Umlauf zu bringen. Nach Aussagen von Zeugen werden Dateien über 30.000 oft akzeptiert.
  5. Eine XML-Datei kann mit dem Fehler „XML-Validierungsfehler“ abgelehnt werden, aber nach fünf Minuten wird dieselbe Datei ohne Probleme akzeptiert.
  6. Wenn in der Datei bereits ein in Umlauf gebrachter Code enthalten ist, wird die Eingabedatei wahrscheinlich nicht akzeptiert.
  7. Versand- und Empfangsdokumente werden vorübergehend verwendet. In Zukunft sollen sie abgeschafft werden, um auf UПД gemäß ППР 860 umzusteigen.
  8. Der Mythos über 60 Tage. Es gibt die Meinung, dass nicht eingelagerte Codes nach 60 Tagen „verfallen“. Das ist ein Mythos, die Quelle ist unbekannt. Codes „verfallen“ nur, wenn Sie sie in den ersten 60 Tagen nicht aus СУЗ abgerufen haben. Die Lebensdauer abgerufener Codes ist unbegrenzt.

Fazit

Bei der Entwicklung meiner kostenlosen Anwendung zur Etikettierung BarCodesFX wurde ursprünglich eine Integration mit der API von СУЗ vorgenommen. Als ЧЗ unerwartet die Logik der API zum zweiten Mal änderte, musste ich auf die Integration verzichten. Ich hoffe, dass es ЧЗ gelingt, die Entwicklung und die API zu stabilisieren, da es für ein nicht-kommerzielles Produkt sehr aufwendig ist, jeden Tag zu überprüfen, ob es Änderungen in der API gab und schnell nachzuarbeiten.

Beim Implementieren der Etikettierung sollten Sie sich sorgfältig mit der Normdokumentation für Ihre Warenkategorie ТГ vertrautmachen, GS1-DataMatrix korrekt drucken und auf alle unerwarteten Änderungen von Seiten des ehrlichen Zeichens ЧЗ vorbereitet sein.

Die Fort-Allianz hat einen Informationsraum geschaffen (Wiki, Chats in Telegram, Seminare, Webinare), wo Sie nützliche und aktuelle Informationen zur Etikettierung in allen Branchen finden können.

Quelle: habr.com

60GB SSD 8Gb DDR4