DataMatrix, czyli jak prawidłowo oznakować buty

Obowiązkowe etykietowanie grupy towarów wprowadzono w Rosji 1 lipca 2019 r. Obuwie miało zostać objęte tą ustawą 1 marca 2020 r. Nie wszyscy mieli czas, aby się przygotować, w związku z czym wprowadzenie na rynek zostało przełożone na 1 lipca. Lamoda jest jedną z tych, która to zrobiła.

Dlatego chcemy podzielić się naszym doświadczeniem z tymi, którzy jeszcze nie etykietowali ubrań, opon, perfum itp. W artykule opisano szereg standardów branżowych, niektóre dokumenty regulacyjne i osobiste doświadczenia. Artykuł jest przeznaczony przede wszystkim dla integratorów i deweloperów, którzy jeszcze nie zrozumieli tego projektu.

DataMatrix, czyli jak prawidłowo oznakować buty

Należy pamiętać, że ramy regulacyjne często się zmieniają, a autor nie ma możliwości ciągłej aktualizacji materiału. Dlatego w momencie, gdy go przeczytasz, niektóre informacje mogą być już nieaktualne.

Autor zdobył osobiste doświadczenie zarówno w ramach pracy nad projektem Datamatrix w firmie Lamoda, jak i podczas tworzenia własnej bezpłatnej aplikacji do znakowania BarCodesFx.

Od 1 lipca 2019 r. w Rosji obowiązuje ustawa o obowiązkowym etykietowaniu. Ustawa nie dotyczy wszystkich grup produktów, a daty wejścia w życie obowiązkowego etykietowania dla poszczególnych grup produktów są różne. Obecnie obowiązkowe etykietowanie dotyczy tytoniu, futer, obuwia i leków. W niedalekiej przyszłości zostanie wprowadzone dla opon, odzieży, perfum i rowerów. Każda grupa produktów jest regulowana przez osobne rozporządzenie rządowe (NRD). Dlatego niektóre stwierdzenia, które są poprawne dla obuwia, mogą być niepoprawne dla innych grup produktów. Można jednak mieć nadzieję, że komponent techniczny nie będzie się znacznie różnić w zależności od grupy produktów.

cechowanieGłówną ideą oznakowania jest to, że każdej jednostce towaru przypisuje się indywidualny numer. Numer ten można wykorzystać do śledzenia historii konkretnej jednostki towaru od momentu produkcji lub importu do kraju aż do momentu zbycia przy kasie. Brzmi to ładnie, ale w praktyce jest niezwykle trudne do zrealizowania. Koncepcja jest opisana bardziej szczegółowo na oficjalnej stronie uczciwego znaku.

Powszechnie akceptowane terminy i koncepcje

UOT — uczestnik obrotu towarowego.
CRPT — centrum rozwoju zaawansowanych technologii. Prywatna firma, jedyny państwowy wykonawca projektu etykietowania. Działa w ramach partnerstwa publiczno-prywatnego (PPP). Niestety, nie ma informacji o innych uczestnikach przetargu na projekt, jak również o samym przetargu.
TG — grupa produktów. Obuwie, odzież, opony itp.
GTIN — w zasadzie numer artykułu uwzględniający kolor i rozmiar. Wydawany w GS1 lub katalogu krajowym dla każdego importera lub producenta dla ich towarów. Producent lub importer musi najpierw opisać ten produkt.
PPR — dekret rządu Federacji Rosyjskiej. Na obuwie — 860.
KM — kod znakowania. Unikalny zestaw znaków przypisany do konkretnej jednostki towaru. W przypadku butów składa się z GTIN, numeru seryjnego, kodu weryfikacyjnego i cryptotail.
GS1 — międzynarodowa organizacja, która wydaje numery GTIN. Również autorzy szeregu standardów etykietowania.
Katalog Narodowy — odpowiednik GS1, opracowany przez CRPT.
Kryptoogon — odpowiednik podpisu cyfrowego potwierdzający legalność KM. Musi znajdować się w matrycy danych na znaczku. Przechowywanie w formie tekstowej jest zabronione. Po wydrukowaniu znaczka należy go usunąć zgodnie z umową z CRPT. Nie są znane przypadki rzeczywistego użycia.
SUZ — stacja zarządzania zamówieniami. System, w którym zamawiane są CM-y towarów.
EDI — elektroniczne zarządzanie dokumentacją.
UKEP — ulepszony kwalifikowany podpis elektroniczny.

Terminy i pojęcia w ramach niniejszego artykułu

CZ - uczciwy znak.
OK — konto osobiste.
Zaznacz — wydrukowany kod znakowania.

Proces wygląda następująco: najpierw uczestnik (UOT) wystawia podpis elektroniczny (UKEP), rejestruje się w Chestny Znak (ChZ), opisuje produkt w katalogu krajowym lub GS1, otrzymuje numery GTIN dla produktu. Kroki te są szczegółowo opisane na stronie internetowej Chestny Znak, więc nie będziemy się nad nimi rozwodzić.

Zamówienie i otrzymanie kodów

Po otrzymaniu numerów GTIN uczestnik (UOT) składa zamówienie na kody (KM) w systemie SUZ.
Ważne, choć nieoczywiste.

  1. W jednym zamówieniu możesz poprosić o kody maksymalnie 10 GTIN-ów. Zasadniczo jest to niezrozumiałe ograniczenie. Importer z 14 000 GTIN-ów musi utworzyć 1400 zamówień.
  2. W jednym zamówieniu można zamówić maksymalnie 150 000 kodów.
  3. Istnieje limit 100 zamówień w toku. Oznacza to, że nie można przetwarzać więcej niż 100 zamówień w tym samym czasie. Jeśli jest ich więcej niż 100, API zacznie zwracać błąd zamiast listy zamówień. Jedynym sposobem na naprawienie tego błędu jest zamknięcie niektórych zamówień za pośrednictwem interfejsu internetowego. API nie zapewnia parametru do częściowego wyświetlania zamówień.
  4. Istnieje limit na liczbę żądań - nie więcej niż 10 żądań na sekundę. Według moich informacji, to ograniczenie nie jest wymienione w dokumentach, ale jest.

Na podstawie osobistych doświadczeń z pracy z zamówieniami na kody znakowania KM za pośrednictwem API systemu SUZ.

  1. Żądanie (sam json) musi być podpisane podpisem GOST. Działa to z cryptopro. Musisz uważnie monitorować, czy framework lub biblioteka, której używasz, nie zmienia oryginalnego json o jeden bajt. W przeciwnym razie podpis natychmiast przestaje być ważny.
  2. Podpis zamówienia. Zamówienie może zostać podpisane dowolnym podpisem, przez dowolnego klienta. Jeśli podpis jest prawidłowy, system SUZ go zaakceptuje. Podczas integracji możliwe było podpisanie żądania podpisem innej osoby wydanym przez testowy CA. Obwód bojowy SUZ przetworzył zamówienie i wydał kody. Moim zdaniem jest to luka w zabezpieczeniach. Deweloperzy odpowiedzieli na zgłoszenie błędu „zobaczymy”. Mam nadzieję, że to naprawili.

    Dlatego zachowaj szczególną ostrożność, jeśli w jednym miejscu pracy pracuje więcej niż jeden podmiot prawny. Dziś SUZ przyjmie te wnioski, a jutro wnioski zostaną ponownie sprawdzone, a połowa kodów zostanie wycofana z powodu czyjegoś podpisu. I w zasadzie będą one formalnie poprawne.

  3. Automatyczne podpisywanie zamówień to funkcjonalność, która nie jest już dostępna w SUS. Aby z niej skorzystać, konieczne było przesłanie prywatnej części klucza na konto osobiste uczciwego podpisu. To jest kompromis klucza. A zgodnie z obowiązującymi przepisami, w przypadku kompromitacji ulepszonego kwalifikowanego podpisu elektronicznego, właściciel musi powiadomić swoje centrum certyfikacji (CA) i unieważnić EQES. Jeśli ta funkcjonalność zostanie zwrócona, należy uważnie monitorować, aby prywatna część klucza nie opuściła komputera.
  4. W lutym Centrum Rozwoju Zaawansowanych Technologii (CRPT) po cichu wprowadziło limit liczby żądań do API UZ. Nie więcej niż jedno żądanie na sekundę. Następnie, równie niespodziewanie i po cichu, ograniczenie to zostało usunięte. Dlatego zalecam, aby system był wyposażony w możliwość ograniczenia liczby żądań do API CRPT w przypadku nawrotu. Obecnie są informacje o limicie 10 żądań na sekundę.
  5. Również w lutym, bez ostrzeżenia, zachowanie API SUZ uległo znacznej zmianie. API zażądało uzyskania statusu zamówień. Status wskazywał bufory i ich stan. Jeden GTIN = jeden bufor. Wskazał również, ile kodów było dostępnych do odbioru z bufora. Pewnego pięknego dnia liczba wszystkich buforów stała się -1. Konieczne było zapytanie o stan każdego bufora osobno za pomocą oddzielnej metody. Zamiast jednego żądania, konieczne było wykonanie jedenastu.

Struktura kodów

Tak więc kody są uporządkowane i generowane. Można je pobrać za pomocą API w formie tekstowej, w formacie pdf jako etykiety do drukowania i jako plik csv z tekstem.

API zostało już napisane powyżej. Jeśli chodzi o pozostałe dwie metody. Początkowo SUS pozwalał na pobieranie kodów tylko raz. A jeśli pobierano plik PDF, można było uzyskać kody tylko w formie tekstowej, skanując ponownie wszystkie macierze danych z pliku PDF. Na szczęście dodali możliwość wielokrotnego pobierania kodów i ten problem został rozwiązany. Kody są nadal dostępne do ponownego pobrania przez dwa dni.

Jeśli bierzesz go w formacie csv, to nigdy, pod żadnym pozorem, nie otwieraj go w Excelu. I nie pozwalaj nikomu tego robić. Excel ma funkcję automatycznego zapisywania. Podczas zapisywania Excel może zmienić Twoje kody w najbardziej nieprzewidywalny sposób. Zalecam użycie programu notepad++ do przeglądania kodów.

Jeśli otworzysz plik z SUZ w programie Notepad++, zobaczysz takie linie. Trzeci kod jest nieprawidłowy (brakuje separatorów GS).

DataMatrix, czyli jak prawidłowo oznakować buty

Partnerzy podali nam kody do oznaczania swoich towarów. Gołym okiem widać, które pliki zostały wygenerowane za pomocą Excela - do 5% kodów było nieważnych.

Gorąco polecam lekturę na temat standard GS1. Opis standardu zawiera odpowiedzi na wiele pytań dotyczących tworzenia DataMatrix.

Kod identyfikacyjny składa się z GTIN i numeru seryjnego. Zgodnie ze standardem GS1 odpowiadają one identyfikatorom aplikacji (AI) 01 i 21. Należy pamiętać, że identyfikatory aplikacji nie są częścią GTIN i numeru seryjnego. Wskazują one, że identyfikator aplikacji (AI) jest poprzedzony GTIN lub numerem seryjnym. Jest to szczególnie ważne podczas programowania oprogramowania kasy fiskalnej. Aby wypełnić tag 1162, potrzebujesz GTIN i numeru seryjnego, bez identyfikatorów aplikacji.

Natomiast w przypadku UPD (Universal Transfer Document) i innych dokumentów najczęściej potrzebny jest cały zapis z identyfikatorami aplikacji.

DataMatrix, czyli jak prawidłowo oznakować buty

Standard GS1 stanowi, że GTIN ma stałą długość 14 znaków i może składać się wyłącznie z cyfr. Numer seryjny ma zmienną długość i jest opisany na stronie 155 standardu. Istnieje również link do tabeli z symbolami, które mogą występować w numerze seryjnym.

Ponieważ numer seryjny ma zmienną długość, separator GS wskazuje jego koniec. W tabeli ASCII ma kod 29. Bez tego separatora żaden program nie zrozumie, w którym momencie numer seryjny się skończył, a inne grupy danych się zaczęły.

Więcej informacji na temat kodu znakowania (KM) można znaleźć w oficjalna dokumentacja.

W przypadku obuwia numer seryjny jest stały i wynosi 13 znaków, jednak jego rozmiar można zmienić w dowolnym momencie. W przypadku innych grup produktów (TG) długość numeru seryjnego może się różnić.

Generowanie DataMatrix

DataMatrix, czyli jak prawidłowo oznakować buty

Następnym krokiem jest konwersja danych na kod DataMatrix. Rezolucja Rządu Federacji Rosyjskiej 860 określa GOST, zgodnie z którym konieczne jest utworzenie DataMatrix. Ponadto PPR 860 określa obowiązkowe stosowanie identyfikatorów aplikacji. Należy pamiętać, że standard DataMatrix nie ma koncepcji „identyfikatorów aplikacji”. Są one tylko w standardzie GS-1 DataMatrix. Okazuje się, że PPR 860 domyślnie wymaga stosowania GS-1 DataMatrix. Na szczęście standardy są podobne. Główną różnicą jest to, że w GS-1 DataMatrix pierwszym symbolem musi być FNC1. Symbol GS nie powinien znajdować się na pierwszym miejscu w DataMatrix, tylko FNC1.

FNC1 nie może być po prostu dodany do linii jako GS. Musi zostać dodany przez program, który generuje DataMatrix. Kilka jest zamieszczonych w zasobach Alliance Fort aplikacje mobilne, za pomocą którego można sprawdzić poprawność generowanych kodów DataMatrix.

Jest to bardzo ważne. Aplikacja Honest Sign akceptuje nieważne DataMatrix. Nawet kody QR. Fakt, że marka została rozpoznana i informacje o produkcie zostały wyświetlone, nie oznacza, że ​​DataMatrix został utworzony poprawnie. Nawet podczas wymiany kryptograficznego ogona aplikacja CHZ rozpoznała markę i wyświetliła dane produktu.

Później CZ został wydany wyjaśnienie, jak poprawnie generować kody. Ze względu na dużą liczbę kodów z błędami, uznali kody bez FNC1 za prawidłowe, ale nadal zalecają generowanie GS-1 DataMatrix.

Niestety, całkiem spory odsetek macierzy danych od partnerów zawierał błędy. Dzięki wyjaśnieniom z FAQ, pytanie „Czy można handlować takimi towarami po 1 lipca, czy nie?” zostało całkowicie rozwiązane. Spoiler — jest to możliwe.

druk

Zwróć uwagę na sposób drukowania znaczków. Podczas drukowania na drukarce termicznej znaczek szybko blaknie, a ten produkt nie nadaje się już do sprzedaży. Nieczytelny znaczek jest naruszeniem PPR 860. Co prowadzi do zajęcia towarów, grzywien i odpowiedzialności karnej.

Użyj druku termotransferowego. W tym przypadku znaczek jest mniej podatny na blaknięcie. Materiał etykiety również decyduje o tym, jak podatny jest znaczek na uszkodzenia mechaniczne. Jeśli kod nie jest czytelny z powodu uszkodzeń mechanicznych, jest to równoznaczne z brakiem znaczka ze wszystkimi tego konsekwencjami.

DataMatrix, czyli jak prawidłowo oznakować buty

Wybierz drukarkę na podstawie planowanej liczby wydruków. Drukarki stacjonarne nie są zaprojektowane do drukowania 100 000 etykiet dziennie.

Zatrzymywanie i wznawianie drukowania zwiększa zużycie drukarki. Niektóre programy wysyłają zadanie drukowania po jednej etykiecie na raz. Lepiej nie używać takich programów.

Pracuj z dokumentami

Po wydrukowaniu i naklejeniu znaczków, wszelkie dalsze operacje z nimi związane przeprowadza się za pośrednictwem dokumentów lub osobistego rachunku uczciwego podpisującego.

Podczas pracy z dużą liczbą kodów możesz tworzyć pliki XML zawierające wymagane kody i przesyłać te pliki za pomocą interfejsu API lub internetowego swojego konta osobistego.

Schemat XSD można pobrać z sekcji „Pomoc” w osobistym koncie FAQ.

Proszę zwrócić uwagę na następujące kwestie.

  1. Schematy XSD w koncie osobistym CZ zawierają błędy w walidacji INN i ograniczenia długości ciągu. Dopiero po poprawieniu błędów można używać schematów. Na szczęście błędy są oczywiste, więc nie jest to trudne.
  2. Schemat najczęściej składa się z dwóch części - wspólnej dla wszystkich typów dokumentów i oddzielnej dla określonego typu. Ogólny schemat jest dodawany poprzez import do określonego. Oba schematy znajdują się w sekcji pomocy w sekcji FAQ konta osobistego.
  3. Reguły ucieczki dla KM różnią się od tych powszechnie akceptowanych dla XML, jest to napisane w oficjalnej dokumentacji ChZ, zwróć na to uwagę. Tutaj tutaj Wszystkie zasady znajdziesz na stronie 4.
  4. Nie powinieneś próbować wprowadzać do obiegu 150 000 kodów za pomocą jednego pliku. Według naocznych świadków pliki powyżej 30 000 zwykle przechodzą..
  5. Plik XML może zostać odrzucony z błędem „błąd walidacji xml”, a pięć minut później ten sam plik może zostać zaakceptowany bez żadnych problemów.
  6. Jeśli plik zawiera kod, który już został wprowadzony do obiegu, to plik najprawdopodobniej nie zostanie zaakceptowany do wprowadzenia do obiegu.
  7. Dokumenty wysyłki i odbioru są używane jako rozwiązanie tymczasowe. W przyszłości planuje się ich zniesienie i przejście na UPD zgodnie z PPR 860.
  8. Mit 60 dni. Istnieje opinia, że ​​kody, które nie są wprowadzane do obiegu, „wypalają się” po 60 dniach. To mit, źródło nieznane. Kody „wypalają się” tylko wtedy, gdy nie zostaną odebrane z SUZ w ciągu 60 dni. Okres ważności pobranych kodów nie jest ograniczony.

wniosek

Podczas opracowywania mojej bezpłatnej aplikacji do znakowania BarCodesFX początkowo dokonano integracji z API SUZ. Kiedy uczciwy znak niespodziewanie zmienił logikę API po raz drugi, integracja musiała zostać porzucona. Mam nadzieję, że w przyszłości ChZ będzie w stanie ustabilizować rozwój i API, ponieważ w przypadku produktu niekomercyjnego bardzo kosztowne jest dla mnie codzienne sprawdzanie, czy w API zaszły jakieś zmiany, i szybkie jego ulepszanie.

Podczas wdrażania oznakowania należy uważnie zapoznać się z dokumentacją regulacyjną dotyczącą grupy produktów TG, poprawnie wydrukować GS1-DataMatrix i przygotować się na wszelkie nieprzewidziane zmiany w stosunku do uczciwego oznakowania CHZ.

Fort Alliance stworzył przestrzeń informacyjną (вики, pokoje czatowe w telegramie, seminariach, webinariach), gdzie można znaleźć przydatne i aktualne informacje na temat etykietowania we wszystkich branżach.

Źródło: www.habr.com

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster