Ir para conteúdo
  • Cadastre-se

dev botao

Vende Item - Travando


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

Recommended Posts

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?

Link para o comentário
Compartilhar em outros sites

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!

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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
Link para o comentário
Compartilhar em outros sites

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!

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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
Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Fundadores

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 ) ;

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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

- 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.

Link para o comentário
Compartilhar em outros sites

- 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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

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.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...