DataMatrix ili kako pravilno označiti cipele

Od 1. srpnja 2019. u Rusiji je uvedeno obvezno označavanje skupine robe. Od 1. ožujka 2020. cipele su trebale potpadati pod ovaj zakon. Nisu svi imali vremena za pripremu, pa je zbog toga lansiranje odgođeno za 1. srpnja. Lamoda je među onima koji su to uspjeli.

Stoga želimo podijeliti svoje iskustvo s onima koji tek trebaju označiti odjeću, gume, parfeme itd. U članku se opisuje niz industrijskih standarda, neka regulatorna dokumentacija i osobno iskustvo. Članak je prvenstveno namijenjen integratorima i programerima koji će tek razumjeti ovaj projekt.

DataMatrix ili kako pravilno označiti cipele

Imajte na umu da se propisi često mijenjaju i nije moguće da autor kontinuirano ažurira materijal. Stoga, dok ga pročitate, neke od informacija mogu već biti zastarjele.

Osobna iskustva autor je stekao kako u sklopu rada na Datamatrix projektu u Lamodi, tako i prilikom razvoja vlastite besplatne aplikacije za označavanje BarCodesFx.

Od 1. srpnja 2019. u Rusiji je na snazi ​​zakon o obveznom označavanju. Zakon se ne odnosi na sve skupine robe, a datumi stupanja na snagu obveznog označavanja za skupine proizvoda variraju. Trenutno duhan, krzneni kaputi, cipele i lijekovi podliježu obveznom označavanju. Uskoro će biti predstavljen za gume, odjeću, parfeme i bicikle. Svaka skupina dobara regulirana je posebnom odlukom Vlade (GPR). Stoga, neke izjave koje su točne za cipele možda nisu točne za druge grupe proizvoda. Ali možemo se nadati da tehnička komponenta neće jako varirati za različite skupine proizvoda.

obilježavanjeGlavna ideja označavanja je da se svakoj jedinici robe dodjeljuje pojedinačni broj. Pomoću ovog broja možete pratiti povijest određene stavke robe od trenutka proizvodnje ili uvoza u zemlju, do trenutka odlaganja na blagajni. Lijepo zvuči, ali u praksi je izuzetno teško izvedivo.Koncept je detaljnije opisan na službenim stranicama poštenog znaka.

Uobičajeni pojmovi i pojmovi

UOT - sudionik u prometu robe.
CRPT — centar za razvoj perspektivnih tehnologija. Privatna firma, jedina državna izvođač radova na projektu obilježavanja. Djeluje prema shemi javno-privatnog partnerstva (JPP). O ostalim sudionicima natječaja za projekt, kao ni o samom natječaju, nažalost nema podataka.
ТГ - grupa proizvoda. Cipele, odjeća, gume itd.
GTIN - u biti, artikl uzimajući u obzir boju i veličinu. Izdaje se u GS1 ili nacionalnom katalogu za svakog uvoznika ili proizvođača za njegov proizvod. Proizvođač ili uvoznik prvo mora opisati proizvod.
PPR - Uredba Vlade Ruske Federacije. Za cipele - 860.
КМ — kod označavanja. Jedinstveni skup znakova dodijeljen određenoj stavci proizvoda. Za cipele, sastoji se od GTIN-a, serijskog broja, kontrolnog koda i kripto-repa.
GS1 je međunarodna organizacija koja izdaje GTIN-ove. Oni su također sastavljači niza standarda označavanja.
Nacionalni katalog - analog GS1, koji je razvio CRPT.
Kriptorep - analog digitalnog potpisa koji potvrđuje zakonitost CM-a. Mora biti u matrici podataka na markici. Pohrana u tekstualnom obliku je zabranjena. Nakon tiskanja žigove je potrebno ukloniti sukladno dogovoru s CRPT-om. Nema poznatih slučajeva stvarne uporabe.
CPS — stanica za upravljanje nalogom. Sustav u kojem se naručuju KM za robu.
EDI - upravljanje elektroničkim dokumentima.
UKEP — poboljšani kvalificirani elektronički potpis.

Pojmovi i pojmovi u okviru ovog članka

ЧЗ - pošten znak.
ЛК - Osobni prostor.
Mark — tiskani kod označavanja.

Proces je sljedeći: prvo sudionik (UOT) izdaje elektronički potpis (UKEP), registrira se u znak poštenja (CH), opisuje proizvod u nacionalnom katalogu ili GS1 i prima GTIN za proizvod. Ovi su koraci detaljno opisani na web stranici honest sign, pa se nećemo zadržavati na njima.

Kodovi za naručivanje i primanje

Nakon primitka GTIN-a, sudionik (UOT) vrši narudžbu kodova (KM) u CPS sustavu.
Važno, ali ne očito.

  1. Možete zatražiti kodove za najviše 10 GTIN-ova u jednoj narudžbi. U principu, neshvatljivo ograničenje. Uvoznik s 14 000 GTIN-ova mora izraditi 1400 XNUMX narudžbi.
  2. Po narudžbi se može zatražiti najviše 150 kodova.
  3. U tijeku je ograničenje od 100 narudžbi. Odnosno, ne može se obraditi više od 100 narudžbi u isto vrijeme. Ako ih ima više od 100, API će početi vraćati pogrešku umjesto popisa narudžbi. Jedini način da ispravite ovu pogrešku je da zatvorite neke naloge putem web sučelja. API ne daje parametar za djelomični prikaz naloga.
  4. Postoji ograničenje broja zahtjeva - ne više od 10 zahtjeva u sekundi. Prema mojim informacijama, to ograničenje ne stoji u dokumentima, ali postoji.

Iz osobnog iskustva rada s nalozima kodova označavanja KM kroz API CPS sustava.

  1. Zahtjev (sam json) mora biti potpisan GOST potpisom. Ovo radi s cryptopro. Morate pažljivo osigurati da okvir ili biblioteka koja se koristi ne mijenja izvorni json ni za bajt. U suprotnom, potpis odmah prestaje važiti.
  2. Potpis naloga. Nalog može biti potpisan bilo kojim potpisom bilo kojeg klijenta. Ako je potpis valjan, CPS sustav će ga prihvatiti. Tijekom integracije bilo je moguće potpisati zahtjev tuđim potpisom izdanim na testnom CA-u. Borbeni krug upravljačkog sustava obrađivao je zapovijed i izdavao kodove. Po mom mišljenju ovo je sigurnosna rupa. Programeri su na izvješće o pogrešci odgovorili s "vidjet ćemo". Nadam se da je popravljeno.

    Stoga budite iznimno oprezni ako na jednom radnom mjestu radi više od jedne pravne osobe. lica. Danas će CPS prihvatiti te zahtjeve, a sutra će se zahtjevi ponovo provjeriti i pola kodova će biti opozvano zbog tuđeg potpisa. I u principu, formalno će biti u pravu.

  3. Automatsko potpisivanje naloga je funkcija koja više nije dostupna u KMS-u. Da bi funkcionirao, bilo je potrebno prenijeti privatni dio ključa na osobni račun poštenog znaka. Ovo je kompromis ključa. A prema važećem zakonodavstvu, u slučaju kompromitacije poboljšanog kvalificiranog elektroničkog potpisa, vlasnik mora obavijestiti svoj certifikacijski centar (CA) i opozvati ECEP. Ako se ova funkcionalnost vrati, pazite da privatni dio ključa ne napusti računalo.
  4. U veljači je Centar za razvoj naprednih tehnologija (CRPT) tiho uveo ograničenje broja zahtjeva za CPS API. Ne više od jednog zahtjeva u sekundi. Zatim je, jednako neočekivano i tiho, ukinuo ovo ograničenje. Stoga preporučujem da se u sustav ugradi mogućnost ograničenja broja zahtjeva prema CRPT API-ju u slučaju recidiva. Sada postoji informacija o ograničenju od 10 zahtjeva u sekundi.
  5. Također u veljači, ponašanje CPS API-ja značajno se promijenilo bez upozorenja. API ima zahtjev za dobivanje statusa naloga. Status je označavao međuspremnike i njihov status. Jedan GTIN = jedan međuspremnik. Također pokazuje koliko je kodova dostupno za primanje iz međuspremnika. Jednog lijepog dana, broj svih međuspremnika postao je -1. Morao sam upotrijebiti zasebnu metodu za zasebno ispitivanje statusa svakog međuspremnika. Umjesto jednog zahtjeva, morao sam uputiti jedanaest.

Struktura koda

Dakle, kodovi su naručeni i generirani. Mogu se dobiti putem API-ja u tekstualnom obliku, u pdf-u kao naljepnice za ispis i kao csv datoteka s tekstom.

API je već napisan gore. Što se tiče druge dvije metode. U početku vam je sustav kontrole dopuštao prikupljanje kodova samo jednom. A ako je snimljena pdf datoteka, tada je bilo moguće dobiti kodove u tekstualnom obliku samo ponovnim skeniranjem svih matrica podataka iz pdf-a. Srećom, dodali su mogućnost skupljanja kodova nekoliko puta i ovaj problem je riješen. Kodovi su još uvijek dostupni za ponovno preuzimanje unutar dva dana.

Ako ga uzmete u csv formatu, nikada ga, ni pod kojim okolnostima, ne otvarajte u Excelu. I ne dopustite nikome. Excel ima značajku automatskog spremanja. U trenutku spremanja, Excel može modificirati vaše kodove na najnepredvidivije načine. Preporučujem korištenje notepada++ za pregled kodova.

Ako otvorite datoteku iz CMS-a u notepad++, možete vidjeti ovakve retke. Treći kod je nevažeći (nema GS razdjelnike).

DataMatrix ili kako pravilno označiti cipele

Naši su nam partneri dali šifre za označavanje njihovih proizvoda. Golim okom može se vidjeti koje su datoteke generirane pomoću Excela - do 5% kodova bilo je nevažeće.

Toplo preporučujem čitanje o standard GS1. Opis standarda sadrži odgovore na mnoga pitanja vezana uz formiranje DataMatrixa.

Identifikacijski kod sastoji se od GTIN-a i serijskog broja. Prema GS1 standardu, oni odgovaraju aplikacijskim identifikatorima (AI) 01 i 21. Imajte na umu da aplikacijski identifikatori nisu dio GTIN-a i serijskog broja. Oni pokazuju da nakon identifikatora aplikacije (UI) slijedi GTIN ili serijski broj. Ovo je posebno važno kod programiranja softvera za blagajne. Za popunjavanje oznake 1162 potrebni su vam samo GTIN i serijski broj, bez identifikatora aplikacije.

Za UTD (univerzalni prijenosni dokument) i druge dokumente, naprotiv, najčešće je potreban cijeli zapis s identifikatorima aplikacije.

DataMatrix ili kako pravilno označiti cipele

GS1 standard navodi da GTIN ima fiksnu duljinu od 14 znakova i može se sastojati samo od brojeva. Serijski broj ima promjenjivu duljinu i opisan je na stranici 155 standarda. Tu je i poveznica na tablicu sa simbolima koji se mogu pojaviti u serijskom broju.

Budući da serijski broj ima promjenjivu duljinu, GS separator označava kraj serijskog broja. U ASCII tablici ima kod 29. Bez ovog graničnika niti jedan program neće razumjeti u kojoj je točki završio serijski broj i počinjale druge grupe podataka.

Više detalja o šifri označavanja (KM) možete pronaći u službena dokumentacija.

Za cipele, serijski broj je fiksan na 13 znakova, međutim, njegova veličina se može promijeniti u bilo kojem trenutku. Za ostale grupe proizvoda (TG), duljina serijskog broja može se razlikovati.

DataMatrix Generacija

DataMatrix ili kako pravilno označiti cipele

Sljedeći korak je pretvaranje podataka u DataMatrix kod. Uredba ruske vlade 860 specificira GOST, prema kojem je potrebno izraditi DataMatrix. Također, PPR 860 navodi obveznu upotrebu identifikatora aplikacija. Imajte na umu da standard DataMatrix nema koncept "identifikatora aplikacije". Dostupni su samo u GS-1 DataMatrix standardu. Ispada da PPR 860 implicitno obvezuje korištenje GS-1 DataMatrixa. Srećom, standardi su slični. Ključna razlika: u GS-1 DataMatrixu prvi znak mora biti FNC1. Simbol GS ne bi se trebao pojaviti prvi u DataMatrixu, samo FNC1.

FNC1 se ne može tek tako dodati liniji kao GS. Mora ga dodati program koji generira DataMatrix. Nekoliko ih je objavljeno na resursima Alliance Forts mobilne aplikacije, pomoću kojeg možete provjeriti ispravnost generiranih DataMatrix kodova.

Važno je. Aplikacija poštenog znaka prihvaća nevažeći DataMatrix. Čak i QR kodovi. Činjenica da je robna marka prepoznata i da su informacije o proizvodu prikazane ne znači da je DataMatrix ispravno formiran. Čak i kada je kripto rep zamijenjen, ChZ aplikacija je prepoznala marku i prikazala podatke o proizvodu.

Kasnije je ChZ pušten obrazloženje, kako pravilno generirati kodove. Zbog velikog broja kodova s ​​pogreškama, prepoznali su kodove bez FNC1 kao valjane, ali ipak preporučuju generiranje GS-1 DataMatrixa.

Nažalost, prilično velik postotak matrica podataka od partnera došao je s pogreškama. Zahvaljujući pojašnjenjima iz ChZ-a, u potpunosti je riješeno pitanje “Može li se takav proizvod trgovati nakon 1. srpnja ili ne?”. Spoiler - možete.

otisak

Obratite pozornost na način tiskanja markica. Kod tiska na termalnom printeru pečat brzo izblijedi i proizvod se više ne može prodavati. Nečitljiv pečat predstavlja kršenje PPR 860. To dovodi do zapljene robe, novčanih kazni i kaznene odgovornosti.

Koristite termalni transfer ispis. U ovom slučaju marka nije toliko osjetljiva na blijeđenje. Materijal naljepnice također određuje koliko je marka osjetljiva na mehanička oštećenja. Ako se kod ne može pročitati zbog mehaničkog oštećenja, to je jednako odsutnosti marke sa svim posljedicama.

DataMatrix ili kako pravilno označiti cipele

Odaberite pisač iz planiranih količina ispisa. Stolni pisači nisu dizajnirani za ispis 100 naljepnica dnevno.

Zaustavljanje i pokretanje ispisa povećava trošenje i habanje pisača. Neki programi šalju ispis jednu po jednu naljepnicu. Bolje je ne koristiti takve programe.

Rad s dokumentima

Nakon što su marke otisnute i zalijepljene, sve daljnje transakcije s njima odvijaju se putem dokumenata ili osobnog računa poštenog znaka.

Kada radite s velikim brojem kodova, možete kreirati xml datoteke koje sadrže potrebne kodove i učitati te datoteke putem API-ja ili web sučelja vašeg osobnog računa.

XSD shema se može preuzeti u odjeljku "pomoć" ChZ LC.

Imajte na umu sljedeće točke.

  1. Xsd sheme u LC ChZ sadrže pogreške u provjeri valjanosti TIN-a i ograničenja duljine linije. Tek nakon ispravljanja grešaka možete koristiti dijagrame. Srećom, pogreške su očite, pa to nije teško učiniti.
  2. Shema se najčešće sastoji od dva dijela - zajedničkog za sve vrste dokumenata i zasebnog za određenu vrstu. Opća shema se uvozom dodaje u specifičnu. Oba dijagrama objavljena su u odjeljku za pomoć ChZ LC.
  3. Pravila izbjegavanja za CM razlikuju se od onih općenito prihvaćenih za XML, to je napisano u službenoj dokumentaciji ChZ-a, obratite pozornost na ovo. Ovdje здесь Sva pravila su na 4. stranici.
  4. Ne biste trebali pokušati unijeti 150 kodova u opticaj u jednoj datoteci. Prema riječima očevidaca, obično se prolaze dosjei s više od 000.
  5. Xml datoteka se može zamotati s pogreškom "xml validation error", a pet minuta kasnije ista datoteka može biti prihvaćena bez problema.
  6. Ako datoteka sadrži šifru koja je već puštena u optjecaj, tada datoteka puštena u optjecaj najvjerojatnije neće biti prihvaćena.
  7. Dokumenti za otpremu i prijem koriste se kao privremeno rješenje. U budućnosti ih planiraju ukinuti i prijeći na UPD sukladno PPR 860.
  8. Mit o 60 dana. Postoji mišljenje da kodovi koji nisu pušteni u promet "izgaraju" nakon 60 dana. Ovo je mit, nepoznat izvor. Kodovi ističu samo ako ih niste preuzeli od kontrolnog sustava unutar 60 dana. Životni vijek prikupljenih kodova je neograničen.

Zaključak

Prilikom razvoja moje besplatne aplikacije za označavanje BarCodesFX, inicijalno je napravljena integracija s CPS API-jem. Kada je pošteni znak po drugi put neočekivano promijenio logiku API-ja, integracija je morala biti napuštena. Nadam se da će u budućnosti ChZ moći stabilizirati razvoj i API, jer Za nekomercijalni proizvod jako mi je skupo svaki dan provjeravati je li došlo do promjena u API-ju i odmah ga poboljšavati.

Prilikom implementacije oznaka, pažljivo pročitajte regulatornu dokumentaciju za svoju grupu proizvoda TG, ispravno ispišite GS1-DataMatrix i budite spremni na sve nepredviđene promjene na strani poštene oznake ChZ.

Fort Alliance stvorio je informacijski prostor (wiki, chat sobe u telegramu, seminarima, webinarima), gdje možete pronaći korisne i relevantne informacije o označavanju u svim industrijama.

Izvor: www.habr.com

Dodajte komentar