DataMatrix eller hvordan man mærker sko korrekt

Fra 1. juli 2019 blev obligatorisk mærkning af en gruppe varer indført i Rusland. Fra 1. marts 2020 skulle sko være omfattet af denne lov. Ikke alle havde tid til at forberede sig, og som følge heraf blev lanceringen udskudt til 1. juli. Lamoda er blandt dem, der har lavet den.

Derfor vil vi gerne dele vores erfaring med dem, der endnu ikke har mærket tøj, dæk, parfume mv. Artiklen beskriver en række industristandarder, en del regulatorisk dokumentation og personlig erfaring. Artiklen er primært beregnet til integratorer og udviklere, som endnu ikke har forstået dette projekt.

DataMatrix eller hvordan man mærker sko korrekt

Bemærk venligst, at reglerne ofte ændres, og det er ikke muligt for forfatteren løbende at opdatere materialet. Derfor, når du læser det, kan nogle af oplysningerne allerede være forældede.

Forfatteren fik personlig erfaring både som en del af arbejdet med Datamatrix-projektet i Lamoda, og da han udviklede sin egen gratis mærkningsapplikation BarCodesFx.

Siden 1. juli 2019 har en lov om obligatorisk mærkning været i kraft i Rusland. Loven gælder ikke for alle varegrupper, og datoerne for ikrafttræden af ​​obligatorisk mærkning for varegrupper varierer. I øjeblikket er tobak, pelsfrakker, sko og medicin underlagt obligatorisk mærkning. Vil snart blive introduceret for dæk, tøj, parfume og cykler. Hver gruppe af varer er reguleret af en separat regeringsbeslutning (GPR). Derfor er nogle udsagn, der er sande for sko, muligvis ikke sande for andre produktgrupper. Men vi kan håbe, at den tekniske komponent ikke vil variere meget for forskellige produktgrupper.

mærkningHovedideen med mærkning er, at hver enhed af varer tildeles et individuelt nummer. Ved hjælp af dette nummer kan du spore historikken for en bestemt vare fra produktions- eller importtidspunktet til landet, indtil bortskaffelsestidspunktet ved kassen. Det lyder smukt, men i praksis er det ekstremt svært at implementere.Konceptet er beskrevet mere detaljeret på det ærlige tegns officielle hjemmeside.

Fælles udtryk og begreber

UOT - deltager i varecirkulationen.
CRPT — Center for udvikling af lovende teknologier. Privat virksomhed, den eneste stat entreprenør for mærkningsprojektet. Det opererer under en offentlig-privat partnerskabsordning (OPP). Der er desværre ingen oplysninger om øvrige deltagere i udbuddet af projektet, samt om selve udbuddet.
TG - produktgruppe. Sko, tøj, dæk mv.
GTIN - i det væsentlige en artikel, der tager hensyn til farve og størrelse. Udstedt i GS1 eller det nationale katalog for hver importør eller producent for sit produkt. Producenten eller importøren skal først beskrive produktet.
PPR - Dekret fra Den Russiske Føderations regering. Til sko - 860.
КМ — mærkningskode. Et unikt sæt tegn, der er tildelt en specifik produktvare. For sko består den af ​​et GTIN, serienummer, verifikationskode og krypto-hale.
GS1 er en international organisation, der udsteder GTIN'er. De er også kompilatorer af en række mærkningsstandarder.
Nationalt katalog - en analog af GS1, udviklet af CRPT.
Kryptohale - en analog til en digital signatur, der bekræfter lovligheden af ​​CM. Skal være i datamatrixen på stemplet. Opbevaring i tekstform er forbudt. Efter udskrivning skal stemplerne fjernes i henhold til aftale med CRPT. Der er ingen kendte tilfælde af faktisk brug.
CPS — ordrestyringsstation. Systemet, hvori KM'er for varer bestilles.
EDI - elektronisk dokumenthåndtering.
UKEP — forbedret kvalificeret elektronisk signatur.

Begreber og begreber inden for rammerne af denne artikel

ЧЗ - et ærligt tegn.
LC - Personligt område.
Mark — trykt mærkekode.

Processen er som følger: For det første udsteder deltageren (UOT) en elektronisk signatur (UKEP), registrerer sig i et ærligt mærke (CH), beskriver produktet i det nationale katalog eller GS1 og modtager GTIN'er for produktet. Disse trin er beskrevet detaljeret på webstedet for ærlige tegn, så vi vil ikke dvæle ved dem.

Bestilling og modtagelse af koder

Efter at have modtaget GTIN'er afgiver deltageren (UOT) en ordre på koder (KM) i CPS-systemet.
Vigtigt, men ikke indlysende.

  1. Du kan anmode om koder for maksimalt 10 GTIN'er i én ordre. I princippet en uforståelig begrænsning. En importør med 14 GTIN'er skal oprette 000 ordrer.
  2. Der kan maksimalt anmodes om 150 koder pr. ordre.
  3. Der er en grænse på 100 ordrer i gang. Det vil sige, at der ikke kan behandles mere end 100 ordrer på samme tid. Hvis der er mere end 100, begynder API'en at returnere en fejl i stedet for en liste over ordrer. Den eneste måde at rette denne fejl på er at lukke nogle ordrer via webgrænsefladen. API'en giver ikke en parameter til delvis visning af ordrer.
  4. Der er en begrænsning på antallet af anmodninger - ikke mere end 10 anmodninger i sekundet. Ifølge mine oplysninger fremgår denne begrænsning ikke i dokumenterne, men den eksisterer.

Fra personlig erfaring med at arbejde med ordrer af KM-mærkekoder gennem CPS-systemets API.

  1. Anmodningen (selve json'en) skal underskrives med en GOST-signatur. Dette arbejder med kryptopro. Du skal omhyggeligt sikre, at det anvendte framework eller bibliotek ikke ændrer den originale json, selv med en byte. I modsat fald ophører underskriften med at være gyldig.
  2. Ordre signatur. Ordren kan underskrives af enhver klients underskrift. Hvis signaturen er gyldig, accepterer CPS-systemet den. Under integrationen var det muligt at underskrive anmodningen med en andens underskrift udstedt på test-CA. Kontrolsystemets kampkredsløb behandlede ordren og udstedte koder. Efter min mening er dette et sikkerhedshul. Udviklerne svarede på fejlrapporten med "vi får se." Jeg håber det er rettet.

    Vær derfor yderst forsigtig, hvis mere end én juridisk enhed arbejder på én arbejdsplads. ansigter. I dag vil CPS acceptere disse anmodninger, og i morgen vil anmodningerne blive kontrolleret igen, og halvdelen af ​​koderne vil blive tilbagekaldt på grund af en andens underskrift. Og i princippet vil de formelt have ret.

  3. Autosignering af ordrer er en funktionalitet, som ikke længere er tilgængelig i KMS. For at det kunne fungere, var det nødvendigt at uploade den private del af nøglen i den personlige konto for det ærlige tegn. Dette er et nøglekompromis. Og ifølge gældende lovgivning skal ejeren i tilfælde af kompromittering af en forbedret kvalificeret elektronisk signatur informere sit certificeringscenter (CA) og tilbagekalde ECEP. Hvis denne funktionalitet returneres, skal du være omhyggelig med at sikre, at den private del af nøglen ikke forlader computeren.
  4. I februar indførte Center for Udvikling af Avancerede Teknologier (CRPT) stille en grænse for antallet af anmodninger til CPS API. Ikke mere end én anmodning pr. sekund. Så ophævede han lige så uventet og lydløst denne begrænsning. Derfor anbefaler jeg, at systemet indbygges i muligheden for at begrænse antallet af anmodninger til CRPT API i tilfælde af tilbagefald. Nu er der information om en grænse på 10 anmodninger i sekundet.
  5. Også i februar ændrede adfærden af ​​CPS API'en sig markant uden varsel. API'et har en anmodning om at få status for ordrer. Status indikerede bufferne og deres status. Ét GTIN = én buffer. Det indikerede også, hvor mange koder der var tilgængelige at modtage fra bufferen. En skønne dag blev antallet af alle buffere -1. Jeg var nødt til at bruge en separat metode til at forespørge om status for hver buffer separat. I stedet for én anmodning måtte jeg fremsætte elleve.

Kode struktur

Så koderne er blevet bestilt og genereret. De kan fås via API'et i tekstform, i pdf som labels til print og som csv-fil med tekst.

API'et er allerede skrevet ovenfor. Hvad angår de to andre metoder. I starten tillod kontrolsystemet dig kun at indsamle koder én gang. Og hvis der blev taget en pdf-fil, var det kun muligt at få koderne i tekstform ved at genscanne alle datamatricerne fra pdf'en. Heldigvis tilføjede de muligheden for at indsamle koder flere gange, og dette problem blev løst. Koderne er stadig tilgængelige til gendownload inden for to dage.

Hvis du tager det i csv-format, så skal du aldrig under nogen omstændigheder åbne det i Excel. Og lad ikke nogen. Excel har en automatisk lagringsfunktion. På tidspunktet for lagring kan Excel ændre dine koder på de mest uforudsigelige måder. Jeg anbefaler at bruge notesblok++ til at se koderne.

Hvis du åbner en fil fra CMS'et i notepad++, kan du se linjer som denne. Den tredje kode er ugyldig (den har ikke GS-afgrænsere).

DataMatrix eller hvordan man mærker sko korrekt

Vores partnere gav os koder til at mærke deres produkter. Det blotte øje kan se, hvilke filer der blev genereret ved hjælp af Excel - op til 5% af koderne var ugyldige.

Jeg kan varmt anbefale at læse om standarder GS1. Beskrivelsen af ​​standarden indeholder svar på mange spørgsmål vedrørende dannelsen af ​​DataMatrix.

Identifikationskoden består af et GTIN og et serienummer. Ifølge GS1-standarden svarer disse til Application Identifiers (AI) 01 og 21. Bemærk venligst, at Application Identifiers ikke er en del af GTIN og serienummer. De angiver, at applikationsidentifikatoren (UI) er efterfulgt af et GTIN eller serienummer. Dette er især vigtigt ved programmering af kassesoftware. For at udfylde tag 1162 behøver du kun GTIN og serienummer uden applikations-id'er.

For UTD (universal transfer document) og andre dokumenter har du tværtimod oftest brug for hele posten med applikationsidentifikatorer.

DataMatrix eller hvordan man mærker sko korrekt

GS1-standarden siger, at GTIN'et har en fast længde på 14 tegn og kun kan bestå af tal. Serienummeret har en variabel længde og er beskrevet på side 155 i standarden. Der er også et link til en tabel med symboler, der kan forekomme i serienummeret.

Da serienummeret har en variabel længde, angiver GS-separatoren slutningen af ​​serienummeret. I ASCII-tabellen har den kode 29. Uden denne separator vil intet program forstå, hvornår serienummeret sluttede og andre datagrupper begyndte.

Flere detaljer om mærkningskoden (KM) kan findes i officiel dokumentation.

For sko er serienummeret fastsat til 13 tegn, dog kan størrelsen ændres til enhver tid. For andre produktgrupper (TG) kan længden af ​​serienummeret afvige.

DataMatrix Generering

DataMatrix eller hvordan man mærker sko korrekt

Det næste trin er at konvertere dataene til DataMatrix-kode. Russisk regeringsdekret 860 specificerer GOST, ifølge hvilken det er nødvendigt at oprette en DataMatrix. PPR 860 specificerer også den obligatoriske brug af applikationsidentifikatorer. Bemærk venligst, at DataMatrix-standarden ikke har begrebet "applikationsidentifikatorer". De er kun tilgængelige i GS-1 DataMatrix-standarden. Det viser sig, at PPR 860 implicit forpligter brugen af ​​GS-1 DataMatrix. Heldigvis er standarderne ens. Nøgleforskel: I GS-1 DataMatrix skal det første tegn være FNC1. GS-symbolet bør ikke vises først i DataMatrix, kun FNC1.

FNC1 kan ikke bare tilføjes til linjen som GS. Det skal tilføjes af programmet, der genererer DataMatrix. Der er flere opslået på Alliance Forts ressourcer mobile applikationer, hvormed du kan kontrollere rigtigheden af ​​de genererede DataMatrix-koder.

Det er vigtigt. Den ærlige tegnapplikation accepterer en ugyldig DataMatrix. Selv QR-koder. Det faktum, at mærket blev anerkendt, og produktinformation blev vist, indikerer ikke, at DataMatrix er dannet korrekt. Selv når krypto-halen blev udskiftet, genkendte ChZ-applikationen mærket og viste data om produktet.

Senere blev ChZ udgivet forklaring, hvordan man genererer koder korrekt. På grund af det store antal koder med fejl, genkendte de koder uden FNC1 som gyldige, men anbefaler stadig at generere en GS-1 DataMatrix.

Desværre kom en ret stor procentdel af datamatricer fra partnere med fejl. Takket være forklaringerne fra ChZ blev spørgsmålet "Er det muligt at handle et sådant produkt efter 1. juli eller ej?" fuldstændig løst. Spoiler - du kan.

print

Vær opmærksom på den måde, frimærkerne udskrives på. Når det printes på en termoprinter, falmer stemplet hurtigt, og produktet kan ikke længere sælges. Et ulæseligt stempel er en overtrædelse af PPR 860. Dette fører til beslaglæggelse af varer, bøder og strafansvar.

Brug termisk transferprint. I dette tilfælde er mærket ikke så modtageligt for falmning. Etiketmaterialet bestemmer også, hvor modtageligt mærket er over for mekaniske skader. Hvis koden ikke kan læses på grund af mekanisk skade, er det ensbetydende med fravær af et mærke med alle de deraf følgende konsekvenser.

DataMatrix eller hvordan man mærker sko korrekt

Vælg en printer fra dine planlagte udskriftsmængder. Desktopprintere er ikke designet til at udskrive 100 etiketter om dagen.

Stop og start af udskrivning øger slid på printeren. Nogle programmer sender et udskriftsjob én etiket ad gangen. Det er bedre ikke at bruge sådanne programmer.

Arbejde med dokumenter

Efter at frimærkerne er printet og indsat, foregår alle yderligere transaktioner med dem gennem dokumenter eller den personlige konto for det ærlige tegn.

Når du arbejder med et stort antal koder, kan du oprette xml-filer, der indeholder de nødvendige koder, og uploade disse filer via API'en eller webgrænsefladen på din personlige konto.

XSD-skemaet kan downloades i "hjælp"-sektionen på ChZ LC.

Bemærk venligst følgende punkter.

  1. Xsd-skemaer i LC ChZ indeholder fejl i TIN-validering og begrænsninger på linjelængde. Først efter at have rettet fejl, kan du bruge diagrammerne. Heldigvis er fejlene åbenlyse, så det er ikke svært at gøre.
  2. Ordningen består oftest af to dele - fælles for alle typer dokumenter og adskilt for en bestemt type. Det generelle skema tilføjes gennem import til det specifikke. Begge diagrammer er placeret i hjælpesektionen i ChZ LC.
  3. Escape-reglerne for CM adskiller sig fra dem, der generelt er accepteret for XML, dette er skrevet i den officielle dokumentation fra ChZ, vær opmærksom på dette. Her her Alle regler er på side 4.
  4. Du bør ikke forsøge at indtaste 150 koder i omløb i én fil. Ifølge øjenvidner bliver der sædvanligvis sendt filer på mere end 000.
  5. En Xml-fil kan pakkes med fejlen "xml validation error", og fem minutter senere kan den samme fil accepteres uden problemer.
  6. Hvis filen indeholder en kode, der allerede er sat i omløb, vil den sat i omløb højst sandsynligt ikke blive accepteret.
  7. Forsendelses- og modtagelsesdokumenter bruges som en midlertidig løsning. I fremtiden planlægger de at afskaffe dem og skifte til UPD i overensstemmelse med PPR 860.
  8. Myten om 60 dage. Der er en opfattelse af, at koder, der ikke sættes i omløb, "brænder ud" efter 60 dage. Dette er en myte, kilde ukendt. Koder udløber kun, hvis du ikke har hentet dem fra kontrolsystemet inden for 60 dage. Levetiden for indsamlede koder er ubegrænset.

Konklusion

Da jeg udviklede min gratis mærkningsapplikation BarCodesFX, blev der oprindeligt lavet integration med CPS API. Da et ærligt tegn uventet ændrede logikken i API'et for anden gang, måtte integrationen opgives. Jeg håber, at ChZ i fremtiden vil være i stand til at stabilisere udviklingen og API, fordi For et ikke-kommercielt produkt er det meget dyrt for mig at dobbelttjekke hver dag, om der er sket ændringer i API'en og prompte forbedre den.

Når du implementerer mærkninger, skal du omhyggeligt læse den lovgivningsmæssige dokumentation for din TG-produktgruppe, udskrive GS1-DataMatrix korrekt og være forberedt på eventuelle uforudsete ændringer fra det ærlige ChZ-mærkes side.

Fort Alliance har oprettet et informationsrum (wiki, chats i telegram, seminarer, webinarer), hvor du kan finde nyttig og relevant information om mærkning i alle brancher.

Kilde: www.habr.com

Tilføj en kommentar