Zigarettenmarkierung. Die Struktur des Markierungscodes

In diesem Artikel werde ich versuchen, den technischen Teil und die Zusammensetzung der Zigarettenkennzeichnung zu klären.

Verzeihen Sie mir Habr-Leser für die verkürzte Rezension.



Was sind beschriftete Zigaretten?



Etikettierte Zigaretten sind solche Zigaretten, auf deren Verbraucherverpackung Identifizierungsmittel gemäß den Anforderungen des Gesetzes Nr. 381-FZ und den daraufhin erlassenen Rechtsvorschriften der Regierung der Russischen Föderation angebracht sind.

Für die Anerkennung von Waren als gekennzeichnet müssen daher folgende Bedingungen erfüllt sein:



  1. Die Ware muss mit einem Identifikationsmittel (Markierungscode) gekennzeichnet sein.
  2. Das Informationsüberwachungssystem muss Informationen über die Anwendung von Identifikationsmitteln auf Zigaretten enthalten (dies erfolgt durch den Zigarettenhersteller).
  3. Das Informationsüberwachungssystem muss zuverlässige Informationen über die Waren enthalten


Wir erinnern Sie daran, dass das Vorhandensein von Informationen über den Zigarettenumlauf im Informationsüberwachungssystem keine Voraussetzung für die Anerkennung von Produkten als gekennzeichnet ist.

Für Käufer, die vor dem 01.07.2020 etikettierte Zigaretten auf Papier gekauft haben, besteht kein Grund zur Sorge, die Reste irgendwo einzureichen. Zigaretten, die vom Hersteller vor dem 01.07.2020 in Umlauf gebracht wurden, werden im Überwachungssystem als „vorübergehend nicht rückverfolgbar“ registriert und sind gemäß den Regeln für den weiteren Umlauf zulässig.



Es ist zu beachten, dass sich während des Versuchszeitraums für Hersteller (2018-07.2019) die Zusammensetzung der Kennzeichnung geändert hat. Zigarettenhersteller haben mit dem CRPT-Betreiber zusammengearbeitet, um akzeptable Lösungen zu finden. Alle in dieser Übergangszeit hergestellten gekennzeichneten Produkte wurden ebenfalls gekennzeichnet.



Werfen wir einen Blick auf die Struktur des heute geltenden Zigarettenmarkierungscodes.

Übrigens handelt es sich in einigen europäischen Ländern um eine Kopie des Zigarettenkennzeichnungscodes. Aus diesem Grund ist die Kennzeichnung für transnationale Unternehmen zu einem Wettbewerbsvorteil gegenüber russischen Herstellern geworden.



80 Zeichen werden verwendet, um die Seriennummer von Zigaretten und MRP (maximaler Verkaufspreis) zu codieren:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!”%&’*+-./_,:;=<>?
Die Codier-Decodieralgorithmus des MRC wird in eine 80-ary - Zahlensystem in kopecks auf der Umwandlung der Größe des MRC anhand der folgenden Alphabet: Alphabet für die Codierung



Encoding Encoding

Verfahrens

  1. Wir wandeln zum Beispiel die MRC in Kopeken um
  2. Wir finden den ganzzahligen Teil und den Rest der Division der MRC durch die Basis des Zahlensystems (in unserem Fall - 80).
  3. Wir nehmen ein Zeichen aus dem Alphabet an einem Index, der dem Rest entspricht, und schreiben es an den Anfang der resultierenden Zeichenfolge
  4. 2 3 0
  5. 4 0 (“A”)
= 146 30, = 14630


  1. 14630 80: 182 70
  2. 70 : “.”
  3. 0, 182 80: 2 22
  4. 22 : “W.”
  5. 0, 2 80: 0 2
  6. 2 : “CW.”
  7. 0, : “ACW.”










  1. , 80, , , 0,
“ACW.”


0.



1. : “A”2. “A”: 03. 80 3 ( , 4 ) 0, 04. 0 : 05. : “C”6. “C”: 27. 80 2 2, 128008. 12800 : 128009. : “W”10. “W”: 2211. 80 1 22, 176012. 1760 : 1456013. : “.”14. “.”: 7015. 80 0 70, 7016. 70 : 1463017. = 14360 14630


mrp encoder on ++
using System;
using System.Text;

namespace SharedUtil.Mrp
{
    public static class MrpEncoder
    {
        public const string Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"%&\'*+-./_,:;=<>?";

        public static string Encode(uint value, byte paddingLength = 4)
        {
            var builder = new StringBuilder();
            long result = value;
            do
            {
                long rmdr;
                result = Math.DivRem(result, Alphabet.Length, out rmdr);
                builder.Insert(0, Alphabet[(int) rmdr]);
            } while (result > 0);

            return builder.ToString().PadLeft(paddingLength, Alphabet[0]);
        }

        public static uint Decode(string value)
        {
            uint result = 0;
            for (int i = 0; i < value.Length; i++)
            {
                var characterIndex = Alphabet.IndexOf(value[i]);
                if (characterIndex < 0)
                {
                    throw new ArgumentException(string.Format("Invalid character: '{0}'", value[i]));
                }
                result += (uint) (Math.Pow(Alphabet.Length, value.Length - 1 - i) * characterIndex);
            }

            return result;
        }
    }
}
Da MRC (maximaler Verkaufspreis) in der Praxis auf Rubel gerundet ist und einen Bereich von 60 bis 500 Rubel hat, können wir schließen: MRC in der 80-Ary-Codierung beginnt immer mit „A“ und endet mit einem der vier Zeichen „A“, „ U "," o, "8". Hiermit können Sie die Gültigkeit des MRC im Paketmarkierungscode überprüfen.



MRC-Codierungstabelle.


Betrachten wir die Markierung am Beispiel von Zigaretten mit dem Filter "T & W" ORIGINAL COMPACT MRC 106 "



So sieht die Markierung auf Packungen und Blöcken aus:

Kennzeichnung von Zigaretten auf Packungen und BlöckenEntschuldigung, ich habe keinen Block mit MRC 106 gefunden, ich habe 115 für das Foto genommen. Packungsmarkierung



:

DataMatrix-Bundles

04610030141527 00000Hd AB0o OnE1



String 29 Zeichen lang enthält:

  • GTIN-14 (14 ). «0» EAN-13 «» . EAN-13, .
  • (7 ) . ,   80 .     EAN.
  • (4 ). , 80- .
  • (4 ). « » . . , , .
GTIN-14 (14 ). «0» EAN-13 «» . EAN-13, .
« » GTIN EAN13.






DataMatrix-BlockVom Menschen lesbare Kopie des Markierungscodes

Blockmarkierung : (01) 04610030141534 (21) 00000! & <FNC1> (8005) 106000 <FNC1> (93) yikZ



Eine Zeichenfolge mit mindestens 41 Zeichen, die einen Code im GS1-Format enthält. Zur Verdeutlichung Klammern hinzugefügt. Enthält GS1 <FNC1> -Symbole

  • (01) GTIN-14 (14 numerische Zeichen). Enthält den führenden "0" - und EAN-13-Code für die Maßeinheit "Block". Ähnlich wie beim üblichen EAN-13 auf dem Block.
  • (21) Seriennummer (7 Zeichen). Vom Hersteller generierter Identifikationscode aus einem Satz von 80 Zeichen. Konzipiert als einzigartig für die angegebene GTIN-14.
  • (8005) (6 digitale Zeichen). Maximaler Verkaufspreis in Kopeken für einen Block. In unserem Beispiel 1060,00 Rubel für einen Block (106 für eine Packung)
  • (93) (4 ). « » . .
Der Code kann zusätzliche Daten enthalten, die Codes 01 und 21 müssen jedoch an erster Stelle stehen.



Markierungen in den

Boxkennzeichnung als GS1-CODE128

Feldern : (01) 14610030141524 (21) 0011986 <FNC1> (8005) 106000 <FNC1> (37) 50



Eine Zeichenfolge mit mindestens 25 Zeichen. Enthält die obligatorischen Codes 01 und 21 im GS1-Format. Jeder Hersteller bestimmt selbst die Zusammensetzung des Kennzeichnungscodes für die Transportverpackung. Hat keinen Kryptoschwanz. Kann als GS-1 DataMatrix-Code angewendet werden.

Hersteller duplizieren häufig GS-1 (CODE-128) und GS-1 DataMatrix. Hier ein Beispiel:

Andere Hersteller geben manchmal keine MRC an, und einige fügen das Element 240 hinzu, um den internen Nomenklaturcode des Herstellers anzugeben.

Schauen wir uns ein Beispiel für einen Code zum Markieren eines Transportpakets "box" an:
  • (01) GTIN-14 (14 ). IFT-14 «». IFT-14, .
  • (21) (7 ). , IFT-14 .
  • (8005) (6 ). , – «».
  • (37)  (2 ). .
Der Code kann zusätzliche Daten enthalten, die Codes 01 und 21 sollten jedoch an erster Stelle stehen. Palettenmarkierung



:

Palettenmarkierung

(00) 94610030141 0004634



Eine Zeichenfolge mit 20 Zeichen. Enthält das Präfix 00 und den obligatorischen Paletten- (Container-) Logistikcode SSCC.



Alle Pakete mit Ausnahme von Paketen tragen sowohl einen maschinenlesbaren Code als auch dessen lesbares Äquivalent. Auf diese Weise können Sie den Markierungscode manuell wählen, wenn der Code aus irgendeinem Grund nicht vom Scanner gescannt wird.



Aggregation und Disaggregation.

Das Kennzeichnungssystem umfasst Funktionen wie Aggregation und Disaggregation von Verpackungen. Bis vor kurzem wurde die Aggregation nur im Werk durchgeführt. Ab Werk werden dem System nicht nur Informationen über die angewendeten Markierungscodes, sondern auch über deren Aggregation übermittelt. Die von der Fabrik an das BMS übertragene JSON-Datei enthält eine Struktur, in der es unmöglich ist, die Markierungsdaten ohne die Fabrikaggregationsdaten zu senden. Im Werk erfolgt die Aggregation von Blöcken / Kisten / Paletten durch erneutes Scannen der Markierung von jedem verschachtelten Element und den Verpackungscodes. Dies stellt sicher, dass der Code lesbar ist und garantiert eine korrekte Aggregation , d.h. Übereinstimmung der im Paket enthaltenen Codes mit dem Code des Pakets selbst.

Versuchen Sie daher, die Originalverpackung bis zum letzten Moment aufzubewahren. Nach dem Öffnen der Werksbox kann nicht mehr garantiert werden, dass alle Blöcke zu dieser speziellen Box gehören. Hallo an alle Einzelhandelsketten, die verschachtelte Blöcke prüfen und Fabrikboxen darauf öffnen;)



Vor kurzem wurde die Zigarettenaggregationsfunktion in der API für Handelsorganisationen angezeigt. Wir sehen hier eine großartige Perspektive für den Versand von Paletten aus Logistiklagern.



Die Disaggregation erfolgt automatisch, sobald die in der Verpackung enthaltene Einheit in den Entsorgungs- oder Eigentümerwechselunterlagen verwendet wurde. Mit anderen Worten, wenn Sie eine Packung Zigaretten verkaufen, wird der Block, in dem sie sich befand, automatisch in Packungen aufgeschlüsselt, und die Schachtel, in der sich dieser Block befand, wird in Blöcke usw. aufgeschlüsselt. Es wird unmöglich sein, weitere disaggregierte Codes des Blocks, der Box oder der Palette zu verwenden. Dies ist eine sehr elegante Lösung. Heute wird die Box / der Block nur dann disaggregiert, wenn die verschachtelte Einheit auf der Seite des aktuellen Eigentümers entsorgt wird. Wenn eine Gegenpartei eines Drittanbieters versucht, Ihre Zigaretten aus Ihrer Schachtel zu verkaufen, führt dies nicht zu einer automatischen Disaggregation, da die Gegenpartei laut GIS MT zum Zeitpunkt des Scannens des Etiketts bei der Übermittlung von Informationen zur Entsorgung nicht der Eigentümer war.



, , , ,



(14 ) (7 ) (4 )



: 00000046198532%J_zMZ401er

(14 ) (7 )



: 00000046214805ltCeK2L



01 (14 ) 21 (7 ) 8005 (6 )



: (01)04600266012586(21)E'd8ZnM(8005)100000

: 010460026601258621E'd8ZnM8005100000

01 (14 ) 21(7



: (01)04600266012586(21)E'd8ZnM

: 010460026601258621E'd8ZnM

: 1+2+3

• 1

01 (14 )

02 , (14 )

• 2

11 (6 )

13 (6 )

• 3

21 ( 20 )

:

02046002660125991302071921E'd8ZnMZx



01046002660125861101071921E'd8ZnM

Paletten, Behälter:

Serienversand-Verpackungscode, SSCC (20 Zeichen) (Standard GS1-128 , angegeben mit Anwendungs-ID AI (00))

Beispiel: 00177102981700000049

Bitte beachten Sie: Im Beispiel wird das Symbol "FNC1" (Code 29) nirgendwo verwendet. Es wird ausgeschnitten, wenn es in der FRT eingesetzt wird.



Die für die Übermittlung von Informationen erstellte UPD-Datei muss im Namen ein Kennzeichen aufweisen - "MARK"



PDF: Offizielle methodische Empfehlungen für die Registrierung der UPD / UPDi / UKD.



EUPD-Beispiele:



XML. Beispiel EPD aus Megapolis.



XML. Muster-EPD mit verschiedenen Verpackungsarten.



XML. Mustermitteilung zur Rechnungsklärung.






All Articles