DataMatrix eller hur man korrekt mÀrker skor

Sedan 1 juli 2019 trÀdde obligatorisk mÀrkning av en viss varugrupp i kraft i Ryssland. FrÄn och med den 1 mars 2020 skulle skorna omfattas av denna lag. Inte alla hanterade att förbereda sig i tid, och dÀrför sköts lanseringen fram till den 1 juli. Lamoda Àr en av dem som lyckades.

DÀrför vill vi dela med oss av erfarenheter till dem som Ànnu mÄste mÀrka klÀder, dÀck, parfymer osv. Artikeln beskriver en rad branschstandarder, viss lagstiftning och personlig erfarenhet. Artikeln Àr frÀmst avsedd för integratörer och utvecklare som just ska börja sÀtta sig in i detta projekt.

DataMatrix eller hur man korrekt mÀrker skor

Observera att den regulatoriska grunden ofta förÀndras, och författaren har inte möjlighet att stÀndigt uppdatera materialet. DÀrför kan en del information redan vara förÄldrad vid tidpunkten för lÀsningen.

Den personliga erfarenheten har författaren fÄtt bÄde genom arbetet inom Datamatrix-projektet pÄ Lamoda och genom utveckling av den egna gratisapplikationen för mÀrkning, BarCodesFx.

Sedan 1 juli 2019 gÀller lagen om obligatorisk mÀrkning i Ryssland. Lagen omfattar inte alla varugrupper, och tidsfristerna för obligatorisk mÀrkning för varugrupper skiljer sig Ät. Just nu omfattar obligatorisk mÀrkning tobaksprodukter, pÀlsar, skor och lÀkemedel. Snart kommer det att införas för dÀck, klÀder, parfymer och cyklar. Varje varugrupp regleras av ett sÀrskilt regeringsbeslut (PPR). DÀrför kan vissa uttalanden som Àr sanna för skor vara felaktiga för andra varugrupper. Men man kan hoppas att de tekniska aspekterna inte kommer att variera mycket mellan olika varugrupper.

MÀrkningHuvudidén bakom mÀrkningen Àr att varje enskild produkt fÄr ett unikt nummer. Med detta nummer kan man spÄra historien för just den produkten frÄn produktion eller import till landet, fram till dess att den sÀljs i kassan. Det lÄter bra, men Àr oerhört svÄrt att genomföra i praktiken. Mer om konceptet beskrivs pÄ den officiella hemsidan för den Àrliga mÀrkningen.

AllmÀnt accepterade termer och begrepp

UOT — deltagare i varucirkulationen.
CRPT — centrum för utveckling av framtida teknologier. Ett privat företag, den enda statliga leverantören för mĂ€rkningsprojektet. Verkar enligt en modell för offentlig-privat partnerskap (PPP). TyvĂ€rr finns det ingen information om andra deltagare i anbudet för projektet, liksom om sjĂ€lva anbudet.
TG — varugrupp. Skor, klĂ€der, dĂ€ck, etc.
GTIN — i princip, artikelnummer med avseende pĂ„ fĂ€rg-storlek. UtfĂ€rdas i GS1 eller nationella katalogen för varje importör eller tillverkare av deras produkt. Först mĂ„ste tillverkaren eller importören beskriva denna produkt.
PPR — föreskrift frĂ„n den ryska regeringen. För skor — 860.
KM — mĂ€rkningkod. En unik uppsĂ€ttning tecken som tilldelas en specifik produkt. För skor bestĂ„r den av GTIN, serienummer, kontrollkod och kryptotail.
GS1 — en internationell organisation som utfĂ€rdar GTIN. OcksĂ„ utarbetare av en rad standarder för mĂ€rkning.
Nationell katalog — motsvarighet till GS1, utvecklad av CRPT.
Kryptotail — motsvarighet till digitalt signatur som bekrĂ€ftar lagligheten av KM. MĂ„ste finnas i datamatrixen pĂ„ mĂ€rkningen. Förvaring i textformat Ă€r förbjuden. Efter utskrift av mĂ€rkningen mĂ„ste den tas bort enligt avtalet med CRPT. Ingen kĂ€nd fall av verklig anvĂ€ndning.
SUZ — system för bestĂ€llning av mĂ€rkningar (KM). Ett system dĂ€r KM bestĂ€lls för produkten.
EDO — elektronisk dokumenthantering.
UKEP — förstĂ€rkt kvalificerad elektronisk signatur.

Termer och begrepp inom ramen för denna artikel

CZ — Ă€rlig mĂ€rkning.
LK — personligt konto.
MĂ€rkning — tryckt mĂ€rkningkod.

Processen ser ut som följande: först utfÀrdar deltagaren (UOT) en elektronisk signatur (UKEP), registrerar sig i den Àrliga mÀrkningen (CZ), beskriver produkten i den nationella katalogen eller GS1, fÄr GTIN för produkten. PÄ webbplatsen för den Àrliga mÀrkningen Àr dessa steg detaljerat beskrivna, sÄ vi kommer inte att stanna vid dem.

BestÀllning och mottagning av koder

Efter mottagandet av GTIN gör deltagaren (UOT) en bestÀllning av koder (KM) i systemet SUZ.
Viktigt, men inte uppenbart.

  1. I en bestÀllning kan man begÀra koder för högst 10 GTIN. I princip en otydlig begrÀnsning. En importör med 14 000 GTIN mÄste skapa 1400 bestÀllningar.
  2. I en bestÀllning kan man begÀra högst 150 000 koder.
  3. Det finns en begrÀnsning pÄ 100 bestÀllningar i arbete. Det betyder att högst 100 bestÀllningar kan behandlas samtidigt. Om det finns fler Àn 100 börjar API:et returnera ett fel istÀllet för listan över bestÀllningar. Det enda sÀttet att ÄtgÀrda detta fel Àr att stÀnga vissa bestÀllningar via webbgrÀnssnittet. API:et har ingen parameter för delvis visning av bestÀllningar.
  4. Det finns en grĂ€ns för antalet förfrĂ„gningar – högst 10 anrop per sekund. Enligt mina uppgifter nĂ€mns inte denna begrĂ€nsning i dokumenten, men den finns.

UtifrÄn min personliga erfarenhet av att arbeta med bestÀllningar av iOS-identifieringskoder via systemet SUZ API.

  1. BegÀran (json) mÄste signeras med GOST-signatur. Detta innebÀr arbete med kryptopro. Man mÄste vara noga med att den anvÀnda ramverket eller biblioteket inte Àndrar den ursprungliga json med ett enda byte. Annars slutar signaturen att vara giltig direkt.
  2. BestÀllningssignatur. En bestÀllning kan signeras med vilken signatur som helst, frÄn vilken klient som helst. Om signaturen Àr giltig kommer systemet SUZ att acceptera den. Vid integration har jag lyckats signera en begÀran med en annan signatur som utfÀrdats av en testcertifieringsmyndighet. Den operativa SUZ-konturen behandlade bestÀllningen och utfÀrdade koder. Enligt min mening Àr detta en sÀkerhetsbrist. Utvecklarna reagerade pÄ buggrapporten med 'vi ska undersöka det'. Jag hoppas att de har ÄtgÀrdat det.

    DÀrför Àr det extremt viktigt att vara försiktig om mer Àn en juridisk enhet arbetar pÄ en och samma arbetsplats. Idag kommer SUZ att acceptera dessa förfrÄgningar, men imorgon kommer förfrÄgningarna att kontrolleras och hÀlften av koderna Äterkallas pÄ grund av en frÀmmande signatur. Formellt sett kommer de att ha rÀtt.

  3. Automatisk signering av bestÀllningar Àr inte lÀngre tillgÀnglig i SUZ. För dess funktionalitet krÀvdes det att ladda upp den privata delen av nyckeln i den personliga portalen för den Àrliga signaturen. Detta Àr en kompromettering av nyckeln. Enligt nuvarande lagstiftning ska Àgaren informera sin certifieringsmyndighet (CA) och Äterkalla den kvalificerade elektroniska signaturen (QES) om den kommit i orÀtta hÀnder. Om denna funktionalitet ska Äterinföras, se till att den privata delen av nyckeln inte lÀmnar datorn.
  4. I februari införde centrumet för utveckling av lovande teknologier (ЩРПб) tyst ett begrĂ€nsning av antalet förfrĂ„gningar till API för SUZ. Inte mer Ă€n en förfrĂ„gan per sekund. Sedan avskaffades denna begrĂ€nsning lika plötsligt och tyst. DĂ€rför rekommenderar jag att bygga in möjlighet i systemet att begrĂ€nsa antalet förfrĂ„gningar till API för ЩРПб ifall det skulle intrĂ€ffa igen. Just nu finns det information om en grĂ€ns pĂ„ 10 förfrĂ„gningar per sekund.
  5. Även i februari förĂ€ndrades beteendet hos API för SUZ utan förvarning. I API:t finns det en begĂ€ran för att fĂ„ status pĂ„ bestĂ€llningar. Statusen angav buffrar och deras tillstĂ„nd. En GTIN = en buffer. DĂ€r angavs Ă€ven hur mĂ„nga koder som fanns tillgĂ€ngliga för att hĂ€mta frĂ„n bufferten. En dag blev antalet för alla buffrar -1. Man var tvungen att frĂ„ga tillstĂ„ndet för varje buffer separat via en annan metod. IstĂ€llet för en förfrĂ„gan fick man göra elva.

Strukturen av koder

SÄ, koderna har bestÀllts och genererats. De kan hÀmtas via API i textformat, i pdf som etiketter för utskrift och som csv-fil med text.

API:t har redan nÀmnts ovan. NÀr det gÀller de tvÄ andra alternativen. Ursprungligen tillÀt SUZ att hÀmta koder endast en gÄng. Om en pdf-fil hÀmtades kunde koderna i textformat endast erhÄllas genom att skanna alla datamatrixar frÄn pdf. Som tur var, lade man till möjligheten att hÀmta koder flera gÄnger, och detta problem löstes. Inom tvÄ dagar Àr koderna fortfarande tillgÀngliga för nedladdning.

Om du hÀmtar i csv-format, öppna aldrig, under nÄgra omstÀndigheter, det i Excel. Och tillÄt ingen annan att göra det. I Excel finns det en autospara-funktion. Vid sparande kan Excel pÄ de mest oförutsÀgbara sÀtten Àndra dina koder. Jag rekommenderar att anvÀnda notepad++ för att visa koderna.

Om du öppnar filen frÄn SUZ i notepad++, kan du se rader av detta slag. Den tredje koden Àr ogiltig (den saknar GS-avskiljare).

DataMatrix eller hur man korrekt mÀrker skor

Partners har skickat oss koder för mĂ€rkning av sina produkter. Det Ă€r tydligt att vilka filer som har skapats med hjĂ€lp av Excel — upp till 5% av koderna var ogiltiga.

Jag rekommenderar starkt att lÀsa om standarder GS1. I beskrivningen av standarden finns svar pÄ mÄnga frÄgor om skapande av DataMatrix.

Identifier-koden bestÄr av GTIN och serienummer. Enligt GS1-standarden motsvarar de tillÀmpningsidentifiera (TI) 01 och 21. Observera att tillÀmpningsidentifiera inte Àr en del av GTIN och serienummer. De anger att GTIN eller serienummer följer efter tillÀmpningsidentifieraren (TI). Detta Àr sÀrskilt viktigt vid programmering av kassasystem. För att fylla i taggen 1162 behövs just GTIN och serienummer, utan tillÀmpningsidentifiera.

För UTD (universalöverföringsdokument) och andra dokument krÀvs Ä sin sida oftast en fullstÀndig post med tillÀmpningsidentifiera.

DataMatrix eller hur man korrekt mÀrker skor

I GS1-standarden anges att GTIN har en fast lÀngd pÄ 14 tecken och endast kan bestÄ av siffror. Serienumret har variabel lÀngd och beskrivs pÄ sida 155 av standarden. DÀr finns ocksÄ en hÀnvisning till en tabell med tecken som kan förekomma i serienumret.

Eftersom serienumret har variabel lÀngd indikerar GS-avskiljaren dess slut. I ASCII-tabellen Àr den kod 29. Utan denna avskiljare förstÄr inget program nÀr serienumret avslutades och andra datagrupper började.

Mer information om mĂ€rkningkoden (ЀК) kan lĂ€sas i den officiella dokumentationen.

För skor Àr serienumret faststÀllt till 13 tecken, men dess storlek kan Àndras nÀr som helst. För andra produktgrupper (PG) kan lÀngden pÄ serienumret variera.

Generering av DataMatrix

DataMatrix eller hur man korrekt mÀrker skor

NÀsta steg Àr att konvertera data till DataMatrix-kod. I den ryska regeringens förordning 860 anges en GOST som anger hur DataMatrix ska bildas. I samma förordning anges att anvÀndningen av tillÀmpningsidentifierare Àr obligatorisk. Observera att termen 'tillÀmpningsidentifierare' inte finns i DataMatrix-standarden. De finns endast i GS1 DataMatrix-standarden. Det innebÀr att förordning 860 implicit krÀver anvÀndning av just GS1 DataMatrix. Lyckligtvis liknar standarderna varandra. Huvudskillnaden: i GS1 DataMatrix mÄste den första symbolen vara FNC1. GS-symbolen fÄr inte stÄ först i DataMatrix, bara FNC1.

FNC1 kan inte helt enkelt lÀggas till i strÀngen som GS. Den mÄste lÀgga till av programmet som genererar DataMatrix. PÄ Allians Fortas resurser finns flera mobilapplikationersom kan anvÀndas för att kontrollera korrektheten av de genererade DataMatrix-koderna.

Viktigt. Appen Ärlig Tecken accepterar ogiltiga DataMatrix. Även QR-koder. Det faktum att varumĂ€rket har identifierats och informationen om produkten har visats betyder inte att DataMatrix Ă€r korrekt genererad. Även med ett utbytt kryptosvans identifierade appen ÄT varumĂ€rket och visade produktdata.

Senare slĂ€ppte ÄT en förklaring, om hur man korrekt genererar koder. PĂ„ grund av det stora antalet koder med fel erkĂ€nde de koder utan FNC1 som giltiga, men rekommenderade trots allt att generera GS-1 DataMatrix.

TyvĂ€rr kom en ganska stor andel av DataMatrix frĂ„n partner med fel. Tack vare förklaringarna frĂ„n ÄT löstes frĂ„gan helt "Kan man sĂ€lja en sĂ„dan produkt efter den 1 juli eller inte?" Spoiler — det kan man.

Utskrift

Observera hur mÀrken skrivs ut. Vid utskrift pÄ termiska skrivare bleknar mÀrket snabbt, och denna produkt kan inte lÀngre sÀljas. Ett olÀsligt mÀrke Àr en övertrÀdelse av PPR 860. Det leder till konfiskering av produkten, böter, och straffansvar.

AnvĂ€nd termotransferutskrift. I det hĂ€r fallet Ă€r mĂ€rket inte sĂ„ utsatt för blekning. Även etikettens material avgör hur mycket mĂ€rket Ă€r utsatt för mekaniska skador. Om koden inte kan lĂ€sas pĂ„ grund av mekanisk skada Ă€r det detsamma som att vara utan mĂ€rke med alla följder som det innebĂ€r.

DataMatrix eller hur man korrekt mÀrker skor

VÀlj skrivare utifrÄn de planerade utskriftsvolymerna. Skrivare för skrivbord Àr inte avsedda för att skriva ut 100 000 etiketter per dag.

Stopp och start av utskrift ökar slitaget pÄ skrivaren. Vissa program skickar utskriftsuppdrag en etikett i taget. Det Àr bÀttre att inte anvÀnda sÄdana program.

Arbete med dokument

NĂ€r mĂ€rkena har skrivits ut och klistrats fast, sker alla ytterligare operationer med dem via dokument eller Ärlig Teckens personliga konto.

Vid hantering av ett stort antal koder kan man skapa xml-filer med de nödvÀndiga koderna och ladda upp dessa filer via API eller webbgrÀnssnittet för det personliga kontot.

XSD-schemat kan laddas ner i avsnittet "hjĂ€lp" i ÄT:s personliga konto.

Observera följande punkter.

  1. XSD-scheman i ÄT:s personliga konto innehĂ„ller valideringsfel i INN och begrĂ€nsningar pĂ„ strĂ€nglĂ€ngden. Endast genom att rĂ€tta till felen kan scheman anvĂ€ndas. Lyckligtvis Ă€r felen uppenbara, sĂ„ det Ă€r inte svĂ„rt att göra detta.
  2. Schemat bestĂ„r oftast av tvĂ„ delar — en gemensam för alla dokumenttyper och en separat för den specifika typen. Den gemensamma schemat lĂ€ggs till genom import i den specifika. BĂ„da schemana finns i hjĂ€lpavsnittet i Konto för TjĂ€nsteleverantör.
  3. Reglerna för escaping för KMs skiljer sig frÄn de allmÀnt accepterade för XML, detta Àr beskrivet i den officiella dokumentationen frÄn TjÀnsteleverantör, var vÀnlig notera detta. HÀr Àr hÀr pÄ sidan 4, alla regler.
  4. Försök inte att registrera 150 000 koder i omlopp med en enda fil. Enligt vittnen passerar filer med över 30 000 vanligtvis..
  5. XML-filen kan returneras med felmeddelandet "XML-valideringsfel", och fem minuter senare accepteras samma fil utan problem.
  6. Om filen innehÄller en kod som redan har registrerats, kommer filen sannolikt inte att accepteras för registrering.
  7. Fraktdokument och mottagningsdokument anvÀnds som en tillfÀllig lösning. I framtiden planeras de att avskaffas och övergÄ till UPP enligt PPR 860.
  8. Myten om 60 dagar. Det finns en uppfattning om att koder som inte registrerats "utslocknar" efter 60 dagar. Detta Àr en myt, kÀllan Àr okÀnd. Koder "utslocknar" endast om du inte har hÀmtat dem frÄn SUZ inom 60 dagar. LivslÀngden för hÀmtade koder Àr obegrÀnsad.

Slutsats

Vid utvecklingen av min kostnadsfria applikation för mĂ€rkning BarCodesFX gjordes det ursprungligen en integration med SUZ:s API. NĂ€r den Ärliga Symbolen plötsligt Ă€ndrade API-logiken en andra gĂ„ng, fick vi överge integrationen. Jag hoppas att TjĂ€nsteleverantör i framtiden kan stabilisera utvecklingen och API:t, eftersom det Ă€r mycket kostsamt för mig som icke-kommersiell produkt att varje dag kontrollera om nĂ„gon förĂ€ndring har skett i API:t och snabbt modifiera.

Vid implementeringen av mĂ€rkningen, bekanta dig noggrant med de normerande dokumenten för din varugrupp TG, skriv ut GS1-DataMatrix korrekt och var beredd pĂ„ alla ovĂ€ntade förĂ€ndringar frĂ„n den Ärliga Symbolen.

Fort Alliance har skapat ett informationsutrymme (wiki, chattar i Telegram, seminarier, webbinarier), dÀr du kan hitta anvÀndbar och aktuell information om mÀrkning inom alla branscher.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster