Etiqueta de produtos com codigo de barras

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
nilv
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 25 Jan 2013 13:54
Localização: viçosa/MG

Etiqueta de produtos com codigo de barras

Mensagem por nilv »

Estou postando a etiqueta de produtos com codigo de barras que acabei de fazer para quem precisar.
Nilson Vilela
GheRel.Prg
(5.03 KiB) Baixado 543 vezes
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Etiqueta de produtos com codigo de barras

Mensagem por Pablo César »

Obrigado Nilson por compartilhar conosco !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Como estou estudando Minigui e/ou HMG pediria ao NILV, informar qual é o valor do parametro (cSource) a ser informado à rotina e como ela deve ser encaixada para funcionamento visto que ela não deve ser a principal.

Para o arquivo .DBF a ser utilizado, eu criei um derivado de outro, que já tem os códigos de barras cadastrados, reais e válidos.

Mas seria interessante constar ao menos a estrutura que essa rotina está utilizando para evitar algum erro de execução.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Alguém conseguiu funcionar essa rotina que usa o fonte GheRel.PRG ?

Do jeito que está não acontece nada, pois deve estar faltando algo, tais como, como ela se encaixa com outra possível, qual(is) parâmetros são necessários, etc.


Por obséquio, quem tiver as informações, partilhe-as.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Etiqueta de produtos com codigo de barras

Mensagem por Pablo César »

Oi Billy,

Eu não testei, apenas dei uma olhada superficial, mas pelo que parece, a função MOL_ean13 só precisa que você passe o código de barras em forma de caracter (não numero): "123456787" (com aspas).

E essa função não é a principal, portanto faça um exemplo seu com uma função Main, como é exigido em Harbour e chame a função MOL_ean13 passando o parâmetro que veria a ser o código (numero em forma de caracter) de barras.

Veja se é assim como estou recomendando e nos retorne dando detalhes de erro caso não funcione.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Oi, Pablo César

Eu verifiquei o fonte e a função inicial não é a MOL_Ean13 e sim a PrintEAN13.

Se não for informado parametro algum, ocorrerá um erro na linha da função InputBox, apesar dele gerar a variável cKodEan13, com
as mensagens:

InputBox(4822)
_DEFINEMODALWINDOW(4119)
Main Window not defined. Program terminated.

Código: Selecionar todos

*----------------------------------------------------------------------------------------------------------------------*
function PrintEAN13
*----------------------------------------------------------------------------------------------------------------------*
	param cKodEan13, nCodeHeight, nModuleWidth
	
	local i, cPreparedEAN13
	local nOffset, nBeginRow, nEndRow
	local lWhiteStrip, vcod, vdesc, vquant, vpreco
	altd()
      Caminho:= "\"+curdir()+"\DBF\gerauxme.DBF"
      Select 1
      USE (Caminho) alias AUX NEW SHARED
      index on itens to gerteste
      select AUX
      go top
   vcod:=  AUX->codpro
   vdesc:= AUX->nomepro
   vquant:=AUX->quantid
   vpreco:=AUX->precuni/3
	if valtype (cKodEAN13) <> "C"
*	cKodEAN13 := "7896026200001"
   cKodEAN13 := "78960262"+TRANSFORM(STRZERO(AUX->codpro),"@!")
   cKodEAN  := "78960262"+"-"+TRANSFORM(STRZERO(AUX->codpro),"@!")
*	cKodEan13 := space(13)
		cKodEan13 := InputBox("Enter EAN13 BarCode","Enter EAN13 BarCode", cKodEan13)
	endif
Se for informado um código de 13 caracteres como um EAN13 válido, o programa dará erro quase no final da rotina, em

Código: Selecionar todos

	END PRINTDOC 
com as mensagens:

PRINTEAN13(190) // É a linha do END PRINTDOC
_HMG_PRINTER_SHOWPREVIEW(4189)
_DEFINEwINDOW(3732)
Main Window not defined program terminated


Notei mesmo a falta de algo para a rotina ser encaixada, mas como sou novato em Minigui, peço a ajuda dos veteranos...

A rotina pode ser melhorada ainda se o banco de dados em .DBF já vir com os códigos de barras dos produtos com DV, ou seja, reais e válidos, porque assim poderíamos compará-los.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Ao PABLO CÉSAR e outros que tentaram fazer funcionar essa rotina e não conseguiram:

- essa rotina está na pasta HMG\Samples\PrintEAN13 com o arquivo fonte denominado DEMO.PRG, e que funciona OK.
- ela gera uma etiqueta por vez, com o código de barras padrão EAN13
- ela foi desenvolvida por:

/* Copyright (c) 2012.11.06 Marek Olszewski mol@pro.onet.pl
based on original idea by Robin Stuart and libzint
*/


Como a rotina objeto deste tópico (GheRed.PRG) está incompleta, vou tentar melhorá-la incorporando o acesso a um banco de dados onde os códigos a serem impressos já estarão prontos, consistidos, com DV checado e tudo, para poder ser usada em um Controle de Estoque cujos produtos já tem o EAN13 como padrão (como no caso da NF_e);

Quando ele estiver funcional, como era minha intenção ao estudar essa função, colocarei à disposição dos colegas.

Aguardem...
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Conforme prometi, estou disponibilizando em DOWNLOADS, o arquivo ETIQUETA.rar que contém:

- fonte ETIQ.PRG
- banco de dados ETIQ.DBF
- executável ETIQ.EXE
- batch BUILD.BAT

Como premissa de quem o desenvolveu inicialmente, fica liberado seu aperfeiçoamento, que não faço, por enquanto, dado meu noviciado, tais como:

- seleção das etiquetas do arquivo de dados por meio de GRID
- quantidade de etiquetas a emitir por produto

Condição única para quem o fizer:
- disponibilizar aos colegas neste fórum, documentando o máximo que puder essas alterações
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Etiqueta de produtos com codigo de barras

Mensagem por Pablo César »

Muito bom Billy, parabéns pela sua iniciativa em disponibilizá-lo na seção de Downloads

O exemplo ficou jóia !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
nilv
Usuário Nível 1
Usuário Nível 1
Mensagens: 28
Registrado em: 25 Jan 2013 13:54
Localização: viçosa/MG

Etiqueta de produtos com codigo de barras

Mensagem por nilv »

Postei a função completa com todos arquivos um tempo atras, mas so alguns codigos de barras que funcionavam, pesquisei um pouco mais e descobri que existe o digito verificador para que o leitor possa ler corretamente e agora estou postando completo e corrigido.
Anexos
barra.rar
(772.22 KiB) Baixado 375 vezes
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Eu comentaria com o colega NILV que o código de barras do jeito que está sendo produzido na rotina não é o correto.
Não se pode obtê-lo, com uma parte fixa (7896026) e acrescentando uma variável crescente, mesmo que depois se calcule o DV dessa "string" obtida.
Poderia fazer igual ao que supermercados usam para seus produtos de açougue, padaria, onde geram seus codigos começando por "02.....", pois começar
por 7896026... poderia causar uma colisão com outro código de barras de outra empresa que tem o código válido e registrado.
Eu sei que estamos apenas verificando uma forma de imprimir as etiquetas sem ter de depender de fontes pagos ou ainda de juntar executáveis de propriedade
de terceiros, tais como o LabelMagic, etc.

Pediria ao NILV caso ele ou outro colega que se interessou pelo assunto, que vale tanto pelo aprendizado como pela utilidade da rotina, se foi verificado também
se a impressão do código de barras está perfeita, pois nos testes que fiz os códigos a serem impressos estão meio "esquisitos", falta-lhes nitidez, bem diferentes
de outros que gerei pela internet ou ainda comparando com os constantes nos produtos que simulei.

Teria como melhorá-los para que ficassem com o formato (altura, largura) o mais aproximado possível das que constam nos produtos ?
Dá a impressão que as barras estão misturando-se formando um borrão.

Como não tenho um leitor de código de barras padrão EAN13, fica o meu pedido.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Etiqueta de produtos com codigo de barras

Mensagem por Claudio Soto »

billy1943 escreveu:Teria como melhorá-los para que ficassem com o formato (altura, largura) o mais aproximado possível das que constam nos produtos ?
Hola Billy,
en el correr de esta semana sale la nueva versión de HMG (3.1.5) la cual mediante el empleo de las bibliotecas HBZebra y Bos Taurus permitirá generar códigos de barra en diferentes formatos.
Saludos,
Claudio.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Etiqueta de produtos com codigo de barras

Mensagem por billy1943 »

Hola Dr. Claudio
Gracias por el recordatorio de usted!
He descargado el software todavía está en pruebas, y yo verificaré su alcance, aunque mi uso de HMG es todavía incipiente.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Responder