Árvore de páginas

O código de barras é a representação digital impressa de uma informação e está diretamente ligada à captura de dados. O código de barras automatiza o processo de captura dos dados. Ao invés de digitá-los, os dados são capturados por um leitor óptico.



Tipos de código de barras

Existem dezenas de padrões, todos aceitos internacionalmente. Os principais são:

  • (EAN) - Utilizado em automação comercial.
  • (2 de 5) - Utilizado em dados variáveis.
  • (3 de 9) - Uso geral.


Importante

Ao utilizar o método FWMSBAR da FWMSPrinter para impressão dos códigos de barras padrão (EAN8, EAN13 e UPC) e informar .F. para lBanner, não é possível realizar a impressão sem a linha de código abaixo da barra. 

Exemplo:

Para os tipos de códigos de barras informados a linha de código sempre será impressa, pois este padrão auxilia na identificação dos itens comerciais, através do uso de estrutura númerica do código abaixo das barras. Jamais deve ser separada no cadastro e referência gerais dos itens, pois somente a combinação completa dos dígitos garante a exclusividade das numerações no mercado.




UPC / EAN

Este é o símbolo usado para a identificação de bens de consumo para o segmento de varejo. Os símbolos UPC são de tamanho fixo, sendo compulsórios em varejo e na indústria de alimentos, não sendo usados em nenhum outro lugar. Foram desenvolvidos para atender as necessidades do varejo em geral, uma vez que adapta 12 dígitos a um espaço razoavelmente compacto.

CÓDIGO 39

Desenvolvido para atender algumas indústrias que necessitam codificar o alfabeto, assim como números, em um código de barras, sendo o Código 39, a simbologia mais popular do código de barras nesta opção. É tipicamente o código de barras mais usado para identificação em estoques e de processos em diversos segmentos industriais. Todavia, o Código 39 produz códigos de barras relativamente longos e pode não ser adequado quando a largura da etiqueta for considerada.

CÓDIGO 128

Este código de barras provém da necessidade de uma seleção mais ampla de caracteres do que o Código 39 poder fornecer. Quando a largura da etiqueta é considerada, o Código 128 é uma boa alternativa porque é muito compacto e resulta em um símbolo denso. Esta simbologia é frequentemente utilizada na indústria de transportes onde o tamanho da etiqueta é um problema.

INTERCALADO 2 DE 5

Outra simbologia popular na indústria de transportes. Intercalado 2 de 5 é muito utilizado também em operadores logísticos. É uma simbologia muito compacta e são vistos em caixas de papelão para volumes, onde os objetos são embarcados para envio aos depósitos e supermercados.


Informações sobre EAN 128 (Code 128)

O código 128, permite imprimir todos os 128 caracteres ASCII, incluindo caracteres alfanuméricos maiúsculos e minúsculos, bem como os caracteres de controle. Além disso existem alguns caracteres especiais, de uso intrínseco ao código 128.

O código 128 está dividido em três subconjuntos: A, B e C dos quais apenas um pode estar ativo de cada vez. Cada um dos códigos tem um sentido diferente dependendo do subconjunto ativo.

  • O subconjunto A possibilita a impressão de todos os caracteres alfanuméricos maiúsculos, caracteres de controle e caracteres especiais.
  • O subconjunto B possibilita a impressão de todos os caracteres alfanuméricos maiúsculos, caracteres minúsculos e caracteres especiais. Este subconjunto não possibilita a compactação, porém aceita quase todos os caracteres contidos na tabela ASCII.
  • O subconjunto C é utilizado para duplicar a densidade de códigos com conteúdo apenas numéricos e números pares dos dígitos. Este aumento de densidade é obtido pela impressão de um conjunto de 100 pares de dígitos de 00 a 99, inclusive. Além disto, permite a impressão de caracteres especiais, ou seja, o subconjunto C é utilizado para compactar o código de barras.


A função MSCB128A( ) modifica a codificação para o conjunto de caracteres A.

A função MSCB128B( ) modifica a codificação para o conjunto de caracteres B.

A função MSCB128C( ) modifica a codificação para o conjunto de caracteres C.


O caracter de mudança (shift) permite uma alteração no conjunto de caracteres para o caracter que o segue imediatamente no símbolo. Os caracteres subsequentes revertem para o conjunto de caracteres ativo anterior ao caracter de mudança. O caracter shift opera somente entre os subconjuntos A e B. Não é possível mudar para o subconjunto C, nem mudar a partir dele. O caractere shift é semelhante à tecla “shift” no teclado de uma máquina de escrever. A função no protheus para utilização do caractere de “shift” é MSCB128Shift( ).


Existe também, o caractere FNC 1, usado como separador quando estão concatenados vários AIs e seus campos de dados quando os AI´s são variáveis, é transmitido como caractere GS. O GS no protheus é representado pela função MSCB128GS( )


Lembrando que não deverá se preocupar com a função MSCB128Shift() e MSCB128GS(), pois as mesmas são tratadas internamente na geração do código de barras. 


Dado as características do codigo de barras CODE 128, é possível a codificação de muitos caracteres em um único código de barras devido sua compactação, no ACD, os campos de etiquetas e campos de leitura nas aplicações dos coletores não necessitam do uso do CODE 128, porem em customizações onde é feito um aumento consideravel nos campos de etiquetas e nos campos das aplicações dos coletores, pode ser necessario o uso do CODE 128 para conter um codigo maior gerando um codigo de barras menor.

     image2021-6-23_21-40-21.png


Estas caracteristicas do CODE 128, permite o uso do conceito EAN-128 Hoje GS1-128, que é uma codificação em barras CODE 128 com identificadores AI, e permite num único código de barras ter diversas informações como lote, peso, data de fabricação, data de validade e outras descritas abaixo, porém a aplicação de leitura, deve estar apta a ler o código de barras separando os dados que interessa para a aplicação, por exemplo : a aplicação precisa ler e preencher o campo do numero de série e ao ler todo o código de barras deverá extrair apenas o AI(21) para preencher o campo da aplicação. 


  

IDENTIFICAÇÃO DE APLICAÇÃO (Ais)


O símbolo UCC/EAN-128 é uma simbologia extremamente flexível. Permite a representação de dados de comprimento variável e possibilita codificar várias informações em um símbolo do código de barras. Isso se denomina concatenação. Este tipo de código de barras é iniciado por um caractere “START” indicando a tabela – code “A”, “B” ou “C” vistos anteriormente e que permite a identificação de 128 caracteres ASCII, seguido do caractere “FNC1”, ex: “START” (Code C) “FNC1”. Este caractere duplo inicial não é visível para as pessoas, mas deve estar no início das barras para que seja possível o reconhecimento e tratamento da estrutura da simbologia: os Indicadores de Aplicação, caractere separador, Dígito Verificador e Stop.


Os Als são códigos que anunciam com exclusividade os dados que os sucedem, seu significado e seu comprimento. Os dados que aparecem após um AI podem abranger caracteres alfabéticos e/ou numéricos de qualquer comprimento, chegando em alguns formatos até trinta caracteres. Os campos de dados têm comprimento fixo ou variável, dependendo do AI.


Os atributos de dados relacionam-se com um item: um item comercial ou de transporte, e não possuem significado caso sejam isolados. Podem ser representados no UCC/EAN-128 usando-se AIs. Existe uma faixa de AIs para medidas de itens comerciais, nos quais o peso descrito é o peso líquido, e uma faixa de AIs para medidas de unidades de transportes, denominadas unidades logísticas, nas quais o peso descrito é o peso bruto.


A tabela a seguir foi extraída da lista completa como exemplo dos AIs. Observe que um deles representa um significado – “conteúdo” , uma senha – “título de dados” para sua identificação na aplicação; e um formato” para a representação dos dados n (numéricos) ou em an (alfanuméricos), fixos ou variáveis.


A representação de AIs numa mesma linha do código de barras é possível desde que respeitadas as regras de concatenação:


  • Máximo de 48 caracteres numa mesma seqüência de dados (incluindo os AIs e caracter(es) separador(es) se tiver(em), mas excluindo os caracteres auxiliares e o dígito verificador);
  • Máximo de 165mm do símbolo, incluindo as margens de silêncio (para uma mesma linha de código de barras);
  • Uso do caractere separador “FNC1” depois de um AI de dado variável, quando concatenado com outro AI. A tabela a seguir identifica todos os Ais reconhecidos como tendo formato de dados fixos.

 

Os Identificadores de Aplicação que não aparecem nesta tabela deverão receber caractere separador (FNC1), quando anteceder qualquer outro AI numa concatenação. O caractere separador de dados FNC1 não aparece na representação humano-legível, mas deverá estar contido nas barras, a menos que o AI variável for o ultimo representado no código, pois neste caso o caractere “STOP” determina o final de representação.


Os AIs abaixo são exemplos enquanto eram padronizados pela EAN Brasil, as novas padronizações devem ser atualizadas com a GS1 Brasil. 


Tabela de AI´s disponibilizada pela EAN:

AI

Título Completo

Formato

00

Código de Série de Unidade Logística

n2 +n18

01

Número Global de item Comercial

n2+n14

02

GTIN de itens comerciais contidos em uma unidade logística

n2+n14

10

Número de Batch ou de lote

n2 + an..20

11¹

Data de Produção (AAMMDD)

n2+n6

12¹

Data de Vencimento/ Pagamento (AAMMDD)

n2+n6

13¹

Data de Embalagem (AAMMDD)

n2+n6

15¹

Data de Durabilidade Mínima (AAMMDD)

n2+n6

17¹

Data de Durabilidade Máxima (AAMMDD)

n2+n6

20

Variante do Produto

n2+n2

21

Número de Série

n2+an20

22

Dados Secundários para Produtos Específicos do Setor de Saúde

n2+an..29

23²

Número de lote (Uso Transitório)

n3+n..19

240

Identificação Adicional do Produto Atribuída pelo Fabricante

n3+an..30

241

Número de Cliente

n3+an..30

2504

Número de Série Secundário

n3+an..30

AI

Título Completo

Formato

2514

Referência da Entidade de Origem

n3+an..30

30

Contagem Variável

n2+n..8

31-36³

Medidas Comerciais e Logícas

n4+n6

337³

Quilos por metro quadrado

n4+n6

37

Contagem de itens Comerciais Contidos numa Unidade Logística

n2+n..8

390³

Valor a Pagar – área monetária isolada

n4+n..15

391³

Valor a Pagar – com o código ISO de moeda

n4+n3+n..15

392n

Valor a Pagar por um item de medida variável – área monetária isolada

n4+n..15

393n

Valor a Pagar por um item de medida variável – com o código ISO de moeda

n4+n3+n..15

400

Número de Ordem de Compra do Cliente

n3+an..30

401

Número de Consignação

n3+an..30

402

Número de Identificação do Despacho

n3+n17

403

Código de Rota

n3+an..30

410

Número de Localização Global EAN/UCC “Despachar para – Entregar para”– destino imediato

n3+n13

411

Número Global de Localização EAN/UCC “Faturar para” “ Cobrar de”

n3+n13

412

Número Global de Localização EAN/UCC “ Comprado de”

n3+n13

413

Número Global de Localização EAN/UCC “Despachar para – Entregar para “– destino final

n3+n13

414

Identificação de Local Físico Número Global EAN/UCC de Localização

n3+n13

415

Número Global de Localização EAN/UCC da Parte que fatura

n3 + n13

420

Código Postal dentro de uma única Autoridade Postal

“Despachar para – Entregar para”

n3+an20

421

Código Postal com Código isso de País com 3 Dígitos

“ Despachar” para – Entregar para “

n3+n3+an9

422

País de Origem de um Item Comercial – Padrão ISO 3166

n3+n3

8001

Produtos em Rolo – Largura, Comprimento, Diâmetro do

Centro, Direção e Junções

n4+n14

8002

Identificador Eletrônico em Série para Telefones Celulares Móveis

n4+an..20

8003

Identificador Global de Ativo Retornável

n4+n14+an..16

8004

Identificador Global de Ativo Individual

n4+an..30

8005

Preço por Unidade de Medida

n4+n6

8006

Identificação do Componente de um Item Comercial

n4+n14+n2+n2

8007

Número de Conta de Banco Internacional

n4+an..30

8018

Número de Relação de Serviço Global

n4+n..18

8020

Número de Referência de Boleto de Pagamento

n4+an..25

8100

Código Estendido de Cupom – NSC+ Código de oferta (USA/Canadá)

n4+n1+n5

8101

Código Estendido de Cupom – NSC+ Código de oferta + final do código de oferta (USA/Canadá)

n4+n1+n5+n4

8102

Código Estendido de Cupom – NSC (USA/Canadá)

n4+n1+ n1

90***

Informação Combinada Mutuamente entre Parceiros Comerciais (Incluindo FACT DIs)

n2 +na..30

91-99

Informação interna de Empresa

n2+na..30

Tabela 01 – Tabela de AI´s

Onde:

  1. Quando forem necessários apenas ano e mês, DD deve ser preenchido com “00”.
  2. Mais um dígito para a indicação de comprimento.
  3. Estes Als compreendem 4 dígitos. Os três primeiros dígitos identificam o objetivo do AI, e o quarto dígito indica a posição do

ponto decimal.

***. O título do dado “vigente “ deve ser especificado pelo emissor da informação.


Exemplo do código 128 usando o padrão de programação ZPL:

Local cPorta := “COM1:9600,N,8,1”


MSCBPRINTER(“S500-8”,cPorta,,35)

MSCBBEGIN(1,6)

MSCBBOX(02,01,76,34,1)

aConteudo :={{“01″,”07893316010411”},;

{“10”,”0000970100″+MSCB128B()+”1″+MSCB128C()},;

{“37″,”0004”},;

{“21″,”000494”}}

MSCBSAYBAR(08,10,aConteudo,”N”,”MB07″,10,.F.,.T.,.F.,”C”,2,1,.F.)

MSCBEND()

MSCBCLOSEPRINTER()

 

Note: O conteúdo é do tipo array.





Código Natural

São os códigos de barra padrão EAN (8/13/128/UPC-A/UPC-E) e também o próprio código do produto.

  • Vantagens: não necessita da impressão da etiqueta de identificação, pois o código utilizado é o mesmo já impresso na embalagem dos produtos.
  • Desvantagens: não possui rastreabilidade tão detalhada quanto o código único. Não existe o controle de unicidade.



Código Interno

O código interno é  o conjunto das informações cadastradas na tabela CB0 - Código Interno.

Este tipo de código permite, quando da leitura da etiqueta, a visualização de várias informações sobre o produto, tais como, armazém, endereço, lote, data de validade, quantidade, etc.

  • Vantagens: Rastreabilidade forte e unicidade do produto.
  • Desvantagens: Identificação



Desenvolvimento de Código de Barras

Desenvolvidas bibliotecas disponíveis no RPO padrão, que permitem desenvolver códigos de barras para as seguintes linguagens de programação em ADVPL:

  • DPL: linguagem de programação datamax.
  • EPL: linguagem de programação eltron.
  • IPL: linguagem de programação intermec.
  • ZPL: linguagem de programação zebra.



Configuração do Server INI

[TELNET]

Enable=1

Environment=DBF811

Main=U_TESTERF

Port=1080

Onde:

Enable

Ativa/Desativa o serviço do Telnet server no Microsiga Protheus®.

Environment

Ambiente utilizado para execução da aplicação VT100.

Main

Indica qual é o programa principal a ser executado, na implantação do ACDSTD ou WMS necessário para que seja especificado, conforme segue Main=sigaacd.

Port

Indica a porta usada pelo serviço Telnet server.

MaxRow

Indica a quantidade de linhas disponíveis para utilização, tendo como default 8.

MaxCol

Indica a quantidade de colunas disponíveis para utilização, tendo como default 20

InactiveTimeOut

Indica a quantidade de segundos para desconectar, caso o equipamento esteja inativo.