DataMatrix of hoe schoenen op de juiste manier te labelen

Vanaf 1 juli 2019 werd in Rusland verplichte etikettering van een groep goederen ingevoerd. Vanaf 1 maart 2020 zouden schoenen onder deze wet vallen. Niet iedereen had tijd om zich voor te bereiden en als gevolg daarvan werd de lancering uitgesteld tot 1 juli. Lamoda is een van degenen die het hebben gemaakt.

Daarom willen we onze ervaring delen met degenen die nog geen kleding, banden, parfums, enz. moeten labelen. Het artikel beschrijft een aantal industriestandaarden, enkele regelgevende documentatie en persoonlijke ervaringen. Het artikel is in de eerste plaats bedoeld voor integrators en ontwikkelaars die dit project nog moeten begrijpen.

DataMatrix of hoe schoenen op de juiste manier te labelen

Houd er rekening mee dat de regelgeving regelmatig verandert en dat het voor de auteur niet mogelijk is om het materiaal voortdurend bij te werken. Tegen de tijd dat u het leest, kan een deel van de informatie dus al verouderd zijn.

De auteur heeft persoonlijke ervaring opgedaan tijdens het werk aan het Datamatrix-project in Lamoda en bij het ontwikkelen van zijn eigen gratis labelapplicatie BarCodesFx.

Sinds 1 juli 2019 is in Rusland een wet inzake verplichte etikettering van kracht. De wet is niet van toepassing op alle productgroepen en de data voor de inwerkingtreding van de verplichte etikettering voor productgroepen variëren. Momenteel zijn tabak, bontjassen, schoenen en medicijnen onderworpen aan verplichte etikettering. Wordt binnenkort geïntroduceerd voor banden, kleding, parfums en fietsen. Elke groep goederen wordt gereguleerd door een afzonderlijke overheidsresolutie (GPR). Daarom zijn sommige uitspraken die waar zijn voor schoenen mogelijk niet waar voor andere productgroepen. Maar we mogen hopen dat de technische component niet veel zal verschillen per productgroep.

het merkenHet belangrijkste idee van etikettering is dat elke eenheid goederen een individueel nummer krijgt. Met dit nummer kunt u de geschiedenis van een specifiek artikel volgen vanaf het moment van productie of import in het land, tot het moment van verwijdering bij de kassa. Het klinkt mooi, maar in de praktijk is het buitengewoon moeilijk te implementeren.Het concept wordt gedetailleerder beschreven op de officiële website van het eerlijke bord.

Veel voorkomende termen en concepten

UOT - deelnemer aan het goederenverkeer.
CRPT — centrum voor de ontwikkeling van veelbelovende technologieën. Particuliere onderneming, de enige staat aannemer voor het markeringsproject. Het werkt in het kader van een publiek-privaat partnerschap (PPP). Helaas is er geen informatie over andere deelnemers aan de aanbesteding voor het project, maar ook over de aanbesteding zelf.
TG - productgroep. Schoenen, kleding, banden, etc.
GTIN - in wezen een artikel waarbij rekening wordt gehouden met de kleur en de maat. Uitgegeven in GS1 of de nationale catalogus voor iedere importeur of fabrikant voor zijn product. De fabrikant of importeur moet het product eerst omschrijven.
PPR - Besluit van de regering van de Russische Federatie. Voor schoenen - 860.
KM — markeringscode. Een unieke set tekens die aan een specifiek productitem is toegewezen. Voor schoenen bestaat het uit een GTIN, serienummer, verificatiecode en crypto-staart.
GS1 is een internationale organisatie die GTIN’s uitgeeft. Zij zijn ook de samenstellers van een aantal etiketteringsnormen.
Nationale catalogus - een analoog van GS1, ontwikkeld door CRPT.
Cryptostaart - een analoog van een digitale handtekening die de wettigheid van de CM bevestigt. Moet in de gegevensmatrix op de postzegel staan. Opslag in tekstvorm is verboden. Na het drukken moeten de zegels worden verwijderd conform de afspraak met de CRPT. Er zijn geen gevallen van daadwerkelijk gebruik bekend.
CPS — orderbeheerstation. Het systeem waarin KM’s voor goederen worden besteld.
EDI - elektronisch documentbeheer.
UKEP — verbeterde gekwalificeerde elektronische handtekening.

Termen en concepten die binnen de reikwijdte van dit artikel vallen

ЧЗ - een eerlijk teken.
LK - Persoonlijk gebied.
Mark — afgedrukte markeringscode.

Het proces is als volgt: eerst geeft de deelnemer (UOT) een elektronische handtekening af (UKEP), registreert zich in een eerlijk merk (CH), beschrijft het product in de nationale catalogus of GS1 en ontvangt GTIN's voor het product. Deze stappen worden gedetailleerd beschreven op de website van Fair Sign, dus we zullen er niet bij stilstaan.

Codes bestellen en ontvangen

Na ontvangst van GTIN’s plaatst de deelnemer (UOT) een bestelling voor codes (KM) in het CPS-systeem.
Belangrijk, maar niet vanzelfsprekend.

  1. U kunt in één bestelling codes voor maximaal 10 GTIN's aanvragen. In principe een onbegrijpelijke beperking. Een importeur met 14 GTIN’s moet 000 bestellingen aanmaken.
  2. Per bestelling kunnen maximaal 150 codes worden aangevraagd.
  3. Er geldt een limiet van 100 bestellingen in uitvoering. Dat wil zeggen dat er niet meer dan 100 bestellingen tegelijkertijd kunnen worden verwerkt. Als er meer dan 100 zijn, zal de API een foutmelding retourneren in plaats van een lijst met bestellingen. De enige manier om deze fout op te lossen is door sommige bestellingen via de webinterface te sluiten. De API biedt geen parameter voor gedeeltelijke weergave van bestellingen.
  4. Er is een limiet op het aantal verzoeken: niet meer dan 10 verzoeken per seconde. Volgens mijn informatie komt deze beperking niet voor in de documenten, maar bestaat ze wel.

Vanuit persoonlijke ervaring met het werken met bestellingen van KM-markeringscodes via de API van het CPS-systeem.

  1. Het verzoek (de json zelf) moet worden ondertekend met een GOST-handtekening. Dit werkt met cryptopro. U moet er zorgvuldig voor zorgen dat het gebruikte raamwerk of de gebruikte bibliotheek de originele json niet eens met een byte verandert. Anders verliest de handtekening onmiddellijk zijn geldigheid.
  2. Bestel handtekening. De bestelling kan worden ondertekend met elke handtekening van elke klant. Als de handtekening geldig is, accepteert het CPS-systeem deze. Tijdens de integratie was het mogelijk om het verzoek te ondertekenen met de handtekening van iemand anders, afgegeven bij de test-CA. Het gevechtscircuit van het besturingssysteem verwerkte de bestelling en gaf codes uit. Naar mijn mening is dit een veiligheidslek. De ontwikkelaars reageerden op het bugrapport met ‘we zullen zien’. Ik hoop dat het opgelost is.

    Wees daarom uiterst voorzichtig als er meer dan één rechtspersoon op één werkplek werkt. gezichten. Vandaag zal de CPS deze verzoeken accepteren, en morgen worden de verzoeken opnieuw gecontroleerd en wordt de helft van de codes ingetrokken vanwege de handtekening van iemand anders. En in principe zullen ze formeel gelijk hebben.

  3. Het automatisch ondertekenen van bestellingen is een functionaliteit die niet langer beschikbaar is in KMS. Om het te laten werken, was het noodzakelijk om het privégedeelte van de sleutel te uploaden in het persoonlijke account van het eerlijke teken. Dit is een compromis van de sleutel. En volgens de huidige wetgeving moet de eigenaar, in het geval van een inbreuk op een verbeterde gekwalificeerde elektronische handtekening, zijn certificeringscentrum (CA) hiervan op de hoogte stellen en de ECEP intrekken. Als deze functionaliteit wordt geretourneerd, zorg er dan voor dat het privégedeelte van de sleutel de computer niet verlaat.
  4. In februari introduceerde het Center for the Development of Advanced Technologies (CRPT) stilletjes een limiet op het aantal verzoeken aan de CPS API. Niet meer dan één verzoek per seconde. Toen hief hij, net zo onverwacht en stilletjes, deze beperking op. Daarom raad ik aan om het systeem in te bouwen met de mogelijkheid om het aantal verzoeken aan de CRPT API te beperken in geval van terugval. Nu is er informatie over een limiet van 10 verzoeken per seconde.
  5. Ook in februari veranderde het gedrag van de CPS API aanzienlijk zonder waarschuwing. De API heeft een verzoek om de status van bestellingen op te vragen. De status gaf de buffers en hun status aan. Eén GTIN = één buffer. Het gaf ook aan hoeveel codes beschikbaar waren om uit de buffer te ontvangen. Op een mooie dag werd het aantal van alle buffers -1. Ik moest een aparte methode gebruiken om de status van elke buffer afzonderlijk op te vragen. In plaats van één verzoek moest ik er elf doen.

Codestructuur

De codes zijn dus besteld en gegenereerd. Ze zijn via de API te verkrijgen in tekstvorm, in pdf als etiketten om af te drukken en als csv-bestand met tekst.

De API is hierboven al geschreven. Wat betreft de andere twee methoden. Aanvankelijk kon je met het besturingssysteem slechts één keer codes verzamelen. En als er een pdf-bestand werd gebruikt, was het alleen mogelijk om de codes in tekstvorm te verkrijgen door alle datamatrices uit de pdf opnieuw te scannen. Gelukkig hebben ze meerdere keren de mogelijkheid toegevoegd om codes te verzamelen, en dit probleem is opgelost. De codes kunnen binnen twee dagen nog steeds opnieuw worden gedownload.

Als u het in csv-formaat neemt, open het dan in geen geval in Excel. En laat niemand dat doen. Excel heeft een functie voor automatisch opslaan. Op het moment van opslaan kan Excel uw codes op de meest onvoorspelbare manieren wijzigen. Ik raad aan om notepad++ te gebruiken om de codes te bekijken.

Als u een bestand opent vanuit het CMS in notepad++, kunt u dit soort regels zien. De derde code is ongeldig (deze heeft geen GS-scheidingstekens).

DataMatrix of hoe schoenen op de juiste manier te labelen

Onze partners gaven ons codes om hun producten te labelen. Het blote oog kan zien welke bestanden met Excel zijn gegenereerd - tot 5% van de codes was ongeldig.

Ik raad het ten zeerste aan om erover te lezen normen GS1. De beschrijving van de standaard bevat antwoorden op veel vragen over de vorming van DataMatrix.

De identificatiecode bestaat uit een GTIN en een serienummer. Volgens de GS1-standaard komen deze overeen met Application Identifiers (AI) 01 en 21. Houd er rekening mee dat Application Identifiers geen deel uitmaken van het GTIN en het serienummer. Ze geven aan dat de applicatie-ID (UI) wordt gevolgd door een GTIN- of serienummer. Dit is vooral belangrijk bij het programmeren van kassasoftware. Om tag 1162 in te vullen, heeft u alleen het GTIN en serienummer nodig, zonder applicatie-ID's.

Voor UTD (universeel overdrachtsdocument) en andere documenten heeft u daarentegen meestal het volledige record met applicatie-ID's nodig.

DataMatrix of hoe schoenen op de juiste manier te labelen

In de GS1-standaard staat dat het GTIN een vaste lengte van 14 tekens heeft en uitsluitend uit cijfers mag bestaan. Het serienummer heeft een variabele lengte en wordt beschreven op pagina 155 van de standaard. Er is ook een link naar een tabel met symbolen die mogelijk in het serienummer voorkomen.

Omdat het serienummer een variabele lengte heeft, geeft het GS-scheidingsteken het einde van het serienummer aan. In de ASCII-tabel staat code 29. Zonder dit scheidingsteken zal geen enkel programma begrijpen op welk punt het serienummer eindigde en andere gegevensgroepen begonnen.

Meer details over de markeringscode (KM) vindt u in officiële documentatie.

Voor schoenen is het serienummer vastgesteld op 13 tekens, maar de maat kan op elk moment worden gewijzigd. Bij andere productgroepen (TG) kan de lengte van het serienummer afwijken.

DataMatrix-generatie

DataMatrix of hoe schoenen op de juiste manier te labelen

De volgende stap is het converteren van de gegevens naar DataMatrix-code. Het Russische regeringsdecreet 860 specificeert GOST, volgens welke het noodzakelijk is om een ​​DataMatrix te creëren. Ook specificeert PPR 860 het verplichte gebruik van applicatie-ID's. Houd er rekening mee dat de DataMatrix-standaard niet het concept van "applicatie-ID's" kent. Ze zijn alleen beschikbaar in de GS-1 DataMatrix-standaard. Het blijkt dat PPR 860 impliciet het gebruik van GS-1 DataMatrix verplicht. Gelukkig zijn de normen vergelijkbaar. Belangrijk verschil: In GS-1 DataMatrix moet het eerste teken FNC1 zijn. Het GS-symbool mag niet als eerste verschijnen in de DataMatrix, alleen FNC1.

FNC1 kan niet zomaar aan de lijn worden toegevoegd zoals GS. Het moet worden toegevoegd door het programma dat de DataMatrix genereert. Er zijn er verschillende geplaatst op de bronnen van de Alliantieforten mobiele applicaties, waarmee u de juistheid van de gegenereerde DataMatrix-codes kunt controleren.

Het is belangrijk. De eerlijk-tekentoepassing accepteert een ongeldige DataMatrix. Zelfs QR-codes. Het feit dat het merk werd herkend en productinformatie werd weergegeven, duidt er niet op dat de DataMatrix correct is gevormd. Zelfs toen de crypto-staart werd vervangen, herkende de ChZ-applicatie het merk en gaf gegevens over het product weer.

Later werd ChZ vrijgelaten uitleg, hoe u codes correct genereert. Vanwege het grote aantal codes met fouten herkenden ze codes zonder FNC1 als geldig, maar raden ze toch aan een GS-1 DataMatrix te genereren.

Helaas bevatte een vrij groot percentage van de datamatrices van partners fouten. Dankzij de uitleg van ChZ werd de vraag “Is het mogelijk om een ​​dergelijk product na 1 juli wel of niet te verhandelen?” volledig opgelost. Spoiler-dat kan.

afdruk

Let op de manier waarop de postzegels worden gedrukt. Bij het afdrukken op een thermische printer vervaagt de stempel snel en kan het product niet meer worden verkocht. Een onleesbare postzegel is een overtreding van PPR 860. Dit leidt tot inbeslagname van goederen, boetes en strafrechtelijke aansprakelijkheid.

Gebruik thermisch transfer printen. In dit geval is het merk niet zo gevoelig voor vervaging. Het labelmateriaal bepaalt ook hoe gevoelig het merk is voor mechanische schade. Als de code door mechanische schade niet kan worden gelezen, komt dit neer op het ontbreken van een merk met alle gevolgen van dien.

DataMatrix of hoe schoenen op de juiste manier te labelen

Selecteer een printer uit uw geplande printvolumes. Desktopprinters zijn niet ontworpen om 100 labels per dag af te drukken.

Het stoppen en starten van het afdrukken verhoogt de slijtage van de printer. Sommige programma's verzenden een afdruktaak label voor label. Het is beter om dergelijke programma's niet te gebruiken.

Werken met documenten

Nadat de postzegels zijn gedrukt en geplakt, vinden alle verdere transacties ermee plaats via documenten of het persoonlijke account van het eerlijke teken.

Wanneer u met een groot aantal codes werkt, kunt u xml-bestanden maken met daarin de benodigde codes en deze bestanden uploaden via de API of webinterface van uw persoonlijke account.

Het XSD-schema kan worden gedownload in de “help”-sectie van de ChZ LC.

Houd rekening met de volgende punten.

  1. Xsd-schema's in LC ChZ bevatten fouten in de TIN-validatie en beperkingen op de lijnlengte. Pas na het corrigeren van fouten kunt u de diagrammen gebruiken. Gelukkig zijn de fouten duidelijk, dus dit is niet moeilijk om te doen.
  2. Het schema bestaat meestal uit twee delen: gemeenschappelijk voor alle soorten documenten en afzonderlijk voor een specifiek type. Het algemene schema wordt via import toegevoegd aan het specifieke schema. Beide diagrammen zijn geplaatst in de helpsectie van de ChZ LC.
  3. De escape-regels voor CM wijken af ​​van de algemeen aanvaarde regels voor XML, dit staat geschreven in de officiële documentatie van ChZ, let hier op. Hier hier Alle regels staan ​​op pagina 4.
  4. Probeer niet in één bestand 150 codes in omloop te brengen. Volgens ooggetuigen worden doorgaans dossiers van ruim 000 doorgespeeld.
  5. Een XML-bestand kan worden ingepakt met de foutmelding ‘xml-validatiefout’, en vijf minuten later kan hetzelfde bestand zonder problemen worden geaccepteerd.
  6. Als het bestand een code bevat die al in omloop is gebracht, dan zal het in omloop gebrachte bestand hoogstwaarschijnlijk niet worden geaccepteerd.
  7. Verzend- en ontvangstdocumenten worden als tijdelijke oplossing gebruikt. In de toekomst zijn ze van plan deze af te schaffen en over te stappen op UPD in overeenstemming met PPR 860.
  8. De mythe over 60 dagen. Er is een mening dat codes die niet in omloop worden gebracht na 60 dagen “opbranden”. Dit is een mythe, bron onbekend. Codes vervallen alleen als u ze niet binnen 60 dagen uit het controlesysteem heeft opgehaald. De levensduur van verzamelde codes is onbeperkt.

Conclusie

Bij het ontwikkelen van mijn gratis etiketteerapplicatie BarCodesFX werd in eerste instantie een integratie met de CPS API gemaakt. Toen een eerlijk teken voor de tweede keer onverwacht de logica van de API veranderde, moest de integratie gestaakt worden. Ik hoop dat ChZ in de toekomst de ontwikkeling en API kan stabiliseren, omdat Voor een niet-commercieel product is het voor mij erg kostbaar om elke dag nogmaals te controleren of er wijzigingen in de API zijn doorgevoerd en deze meteen te verbeteren.

Lees bij het implementeren van markeringen zorgvuldig de wettelijke documentatie voor uw TG-productgroep, druk GS1-DataMatrix correct af en wees voorbereid op eventuele onvoorziene wijzigingen aan de kant van het eerlijke ChZ-keurmerk.

De Fort Alliance heeft een informatieruimte gecreëerd (wiki, chatrooms in telegram, seminars, webinars), waar u nuttige en relevante informatie kunt vinden over etikettering in alle sectoren.

Bron: www.habr.com

Voeg een reactie