Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá pessoal, estou tendo um problema com o comando Vende Item com as ECF FS600 e FS700.

Abro o cupom e começo a vender normalmente, quando chega o item de nº 165 o ECF me retorna um erro de falta de comunicação, tenho que aguardar alguns segundos para que ela destrave para continuar a vender novamente!

Alguém já passou por isso?

Postado

Olá Regys, todos os outros itens estão normal, ele sempre da essa travando nos itens 165/330/495, no caso a cada 165 itens ela trava...

Não é problema no ECF porque esta acontecendo em varios clientes meus e tb na ECF que tenho aqui de teste... vou fazer um teste com a Bematech para ver o que acontece!

Postado

Regys, acabei de fazer os testes aqui com a ECF Bematech e não deu nenhum problemas. Quanto ao passar algum dados errado acho difícil, pois utilizo a muito tempo desse mesmo jeito a rotina e não mudei nada nela!

  • Moderadores
Postado

Conversei com o suporte da Daruma, acontece o seguinte, a impressora Daruma da essa parada para gravar os dados do buffer na MFD nesse momento ela bloqueia a serial até terminar o processo, por isso ocorre o erro no ACBr.

Vou verificar aqui um possível tratamento para essa situação, logo que tiver uma resposta eu já atualizo os fontes.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Conversei com o suporte da Daruma, acontece o seguinte, a impressora Daruma da essa parada para gravar os dados do buffer na MFD nesse momento ela bloqueia a serial até terminar o processo, por isso ocorre o erro no ACBr.

Vou verificar aqui um possível tratamento para essa situação, logo que tiver uma resposta eu já atualizo os fontes.

Ok Regys, se precisar do LOG me avise que anexo ele aqui... isso está me dando um transtorno danado em meus clientes!

  • Moderadores
Postado

Teste a emissão com o projeto anexado.

Fizemos testes aqui e não deu o erro, registrou todos os itens normalmente, o ACBr já trata a parada da impressora para a gravação da MFD.

Veja se com este projeto em anexo roda direitinho, se rodar verifique as configurações do teu ACBr com as deste.

Basicamente foi alterado o modelo, porta e velocidade da porta, o resto é o default do ACBr.

Você vai precisar alterar a porta do componente antes de rodar ai está fixo.

teste_cupom.zip

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Olá Regys, testei esse seu exemplo e funcionou normalmente, só que quando faço o teste com o meu passando os produtos com o leitor de código de barras ele sempre da o erro de falta de comunicação, estou lhe anexado os dois log.

log.zip

  • Fundadores
Postado

Experimente o ECFTeste, na rotina Teste de Velocidade, criar um Cupom de 100 Itens por exemplo...

Observe o que é descrito nos fontes do ECFTeste


For i := 1 to nItens do
begin
if i = 1 then
if Resp = mrYes then
mResp.Lines.Add('Estado ECF: '+EstadoECF) ;

ACBrECF1.VendeItem( IntToStrZero(i,3),
'DESCRICAO PRODUTO: '+IntToStrZero(i,3),
'NN',1,i/100,0,'UN') ;
{ Aguarda 1 segundo ou até o ECF ficar Em linha novamente }
ACBrECF1.EmLinha( 1 ) ;
mResp.Lines.Add('Item '+IntToStr(i)+': '+ FormatFloat('###.##',SecondSpan(tIni,Now))+' segundos');
{ Semelhante ao "AguardaImpressao := True", porém é mais rápido, pois no
método "VerificaFimImpressao" alem de verificado o "EmLinha" também é
solicitado o Status do ECF }
end ;
[/code]

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Amigo é venda frenetica?

aconteceu comigo isso lá em 2010 com venda frenetica principalmente de caixas de supermercados

Olá Junior, minha venda é comumitante sim, quando faço os testes sem serem comumitantes passando para imprimir X itens funciona normalmente, e 90% dos meus clientes são supermercados :D

Postado

Você verificou se os parâmetros da sua aplicação batem com os parâmetros do exemplo que te enviei ?

Olá Regys, os parâmetros estão iguais a que vc colocou no cupom teste!

Postado

Notou o código acima ?

insira após a chamada do VendeItem:

{ Aguarda 1 segundo ou até o ECF ficar Em linha novamente }

ACBrECF1.EmLinha( 1 ) ;

Olá Daniel, inseri o comando ACBrECF1.EmLinha(1) mais mesmo assim deu o erro.

  • Fundadores
Postado

- Tente um tempo maior do que 1 seg.

- Compare os seus fontes com o do ECFTeste

- Certifique-se de que não há nenhum evento no seu programa que também tenta se comunicar com o ECF

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

- Tente um tempo maior do que 1 seg.

- Compare os seus fontes com o do ECFTeste

- Certifique-se de que não há nenhum evento no seu programa que também tenta se comunicar com o ECF

Olá Daniel, coloquei em 2 segudos e tb não deu.

- Fiz um formulario somente para fazer esses testes.

  • Fundadores
Postado

Seu projeto não tem um tratamento do Filas e nem bloqueio da Interface, para evitar que o usuário dispare 2 eventos simultaneamente... e quando isso ocorre fatalmente vc terá erro de comunicação com o ECF...

Jeito simples de resolver:

ACBrECF1.Device.ProcessMessages := False ;
Ou... veja o exemplo do botão "Imprimir" do Formulário VendeItem do projeto ECFTeste

Button1.Enabled := False ; // Desabilita a Interface do usuário, para evitar vender outro Item enquanto imprime
...
try
Form1.ACBrECF1.VendeItem( edCodigo.Text, edDescricao.Text,
edICMS.Text, StrToFloatDef( edQtd.Text, 0 ),
StrToFloatDef( edPrecoUnita.Text,0 ),
StrToFloatDef( edDescAcres.Text,0 ), edUN.Text,
Tipo, Desc );
finally
Button1.Enabled := True ; // Reabilita a interface
end ;
[/code]

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Este tópico foi criado há 4789 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.