DataMatrix або як правільна маркіраваць абутак

З 1 ліпеня 2019 года ў Расіі ўведзена абавязковая маркіроўка групы тавараў. З 1 сакавіка 2020 года пад гэты закон павінен быў патрапіць абутак. Не ўсе паспелі падрыхтавацца і ў выніку запуск перанеслі на 1 ліпеня. Lamoda сярод тых, хто паспеў.

Таму мы хочам падзяліцца вопытам з тымі, каму яшчэ толькі трэба будзе маркіраваць адзенне, шыны, парфума і г.д. У артыкуле апісаны шэраг галіновых стандартаў, некаторая нарматыўная дакументацыі і асабісты досвед. Артыкул прызначаны ў першую чаргу для інтэгратараў і распрацоўшчыкаў, якім толькі трэба будзе разбірацца ў гэтым праекце.

DataMatrix або як правільна маркіраваць абутак

Звярніце ўвагу, што нарматыўная база часта мяняецца, і ў аўтара няма магчымасці пастаянна абнаўляць матэрыял. Таму да моманту прачытання частка інфармацыі можа ўжо састарэць.

Асабісты досвед атрыманы аўтарам як у рамках працы па праекце Datamatrix у Lamoda, так і пры распрацоўцы ўласнага бясплатнага прыкладання для маркіроўкі BarCodesFx.

З 1 ліпеня 2019 года ў Расіі дзейнічае закон аб абавязковай маркіроўцы. Закон распаўсюджваецца не на ўсе групы тавараў, і тэрміны ўступлення ў сілу абавязковай маркіроўкі для таварных груп адрозніваюцца. Цяпер пад абавязковую маркіроўку трапляюць тытунь, футры, абутак, лекі. У бліжэйшы час будзе ўводзіцца для шын, адзення, духаў і веласіпедаў. Кожная група тавараў рэгулюецца асобнай пастановай урада (ППР). Таму некаторыя сцвярджэнні, правільныя для абутку, могуць быць няправільнымі для іншых груп тавараў. Але можна спадзявацца, што тэхнічны складнік не будзе моцна вар'іравацца для розных таварных груп.

маркіроўкаАсноўная ідэя маркіроўкі - кожнай адзінцы тавару прысвойваецца індывідуальны нумар. Па гэтым нумары можна адсачыць гісторыю канкрэтнай адзінкі тавару з моманту вытворчасці ці імпарту ў краіну да моманту выбыцця на касе. Гучыць хораша, але на практыцы вельмі складана рэалізуема. Падрабязней канцэпт апісаны на афіцыйным сайце сумленнага знака.

Агульнапрынятыя тэрміны і паняцці

УОТ - Удзельнік абароту тавараў.
МРПТ - Цэнтр развіцця перспектыўных тэхналогій. Прыватная кампанія, адзіны дзярж. падрадчык па праекце маркіроўкі. Працуе па схеме дзяржаўнага прыватнага партнёрства (ГЧП). Інфармацыі аб іншых удзельніках тэндэру па праекце, як і ўласна аб самім тэндэры, на жаль, няма.
ТГ - таварная група. Абутак, адзенне, шыны і г.д.
GTIN - Па сутнасці, артыкул з улікам колера-памеру. Выдаецца ў GS1 або нацкаталог для кожнага імпарцёра або вытворцы на яго тавар. Папярэдне вытворца ці імпарцёр павінен апісаць гэты тавар.
ППР - Пастанова ўрада РФ. Для абутку - 860.
КМ - Код маркіроўкі. Унікальны набор сімвалаў, прысвоены канкрэтнай адзінцы тавару. Для абутку складаецца з GTIN, серыйнага нумара, кода праверкі і криптохвоста.
GS1 - Міжнародная арганізацыя, якая выдае GTIN-ы. Таксама складальнікі шэрагу стандартаў па маркіроўцы.
Нацкаталог - аналаг GS1, распрацаваны МРПТ.
Крыптахвост - аналаг лічбавага подпісу, які пацвярджае легальнасць КМ. Абавязкова павінен быць у датаматрыкс на марцы. Захоўванне ў тэкставым выглядзе забаронена. Пасля раздрукоўвання маркі павінен быць выдалены паводле дамовы з МРПТ. Не вядома ніводнага выпадку рэальнага выкарыстання.
СУЗ - станцыя кіравання заказамі. Сістэма, у якой заказваюцца КМ-ы для тавара.
ЭДА - электронны дакументаабарот.
УКЭП - узмоцнены кваліфікаваны электронны подпіс.

Тэрміны і паняцці ў рамках дадзенага артыкула

ЧЗ - сумленны знак.
ЛК - асабісты кабінет.
Марка - Надрукаваны код маркіроўкі.

Працэс выглядае наступным чынам: спачатку ўдзельнік (УОТ) выпускае электронны подпіс (УКЭП), рэгіструецца ў сумленным знаку (ЧЗ), апісвае тавар у нацкаталог або GS1, атрымлівае GTIN-ы на тавар. На сайце сумленнага знака гэтыя крокі падрабязна распісаны, таму на іх спыняцца не будзем.

Заказ і атрыманне кодаў

Пасля атрымання GTIN-ов удзельнік (УОТ) робіць замову кодаў (КМ) у сістэме СУЗ.
Важна, але не відавочна.

  1. У адной замове можна запытаць коды максімум для 10 GTIN-ов. У прынцыпе, незразумелае абмежаванне. Імпарцёру з 14 000 GTIN-амі даводзіцца ствараць 1400 заказаў.
  2. У адной замове можна запытаць максімум 150 000 кодаў.
  3. Ёсць абмежаванне на 100 заказаў у рабоце. Гэта значыць адначасова ў апрацоўцы можа быць не больш за 100 заказаў. Калі будзе больш за 100, то API пачне вяртаць памылку замест спісу заказаў. Адзіны спосаб ухіліць гэтую памылку - зачыніць частку заказаў праз вэб інтэрфейс. У API не прадугледжана параметра для частковага адлюстравання заказаў.
  4. Ёсць ліміт па колькасці зваротаў - не больш за 10 запытаў у секунду. Па маіх дадзеных у дакументах гэтае абмежаванне не фігуруе, але яно ёсць.

З асабістага досведу працы з замовамі кодаў маркіроўкі КМ праз API сістэмы СУЗ.

  1. Запыт (сам json) неабходна падпісваць ДАСТ-аўскім подпісам. Гэта праца з крыптопро. Трэба ўважліва сачыць, каб выкарыстоўваны фрэймворк ці бібліятэка ні на байт не змянілі першапачатковы json. Інакш подпіс адразу перастае быць валідным.
  2. Подпіс замовы. Заказ можа быць падпісаны любой подпісам, любога кліента. Калі подпіс валідны, то сістэма СУЗ яе прыме. Пры інтэграцыі ўдалося падпісваць запыт чужым подпісам, выпушчаным на тэставым УЦ. Баявы контур СУЗ-а замова апрацаваў і выпусціў коды. На мой погляд, гэта дзірка ў бяспецы. На баг-рэпарт распрацоўшчыкі адрэагавалі "паглядзім". Спадзяюся, выправілі.

    Таму будзьце вельмі ўважлівыя, калі на адным працоўным месцы працуе больш за аднаго юр. асобы. Сёння СУЗ прыме гэтыя запыты, а заўтра запыты пераправерыць і адклічуць палову кодаў з-за чужога подпісу. І ў прынцыпе, фармальна маюць рацыю.

  3. Аўтападпісанне заказаў - гэта функцыянал больш недаступны ў СУЗ. Для яго працы патрабавалася загружаць зачыненую частку ключа ў асабістым кабінеце сумленнага знака. Гэта з'яўляецца кампраметацыяй ключа. І згодна з дзейным заканадаўствам, у выпадку кампраметацыі ўзмоцненага кваліфікаванага электроннага подпісу ўладальнік павінен праінфармаваць свой які сведчыць цэнтр (УЦ) і адклікаць УКЭП. Калі гэты функцыянал будуць вяртаць, то ўважліва сачыце, каб зачыненая частка ключа не пакідала кампутар.
  4. У лютым цэнтр развіцця перспектыўных тэхналогій (МРПТ) моўчкі ўвёў абмежаванне на колькасць запытаў да API СУЗ. Не больш за адзін запыт у секунду. Пасля гэтак жа нечакана і моўчкі гэтае абмежаванне зняў. Таму рэкамендую закласці ў сістэму магчымасць абмяжоўваць колькасць запытаў да API МРПТ на выпадак рэцыдыву. Цяпер ёсць інфармацыя аб ліміце ў 10 запытаў у секунду.
  5. Таксама ў лютым без папярэджання значна змяніліся паводзіны API СУЗ. У API ёсць запыт на атрыманне статуту заказаў. У статусе ўказваліся буферы і іх стан. Адзін GTIN = адзін буфер. Тамака жа паказвалася, колькі кодаў даступна для атрымання з буфера. Аднаго дня ва ўсіх буфераў колькасць стала -1. Прыйшлося праз асобны метад апытваць стан кожнага буфера па асобнасці. Замест аднаго запыту прыйшлося рабіць адзінаццаць.

Структура кодаў

Такім чынам, коды замоўлены і згенераваны. Іх можна забраць праз api у тэкставым выглядзе, у pdf як этыкеткі для друку і як csv файл з тэкстам.

Пра API ужо было напісана вышэй. Што да двух іншых спосабаў. Першапачаткова СУЗ дазваляў забраць коды толькі адзін раз. І калі залазіць pdf файл, то атрымаць коды ў тэкставым выглядзе можна было толькі перасканаваўшы ўсе датаматрыксы з pdf. На шчасце, дадалі магчымасць некалькі разоў забіраць коды, і гэтая праблема вырашылася. На працягу двух дзён коды яшчэ даступныя для паўторнай запампоўкі.

Калі забіраеце ў csv фармаце, то ніколі, ні пры якіх абставінах, не адкрывайце яго ў экселе. І нікому не дазваляйце. У экселе ёсць функцыя аўтазахавання. У момант захавання эксель можа самай непрадказальнай выявай перайначыць вашы коды. Рэкамендую выкарыстоўваць notepad ++ для прагляду кодаў.

Калі адкрыць файл з СУЗ у notepad++, можна ўбачыць радкі такога віду. Трэці код - невалідны (у яго адсутнічаюць падзельнікі GS).

DataMatrix або як правільна маркіраваць абутак

Партнёры перадавалі нам коды для маркіроўкі свайго тавара. Няўзброеным поглядам відаць, якія файлы фармаваліся з дапамогай экселя - да 5% кодаў былі невалідныя.

Настойліва рэкамендую пачытаць пра стандарты GS1. У апісанні стандарту ёсць адказы на шматлікія пытанні па фармаванні DataMatrix.

Код ідэнтыфікацыі складаецца з GTIN і серыйнага нумара. Згодна са стандартам GS1 ім адпавядаюць ідэнтыфікатары прымянення (ІП) 01 і 21. Звярніце ўвагу, ідэнтыфікатары прымянення не з'яўляюцца часткай GTIN і серыйнага нумара. Яны паказваюць, што пасля ідэнтыфікатара ўжывання (ІП) ідзе GTIN ці серыйны нумар. Гэта асабліва важна пры праграмаванні касавага ПЗ. Для запаўнення тэга 1162 патрэбныя менавіта GTIN і серыйны нумар, без ідэнтыфікатараў ужывання.

Для УПД (універсальнага перадаткавага дакумента) і іншых дакументаў, наадварот, часцей за ўсё патрэбна запіс цалкам з ідэнтыфікатарамі прымянення.

DataMatrix або як правільна маркіраваць абутак

У стандарце GS1 прапісана, што GTIN мае фіксаваную даўжыню ў 14 знакаў і можа складацца толькі з лічбаў. Серыйны нумар мае зменную даўжыню і апісаны на 155 старонцы стандарту. Там жа ёсць спасылка на табліцу са знакамі, якія могуць сустракацца ў серыйным нумары.

Бо серыйны нумар мае зменную даўжыню, то падзельнік GS паказвае на яго канчатак. У табліцы ASCII у яго код 29. Без гэтага падзельніка ні адна праграма не зразумее, у які момант скончыўся серыйны нумар, і пачаліся іншыя групы дадзеных.

Больш падрабязна пра код маркіроўкі (КМ) можна прачытаць у афіцыйнай дакументацыі.

Для абутку серыйны нумар зафіксаваны ў 13 знакаў, аднак яго памер могуць у любы момант змяніць. Для іншых таварных груп (ТГ) даўжыня серыйнага нумара можа адрознівацца.

Генерацыя DataMatrix

DataMatrix або як правільна маркіраваць абутак

Наступны крок - гэта пераўтварэнне дадзеных у DataMatrix код. У пастанове ўрада РФ 860 паказаны ДАСТ, паводле якога неабходна фармаваць DataMatrix. Таксама ў ППР 860 указана абавязковае выкарыстанне ідэнтыфікатараў прымянення. Звярніце ўвагу, што ў стандарце DataMatrix няма паняцця "ідэнтыфікатары прымянення". Яны ёсць толькі ў стандарце GS-1 DataMatrix. Выходзіць, што ППР 860 няяўнай выявай абавязвае выкарыстоўваць менавіта GS-1 DataMatrix. На шчасце, стандарты падобныя. Асноўнае адрозненне: у GS-1 DataMatrix першы знак павінен быць FNC1. Сімвал GS не павінен стаяць на першым месцы ў DataMatrix, толькі FNC1.

FNC1 нельга проста ўзяць і дадаць у радок як GS. Яго павінна дадаваць праграма, якая генеруе DataMatrix. На рэсурсах Альянс Форты выкладзена некалькі мабільных прыкладанняў, з дапамогай якіх можна праверыць правільнасць згенераваных DataMatrix кодаў.

важна. Дадатак сумленны знак прымае невалідныя DataMatrix. Нават QR-коды. Той факт, што марка распазналася і інфармацыя аб тавары адлюстравалася, не з'яўляецца паказчыкам, што DataMatrix сфарміраваны правільна. Нават пры замене криптохвоста дадатак ЧЗ распазнала марку і адлюстравала дадзеныя па тавары.

Пазней ЧЗ выпусцілі тлумачэнне, як правільна генераваць коды. З-за вялікай колькасці кодаў з памылкамі яны прызналі коды без FNC1 валіднымі, але, усё ж, рэкамендуюць генераваць GS-1 DataMatrix.

На жаль, дастаткова вялікі працэнт датаматрыксаў ад партнёраў прыходзіў з памылкамі. Дзякуючы тлумачэнням ад ЧЗ было цалкам вырашана пытанне "Ці можна гандляваць такім таварам пасля 1 ліпеня ці не?". Спойлер - можна.

Друк

Звярніце ўвагу на спосаб друку марак. Пры друку на термопринтере марка хутка выліньвае, і гэты тавар ужо нельга прадаваць. Нечытэльная марка - гэта парушэнне ППР 860. Што вядзе да канфіскацыі тавару, штрафаў, крымінальнай адказнасці.

Выкарыстоўвайце тэрматрансферны друк. У гэтым выпадку марка не так моцна схільная выцвітання. Ад матэрыялу этыкеткі таксама залежыць, наколькі марка схільная да механічных пашкоджанняў. Калі код не счытваецца з-за механічнага пашкоджання, гэта раўнасільна адсутнасці маркі са ўсімі вынікаючымі наступствамі.

DataMatrix або як правільна маркіраваць абутак

Выбірайце прынтар з запланаваных аб'ёмаў друку. Настольныя друкаркі не разлічаны на друк 100 этыкетак у дзень.

Прыпынак і старт друку павялічваюць знос друкаркі. Некаторыя праграмы адпраўляюць заданне на друк па адной этыкетцы. Такімі праграмамі лепей не карыстацца.

Праца з дакументамі

Пасля таго як маркі раздрукаваны і налеплены, усе далейшыя аперацыі з імі адбываюцца праз дакументы ці асабісты кабінет сумленнага знака.

Пры працы з вялікай колькасцю кодаў можна ствараць xml файлы, у якіх будуць патрабаваныя коды, і загружаць гэтыя файлы праз API ці вэб інтэрфейс асабістага кабінета.

XSD схему можна спампаваць у раздзеле "дапамога" ў ЛК ЧЗ.

Звярніце ўвагу на наступныя моманты.

  1. Xsd схемы ў ЛК ЧЗ змяшчаюць памылкі ў валідацыі ІНАЎ і абмежаванні на даўжыню радка. Толькі выправіўшы памылкі, можна скарыстацца схемамі. На шчасце, памылкі відавочныя, таму гэта зрабіць не складана.
  2. Схема часцей за ўсё складаецца з двух частак - агульная для ўсіх тыпаў дакументаў і асобная для канкрэтнага тыпу. Агульная схема дададзена праз імпарт у канкрэтную. Абедзве схемы размешчаны ў раздзеле дапамога ў ЛК ЧЗ.
  3. Правілы экранавання для КМ адрозняцца ад агульнапрынятых для XML, пра гэта напісана ў афіцыйнай дакументацыі ад ЧЗ, звернеце на гэтую ўвагу. Вось тут на 4 старонцы ўсе правілы.
  4. Не варта спрабаваць увесці 150 кодаў у абарот адным файлам. Па словах відавочцаў файлы больш за 000 30 звычайна праходзяць.
  5. Xml файл могуць загарнуць з памылкай "памылка валідацыі xml", а праз пяць хвілін той жа файл прыняць без праблем.
  6. Калі ў файле апыняецца ўжо ўведзены ў абарачэнне код, то файл уводу ў абарачэнне, хутчэй за ўсё, не прымуць.
  7. Дакументы адгрузкі і прыёмкі выкарыстоўваюцца як часовае рашэнне. У далейшым іх плануюць скасаваць і перайсці на УПД паводле ППР 860.
  8. Міф пра 60 дзён. Ходзіць меркаванне, што не ўведзеныя ў абарачэнне коды "згараюць" праз 60 дзён. Гэта міф, крыніца невядомы. Коды "згараюць", толькі калі вы не забралі іх з СУЗ на працягу 60 дзён. Тэрмін жыцця забраных кодаў не абмежаваны.

Заключэнне

Пры распрацоўцы майго бясплатнага прыкладання для маркіроўкі BarCodesFX, першапачаткова была зроблена інтэграцыя з API СУЗ. Калі сумленны знак другі раз нечакана змяніў логіку працы API, ад інтэграцыі прыйшлося адмовіцца. Спадзяюся, у далейшым ЧЗ атрымаецца стабілізаваць распрацоўку і API, т.я. для некамерцыйнага прадукта мне вельмі затратна кожны дзень пераправяраць, ці не было змен у API, і аператыўна дапрацоўваць.

Пры ўкараненні маркіроўкі ўважліва азнаёмцеся з нарматыўнай дакументацыяй па вашай таварнай групе ТГ, правільна друкуйце GS1-DataMatrix і будзьце гатовы да любых непрадбачаных змен з боку сумленнага знака ЧЗ.

Альянс Форта стварыў інфармацыйную прастору (вікі, чаты у тэлеграме, семінары, вэбінары), дзе вы можаце знайсці карысную і актуальную інфармацыю па маркіроўцы ва ўсіх галінах.

Крыніца: habr.com

Дадаць каментар