Ir para conteúdo
  • Cadastre-se

dev botao

Código De Barras


Ver Solução Respondido por Fernando Kerber,
  • Este tópico foi criado há 3601 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia pessoal,

Estou gerando código de barras pelo fortes reports mas tenho clientes que utilizam códigos de 4 a 14 digitos sem nenhum tipo de calculo de dígito verificador, ja mudei a propriedade BarCodeType do RLDBBarCode para bcCode2OF5Interleaved mas ele le corretamente apenas códigos com numeros pares, o bcEAN13 só le se existe 13 digitos e com o digito verificador, o bcCode2OF5Industry até le todos mas gera um código muito extenso.

Alguem sabe alguma maneira de gerar códigos de barras de 4 a 14 dígitos que imprima e que qualquer leitor leia corretamente?

 

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

Pelo que conheço, códigos de barras tem que ter 8, 13 ou 14 numeros. Existem outros tipos, mas para produtos são usados estes tipos. Para os leitores de códigos de barras fazerem a leitura corretamente, tem que estar neste formato. Você pode completar com zeros a esquerda, para se adequar ao numero de digitos corretos. E também o último número tem que ser um dígito verificador, gerado a partir de um calculo dos outros numeros do ean.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Pelo que conheço, códigos de barras tem que ter 8, 13 ou 14 numeros. Existem outros tipos, mas para produtos são usados estes tipos. Para os leitores de códigos de barras fazerem a leitura corretamente, tem que estar neste formato.

   Na verdade, para controle interno, pode-se utilizar até um QrCode. Não há problema desde que o leitor aceite o código. No entanto é aconselhável utilizar o código GTIN/EAN para produtos pois é de padrão internacional.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Sim, até estava segundo o padrão da GS1, ele imprimia de 8, 13 e 14 digitos, mas importei uma base de um outro software para o nosso onde tem etiquetas de 4 a 14 digitos e entrei em contato com o cliente e ele me passou que o software antigo gerava as etiquetas com código de barras, desde então estou buscando uma maneira de atender a esse cliente.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

  • Consultores

Eu já utilizei outro tipo de etiqueta. Mas faz tanto tempo que não me lembro mais o padrão.

Uma sugestão é pegar uma etiqueta no cliente e tentar identificar o que eles utilizavam.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Estou com a base deles aqui e os códigos de barras não seguem nenhum padrão, é uma loja de confecção e o que  falei com o pessoal la é que eles informavam os códigos manualmente seguindo uma sequencia interna deles, mas em alguns produtos estao 000000000894, e tem outros apenas 150, pelo o que me passaram tambem é que tinham varios funcionarios e cada um informava o código de barras de uma maneira, provavelmente nao tinha nenhum controle, mas eles faziam venda pelo ECF utilizando um leitor de código de barras. Então eu teria que saber como o software anterior deles trabalhavam ou se tem alguma maneira de fazer gerar códigos com diversas quantidades de dígitos.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

  • Solution

Fiz essa verificação para quebrar um galho e pelo ao menos deixar o cliente satisfeito por em quanto,

-veriifiquei no Before Print se o código de barras for igual a 4, igual a 5 ou igual a 7 ele muda a propriedadde BarcodeType para 2/5 Industry, esse codigo de barras é tipo um "universal" (o leitor le toda e qualquer numeração informada) mas a barra fica bem extensa, então 4, 5, e 7 digitos são pequenos e cabe na minha etiqueta;

-Se tiver 6, 8, 10,12 ou 14 digitos mudei a propriedade para 2/5 Intervaled, essa propriedade imprime corretamente apenas códigos com numeros pares,

-Se for 9 ou 11 digitos mudei a propriedade para bcCode128C onde é menor que o 2/5 Industry e le perfeitamente com essas duas numerações;

-Se for 13 ditos deichei o EAN13 dai la no campo também só faz a verificação do dígito verificador se tiver 13 digitos.

procedure TFFEstoque.RLDetailGrid9BeforePrint(Sender: TObject; var PrintIt: Boolean);
begin
   if (Length(DataM.ADQTempCAMPO5.AsString) = 4) or (Length(DataM.ADQTempCAMPO5.AsString) = 5) or (Length(DataM.ADQTempCAMPO5.AsString) = 7) then
      RLDBBarcode2.barcodetype := bcCode2OF5Industry;
   if (Length(DataM.ADQTempCAMPO5.AsString) = 6) or (Length(DataM.ADQTempCAMPO5.AsString)= 8) or (Length(DataM.ADQTempCAMPO5.AsString)= 10) or (Length(DataM.ADQTempCAMPO5.AsString) = 12) or (Length(DataM.ADQTempCAMPO5.AsString) = 14) then
      RLDBBarcode2.barcodetype := bcCode2OF5Interleaved;
   if (Length(DataM.ADQTempCAMPO5.AsString) = 11) or (Length(DataM.ADQTempCAMPO5.AsString) = 9) then
      RLDBBarcode2.barcodetype := bcCode128C;
//Aqui só cod barras com dígito verificador
   if Length(DataM.ADQTempCAMPO5.AsString) = 13 then
      RLDBBarcode2.barcodetype := bcEAN13;
end;

Lembrando que isso é para códigos de barras internos, e também se alguem tem uma maneira mais prática para fazer me digam. Obrgado.

"A arte de programar consiste em organizar e dominar a complexidade." 🤖

-Edsger W. Dijkstra

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3601 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.