DataMatrix ou como rotular sapatos corretamente

Desde 1º de julho de 2019, a rotulagem obrigatória de um grupo de mercadorias foi introduzida na Rússia. A partir de 1º de março de 2020, os sapatos se enquadrariam nessa lei. Nem todos tiveram tempo de se preparar e, como resultado, o lançamento foi adiado para 1º de julho. Lamoda está entre os que conseguiram.

Por isso, queremos compartilhar nossa experiência com quem ainda não rotulou roupas, pneus, perfumes, etc. O artigo descreve uma série de padrões da indústria, alguma documentação regulatória e experiência pessoal. O artigo destina-se principalmente a integradores e desenvolvedores que ainda não entenderam este projeto.

DataMatrix ou como rotular sapatos corretamente

Observe que a estrutura regulatória muda com frequência e o autor não tem a oportunidade de atualizar constantemente o material. Portanto, no momento da leitura, algumas informações já podem estar desatualizadas.

O autor ganhou experiência pessoal tanto no âmbito do projeto Datamatrix em Lamoda quanto no desenvolvimento de seu próprio aplicativo gratuito para marcação de BarCodesFx.

Desde 1º de julho de 2019, uma lei sobre rotulagem obrigatória está em vigor na Rússia. A lei não se aplica a todos os grupos de produtos, e o momento de entrada em vigor da rotulagem obrigatória para grupos de produtos varia. Agora tabaco, casacos de pele, sapatos e medicamentos estão sujeitos à rotulagem obrigatória. Num futuro próximo será introduzido para pneus, roupas, perfumes e bicicletas. Cada grupo de bens é regulado por um decreto governamental separado (GPR). Portanto, algumas afirmações corretas para calçados podem não ser verdadeiras para outros grupos de produtos. Mas podemos esperar que o componente técnico não varie muito para diferentes grupos de produtos.

marcaA ideia principal da rotulagem é que cada unidade de mercadoria receba um número individual. Por meio desse número, é possível acompanhar o histórico de uma determinada mercadoria desde o momento da produção ou importação no país, até o momento do descarte no caixa. Parece bom, mas na prática é extremamente difícil de implementar.O conceito é descrito com mais detalhes no site oficial do sinal honesto.

Termos e conceitos comuns

UOT - participante da circulação de mercadorias.
CRPT é um centro de desenvolvimento de tecnologias avançadas. Empresa privada, o único estado. empreiteiro do projeto de marcação. Opera sob o esquema de parceria público-privada (PPP). Infelizmente, não há informações sobre outros participantes da licitação do projeto, bem como sobre a própria licitação.
TG - grupo de mercadorias. Sapatos, roupas, pneus, etc.
GTIN - na verdade, o artigo, tendo em conta a cor e o tamanho. Emitido em GS1 ou no catálogo nacional de cada importador ou fabricante de seu produto. O fabricante ou importador deve primeiro descrever este produto.
PPR - Decreto do Governo da Federação Russa. Para sapatos - 860.
KM - código de marcação. Um conjunto exclusivo de caracteres atribuídos a um item específico. Para sapatos, consiste em GTIN, número de série, código de verificação e cauda criptográfica.
GS1 é uma organização internacional que emite GTINs. Também compiladores de vários padrões para rotulagem.
catálogo nacional - análogo do GS1, desenvolvido pela CRPT.
cryptotail - um análogo de uma assinatura digital, confirmando a legalidade do CM. Deve estar na matriz de dados do carimbo. O armazenamento em forma de texto é proibido. Após a impressão, o carimbo deve ser retirado de acordo com o acordo com o CRPT. Nenhum caso de uso real é conhecido.
CPS - estação de gerenciamento de pedidos. O sistema no qual os KMs são solicitados para o item.
EDI - gerenciamento eletrônico de documentos.
UKEP — assinatura electrónica qualificada reforçada.

Termos e conceitos dentro do escopo deste artigo

CHZ - um sinal honesto.
LK - Área Pessoal.
Marcar - código de marcação impresso.

O processo é o seguinte: primeiro, o participante (UOT) emite uma assinatura eletrônica (ECES), registra em sinal honesto (CHZ), descreve o produto no catálogo nacional ou GS1 e recebe os GTINs do produto. No site do sinal honesto, essas etapas são descritas em detalhes, por isso não vamos insistir nelas.

Códigos de pedido e recebimento

Após receber os GTINs, o participante (UOT) faz um pedido de códigos (KM) no sistema CPS.
Importante, mas não óbvio.

  1. Você pode solicitar códigos de até 10 GTINs por pedido. Em princípio, uma limitação incompreensível. Um importador com 14 GTINs precisa criar 000 pedidos.
  2. Um máximo de 150 códigos podem ser solicitados em um pedido.
  3. Há um limite de 100 pedidos em funcionamento. Ou seja, não podem ser processados ​​mais de 100 pedidos ao mesmo tempo. Se houver mais de 100, a API começará a retornar um erro em vez de uma lista de pedidos. A única maneira de corrigir esse erro é fechar alguns dos pedidos por meio da interface da web. A API não fornece um parâmetro para exibir pedidos parcialmente.
  4. Há um limite para o número de solicitações - não mais que 10 solicitações por segundo. Segundo meus dados, essa restrição não consta nos documentos, mas existe.

De experiência pessoal com pedidos de códigos de marcação KM por meio da API do CMS.

  1. A solicitação (o próprio json) deve ser assinada com uma assinatura GOST. Isso é trabalho com cryptopro. Devemos monitorar cuidadosamente para que o framework ou biblioteca utilizada não altere o json original por um único byte. Caso contrário, a assinatura imediatamente deixa de ser válida.
  2. Assinatura do pedido. O pedido pode ser assinado por qualquer assinatura de qualquer cliente. Se a assinatura for válida, o sistema KMS a aceitará. Durante a integração, foi possível assinar a solicitação com a assinatura de outra pessoa emitida na CA de teste. O circuito de combate do CPS processou a ordem e liberou os códigos. Na minha opinião, isso é uma falha de segurança. Os desenvolvedores reagiram ao relatório de bug “veremos”. Espero que tenha sido corrigido.

    Portanto, seja extremamente cuidadoso se mais de uma pessoa jurídica trabalhar em um local de trabalho. rostos. Hoje, o CPS aceitará esses pedidos e amanhã os pedidos serão reavaliados e metade dos códigos será retirada por causa da assinatura de outra pessoa. E, em princípio, formalmente eles estarão certos.

  3. A assinatura automática de pedidos é uma funcionalidade que não está mais disponível no CMS. Para seu funcionamento, era necessário carregar a parte privada da chave na conta pessoal do sinal honesto. Este é um compromisso fundamental. E de acordo com a legislação vigente, no caso de comprometimento de uma assinatura eletrônica qualificada aprimorada, o titular deve informar seu centro de certificação (CA) e revogar o UKES. Se essa funcionalidade for retornada, verifique cuidadosamente se a parte privada da chave não sai do computador.
  4. Em fevereiro, o Centro de Desenvolvimento de Tecnologias Avançadas (CRPT) introduziu silenciosamente um limite para o número de solicitações à API do KMS. Não mais do que uma solicitação por segundo. Então, inesperada e silenciosamente, ele suspendeu essa restrição. Portanto, recomendo colocar no sistema a capacidade de limitar o número de solicitações à API CRPT em caso de recaída. Agora há informações sobre o limite de 10 solicitações por segundo.
  5. Também em fevereiro, o comportamento da API KMS mudou significativamente sem aviso prévio. A API possui uma requisição para obter o status dos pedidos. O status indicava os buffers e seu estado. Um GTIN = um buffer. Também indicou quantos códigos estão disponíveis para receber do buffer. Um belo dia, todos os buffers tinham uma contagem de -1. Tive que consultar o estado de cada buffer separadamente por meio de um método separado. Em vez de um pedido, tive que fazer onze.

Estrutura de códigos

Assim, os códigos são ordenados e gerados. Eles podem ser obtidos via api em formato de texto, em pdf como etiquetas para impressão e como arquivo csv com texto.

A API já foi escrita acima. Quanto às outras duas maneiras. Inicialmente, o CPS permitia que você pegasse os códigos apenas uma vez. E se um arquivo pdf foi obtido, foi possível obter os códigos em forma de texto apenas redigitalizando todas as matrizes de dados do pdf. Felizmente, eles adicionaram a capacidade de pegar códigos várias vezes e esse problema foi resolvido. Em dois dias, os códigos ainda estarão disponíveis para download novamente.

Se você pegar no formato csv, nunca, em hipótese alguma, abra-o no Excel. E não deixe ninguém. O Excel tem um recurso de salvamento automático. Na hora de salvar, o Excel pode modificar seus códigos da forma mais imprevisível. Eu recomendo usar o notepad++ para visualizar os códigos.

Se você abrir um arquivo do CMS no bloco de notas ++, poderá ver linhas como esta. O terceiro código é inválido (não possui delimitadores GS).

DataMatrix ou como rotular sapatos corretamente

Os parceiros nos deram códigos para marcar seus produtos. A olho nu, você pode ver quais arquivos foram gerados usando o Excel - até 5% dos códigos eram inválidos.

Recomendo fortemente a leitura sobre padrões GS1. A descrição do padrão contém respostas para muitas perguntas sobre a formação de DataMatrix.

O código de identificação consiste no GTIN e no número de série. De acordo com o padrão GS1, eles correspondem aos identificadores de aplicativo (UI) 01 e 21. Observe que os identificadores de aplicativo não fazem parte do GTIN e do número de série. Eles indicam que o Application Identifier (UI) é seguido pelo GTIN ou número de série. Isso é especialmente importante ao programar o software POS. Para preencher a tag 1162, você precisa exatamente do GTIN e do número de série, sem identificadores de aplicativos.

Para UTD (documento de transferência universal) e outros documentos, pelo contrário, na maioria das vezes é necessário um registro completo com identificadores de aplicativo.

DataMatrix ou como rotular sapatos corretamente

O padrão GS1 afirma que o GTIN tem um comprimento fixo de 14 caracteres e pode consistir apenas em números. O número de série é de comprimento variável e está descrito na página 155 da norma. Há também um link para uma tabela com símbolos que podem ser encontrados no número de série.

Como o número de série tem comprimento variável, o separador GS indica seu final. Na tabela ASCII, tem o código 29. Sem esse separador, nenhum programa entenderá em que ponto terminou o número de série e começaram outros grupos de dados.

Mais detalhes sobre o código de marcação (KM) podem ser encontrados em documentação oficial.

Para calçados, o número de série é fixo em 13 caracteres, porém seu tamanho pode ser alterado a qualquer momento. Para outros grupos de produtos (TG), o comprimento do número de série pode variar.

Geração DataMatrix

DataMatrix ou como rotular sapatos corretamente

O próximo passo é converter os dados em código DataMatrix. O Decreto do Governo da Federação Russa 860 especifica GOST, segundo o qual é necessário formar um DataMatrix. Além disso, o PPR 860 especifica o uso obrigatório de identificadores de aplicativos. Observe que não há conceito de "identificadores de aplicativos" no padrão DataMatrix. Eles estão apenas no padrão GS-1 DataMatrix. Acontece que o PPR 860 requer implicitamente o uso do GS-1 DataMatrix. Felizmente, os padrões são semelhantes. Principal diferença: No GS-1 DataMatrix, o primeiro caractere deve ser FNC1. O símbolo GS não precisa vir primeiro no DataMatrix, apenas FNC1.

FNC1 não pode simplesmente ser obtido e adicionado à linha como GS. Deve ser adicionado pelo programa que gera o DataMatrix. Diversos Aplicações Móveis, com o qual você pode verificar a exatidão dos códigos DataMatrix gerados.

Importante. O aplicativo de assinatura honesta aceita DataMatrix inválido. Até códigos QR. O fato de a marca ser reconhecida e as informações do produto serem exibidas não significa que o DataMatrix esteja formado corretamente. Mesmo quando o cripto-cauda foi substituído, o aplicativo CZ reconheceu a marca e exibiu os dados do produto.

Mais tarde CZ lançado explicaçãocomo gerar códigos corretamente. Devido ao grande número de códigos de erro, eles reconheceram códigos sem FNC1 como válidos, mas, mesmo assim, recomendam a geração de um GS-1 DataMatrix.

Infelizmente, uma porcentagem bastante grande de matrizes de dados de parceiros veio com erros. Graças aos esclarecimentos de CZ, a questão “É possível comercializar tal produto após 1º de julho ou não?” foi totalmente resolvida. Spoiler - você pode.

impressão

Preste atenção na forma como os selos são impressos. Quando impresso em impressora térmica, o carimbo desbota rapidamente e este produto não pode mais ser vendido. Um carimbo ilegível é uma violação do PPR 860. O que leva à apreensão de mercadorias, multas e responsabilidade criminal.

Use a impressão por transferência térmica. Nesse caso, o carimbo não é tão propenso a desbotar. O material do rótulo também determina o grau de suscetibilidade da marca a danos mecânicos. Se o código não for legível devido a danos mecânicos, isso equivale à ausência de uma marca com todas as consequências daí decorrentes.

DataMatrix ou como rotular sapatos corretamente

Escolha uma impressora dos volumes de impressão planejados. As impressoras de mesa não são projetadas para imprimir 100 etiquetas por dia.

Parar e iniciar a impressão aumenta o desgaste da impressora. Alguns programas enviam o trabalho de impressão uma etiqueta por vez. É melhor não usar esses programas.

Trabalhar com documentos

Depois que os selos são impressos e colados, todas as operações posteriores com eles ocorrem por meio de documentos ou conta pessoal de uma marca honesta.

Ao trabalhar com um grande número de códigos, você pode criar arquivos xml contendo os códigos necessários e fazer o upload desses arquivos por meio da API ou da interface web de sua conta pessoal.

O esquema XSD pode ser baixado na seção "ajuda" do LC CZ.

Preste atenção aos seguintes pontos.

  1. Os esquemas Xsd no LC CZ contêm erros na validação TIN e restrições no comprimento da linha. Somente corrigindo erros, você pode usar os esquemas. Felizmente, os erros são óbvios, então isso não é difícil de fazer.
  2. O esquema geralmente consiste em duas partes - comuns para todos os tipos de documentos e separadas para um tipo específico. O esquema geral é adicionado via importação ao específico. Ambos os esquemas estão localizados na seção de ajuda do LC ChZ.
  3. As regras de escape para CM diferem daquelas geralmente aceitas para XML, isso está escrito na documentação oficial da CZ, preste atenção nisso. Aqui aqui na página 4 todas as regras.
  4. Você não deve tentar inserir 150 códigos em circulação em um arquivo. De acordo com testemunhas oculares, arquivos com mais de 000 geralmente passam.
  5. Um arquivo Xml pode ser agrupado com um erro “erro de validação de xml” e cinco minutos depois o mesmo arquivo é aceito sem problemas.
  6. Se o arquivo contiver um código que já foi colocado em circulação, o arquivo colocado em circulação provavelmente não será aceito.
  7. Os documentos de envio e recebimento são usados ​​como uma solução temporária. No futuro, eles planejam aboli-los e mudar para UPD de acordo com o PPR 860.
  8. Mito sobre 60 dias. Existe a opinião de que os códigos que não são colocados em circulação “queimam” após 60 dias. Isso é um mito, fonte desconhecida. Os códigos "queimam" apenas se você não os coletar do CPS em 60 dias. A vida útil dos códigos coletados não é limitada.

Conclusão

Ao desenvolver meu aplicativo gratuito de rotulagem BarCodesFX, a integração com a API do KMS foi feita inicialmente. Quando um sinal honesto pela segunda vez mudou inesperadamente a lógica da API, a integração teve que ser abandonada. Espero que no futuro o CZ consiga estabilizar o desenvolvimento e a API, porque. para um produto não comercial, é muito caro para mim verificar novamente todos os dias se houve alterações na API e refiná-la rapidamente.

Ao implementar a marcação, leia atentamente a documentação regulamentar para o seu grupo de produtos TG, imprima o GS1-DataMatrix corretamente e esteja preparado para quaisquer alterações imprevistas da marca CZ justa.

A Fort Alliance criou um espaço de informação (вики, salas de conversa telegram, seminários, webinars), onde você pode encontrar informações úteis e atualizadas sobre rotulagem em todos os setores.

Fonte: habr.com

Adicionar um comentário