betovsp Posted December 22, 2020 Report Share Posted December 22, 2020 Boa noite amigos. Como faço para ler o código de barras de uma balança filizola, pra pegar o código do produto + peso pra fazer uma venda no PDV? Obrigado. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 22, 2020 Report Share Posted December 22, 2020 Não entendi? Quote Link to comment Share on other sites More sharing options...
marcioe Posted December 22, 2020 Report Share Posted December 22, 2020 Olá, bom dia nos nossos sistema temos algo assim para evitar problemas quando se mudar de marca, modelo, ou seja configuramos conforme a balança do cliente Veja a imagem Seria isso meus amigos Quanto ao Código, seria assim, algumas funcoes de exibição de msg não estão no exemplo, mas basta trocar por alert(), ou comentar Tipo MOSTRAR_INCONSISTENCIA(..........) AGUARDE_PROCESSANDO_TRES_LINHAS(......) Segue abaixo, bom proveito *=============================================================================== * LER_PESO_ * Funcao que faz o peso da balança *=============================================================================== FUNCTION LER_PESO_BALANCA(o_numero_tentativa) *---------------------------------------------------------------------------- ERROS_INCONSISTENCIA := 0 aInconsistencias := {} *---------------------------------------------------------------------------- IF SELECT("parametros") != 0 parametros->(DbCloseArea()) ENDIF cQuery:= ' select * from parametros ORDER BY ID ' use sql cQuery alias "parametros" new via 'MYSQL' parametros->(DbGoTop()) *---------------------------------------------------------------------------- IF parametros->ID == 0 MsgStop('Arquivo de Parâmetro Inválido !',SISTEMA) RETURN .F. ENDIF *---------------------------------------------------------------------------- T_BALANACA_PORTA := ALLTRIM(parametros->BALANACA_PORTA) T_BALANACA_VELOCIDADE_PORTA := VAL(ALLTRIM(parametros->BALANACA_VELOCIDADE_PORTA)) T_BALANACA_BITS_PORTA := VAL(ALLTRIM(parametros->BALANACA_BITS_PORTA)) T_BALANACA_PARIDADE_PORTA := VAL(ALLTRIM(parametros->BALANACA_PARIDADE_PORTA)) T_BALANACA_TEMPO_PORTA := VAL(ALLTRIM(parametros->BALANACA_TEMPO_PORTA)) T_BALANACA_BUFFERS_PORTA := VAL(ALLTRIM(parametros->BALANACA_BUFFERS_PORTA)) *---------------------------------------------------------------------------- AGUARDE_PROCESSANDO_TRES_LINHAS("Aguarde, "+ alltrim(parametros->BALANACA_MODELO),"Lendo Peso da Balança "+alltrim(T_BALANACA_PORTA),"Tentativa.: "+alltrim(str(o_numero_tentativa,10,0))+'/50' ) *---------------------------------------------------------------------------- IF ALLTRIM(parametros->BALANACA_INTEGRADA) != 'S' ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Sistema Não está Configurado para Integração Com Balança',; '',; '',; '',; '',; ''} ) ENDIF *---------------------------------------------------------------------------- IF EMPTY(ALLTRIM(T_BALANACA_PORTA)) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Porta de Comunicação Não Está Preenchida em Parâmetros',; '',; '',; '',; '',; ''} ) ENDIF *---------------------------------------------------------------------------- IF T_BALANACA_VELOCIDADE_PORTA = 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Velocidade da Porta de Comunicação Não Está Preenchida em Parâmetros',; '',; '',; '',; '',; ''} ) ENDIF *---------------------------------------------------------------------------- IF T_BALANACA_BITS_PORTA = 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Bits da Porta de Comunicação Não Está Preenchida em Parâmetros',; '',; '',; '',; '',; ''} ) ENDIF *---------------------------------------------------------------------------- IF ERROS_INCONSISTENCIA != 0 MOSTRAR_INCONSISTENCIA(aInconsistencias,'Problemas Com a Configuração da Balança','Tipo|Num|Descricao|Informação|*|*|*|*') ENDIF *---------------------------------------------------------------------------- *NHANDLE:=Init_Port("COM3",9600,8,0,1,8000) // conf da porta serial NHANDLE:=Init_Port( (T_BALANACA_PORTA) , (T_BALANACA_VELOCIDADE_PORTA) , (T_BALANACA_BITS_PORTA) , (T_BALANACA_PARIDADE_PORTA) , (T_BALANACA_TEMPO_PORTA) , (T_BALANACA_BUFFERS_PORTA) ) &&&// conf da porta serial OutBufClr(NHANDLE) // Limpa o Buffer de Saida OUTCHR(NHANDLE,CHR(5)) SysWait(0.3) Bytes := InbufSize(NHANDLE) DADOS := SPACE(20) Buffer := InChr( NHANDLE, Bytes, @DADOS) //LER BUFFER DE ENTRADA DA BALANCA UnInt_Port(nHandle) dados := alltrim(dados) * A comando abaixo pega a quantidade lida da balança Q=val(substr(dados,2,5))/1000 IF Q=0 PU=1 VLU:=TRANSFORM(PU,"@E 9999.99") ENDIF odlgwait:end() RETURN Q //retorna a quantidade para ser manipulada pelo programa Quote Link to comment Share on other sites More sharing options...
rochinha Posted December 24, 2020 Report Share Posted December 24, 2020 Amiguinhos, O codigo da balança vem mais ou menos assim 2xxxxxxnnnnn onde 2 indica que o codigo precisa ser tratado, xxxxxx indica o código do produto no estoque(com zeros a esquerda) e nnnnn indica o valor R$ pesado. Bastará destrinchar, recalcular o que for necessário e trabalhar a inserção no pedido. Quote Link to comment Share on other sites More sharing options...
betovsp Posted January 4, 2021 Author Report Share Posted January 4, 2021 Em 24/12/2020 at 13:42, rochinha disse: Amiguinhos, O codigo da balança vem mais ou menos assim 2xxxxxxnnnnn onde 2 indica que o codigo precisa ser tratado, xxxxxx indica o código do produto no estoque(com zeros a esquerda) e nnnnn indica o valor R$ pesado. Bastará destrinchar, recalcular o que for necessário e trabalhar a inserção no pedido. Isso mesmo rochinha, essa explicação bateu com o que ela a balança imprime. Deu certo. Obrigado. rochinha 1 Quote Link to comment Share on other sites More sharing options...
rochinha Posted January 6, 2021 Report Share Posted January 6, 2021 Amiguinhos, betovsp que bom que todos nós conseguimos chegar a um resultado. Sucesso. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.