Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Emitir Redução Z Ecf Daruma


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

Recommended Posts

  • Membros Pro

Estou com um problema ao enviar o comando " ACBrECF.ReducaoZ()", para ECFs Daruma.

Alguns segundos após o comando é retornado o seguinte erro "Impressora Daruma não está respondendo".

 

Coloquei alguns logs nessa procedure, para saber exatamente em qual linha está acontecendo o erro, e reparei que acontece na seguinte linha "fsECF.ReducaoZ( DataHora ); "

 

A redução Z é emitida assim que passa pelo código acima, porém as linhas que vem abaixo não são executadas.

 

Estou anexando uma imagem com as posições onde foram colocados os códigos para salvar os logs, e o arquivo que foi gerado.

 

Estou na versão de update do dia: 04/02/2013

 

 

Obrigado!


 

Log.rar

Link para o comentário
Compartilhar em outros sites

Experimente mudar as propriedades



ACBrECF.TimeOut := 10;
ACBrECF.IntervaloAposComando := 100;

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Uma dica, pegar os dados do Z antes de emiti-lo é a melhor forma, pois após todos os ECFs zeram os totalizadores, e nem todos ECFs, conseguem mandar informações pós RZ, mas se detenha no seguinte detalhe:
 

   ECF_NumCRZ        := StrToIntDef(TIF_Class.ACBrECF.NumCRZ, 0) +1; // Soma 1, pois ta pegando o CRZ antes da emissão da redução Z.
   ECF_NumCOO        := StrToIntDef(TIF_Class.ACBrECF.NumCOO, 0) +1; // Soma 1, pois ta pegando o COO antes da emissão da redução Z.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Bom dia!
 
Os valores das variaveis do ECF, pegamos antes de chamar a rotina para impressão da RZ.
 
No componente ACBrECF já estava definida as propriedades IntervaloAposComando e TimeOut conforme vc tinha passado.
 
Mesmo assim, na minha rotinha antes de tirar a RZ, eu atribui novamente os valores para o componente.
 
Eu estou colocando em anexo a minha rotina que gera a redução Z, já tentei fazer algumas modificações.
Ex:
  Antes e depois de chamar o comando para a impressão, colocamos um loop com sleep para aguardar se o ECF estiver processando alguma coisa.
    
    while ECFProcessando do    
      Sleep(2000);
       
 
Basicamente na rotina
 
1 - das linhas 12 a 33, verificações antes de emitir a Z.
2 - das linhas 35 a 85, pego os totais do ECF para gravar no banco de dados.
3 - das linhas 87 a 88, espera se o ecf estiver processando alguma coisa.
4 - das linhas 91 a 101 tira a Z. (Já da o erro na linha 96 ou 98 e não chega na linha 103 para baixo)
5 - das linhas 106 para baixo, gravo as variaveis no banco de dados, e chamo uma janela para o usuario visualizar a redução Z que foi emitida no ECF e comparar com o banco de dados e atualizo na tela o status do ECF.
 
O erro da sempre no passo numero 4, e nunca chega no 5.
 
Este problema esta acontecendo apenas em 2 clientes que usa o ECF daruma
  Um dos clientes, usa o ECF na porta USB usando o driver da DARUMA que emula uma porta serial.
  Já no outro cliente, usa maquina da DELL com serial, e o ECF esta ligado direto na placa serial.

Rotina para Gerar RZ.txt

Link para o comentário
Compartilhar em outros sites

Você já tentou disparar o comando sem informar a data? Se não tente.

 

Não vejo necessidade disso:

 

 

while ECFProcessando do
      Sleep(2000);

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Ok, verifique depois me retorne se funcionou ou não.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Foi gerado a versão sem a passagem dos parâmetros de data, mas mesmo assim o erro continua.

Fiz um outro teste, compilei e coloquei o "ECFTeste.exe" no cliente, no final do dia ao invés de gerar a RZ pelo meu sistema, gerei pelo ECFTeste, porém mesmo assim aconteceu o erro:

- + - + - + - + - + - + - + - + - + - + - + -
Impressora Daruma não está respondendo
 
- + - + - + - + - + - + - + - + - + - + - + -
 
Será que esse erro é resultante de algum defeito no hardware (ECF) ?
Link para o comentário
Compartilhar em outros sites

Olá, estamos analisando o que pode esta ocorrendo, assim que tiver alguma posição volto a te reportar ,continue acompanhando o post.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Valdemir, anexe o log aqui do momento que for emitir a redução Z, para que possamos analisar e tentar identificar se tem algum erro ou se o problema pode estar acontecendo devido o ECF mesmo.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

Ok Valdemir, esse ultimo log nos fala alguma coisa, o 1o que vc fez para nós não diz nada, vamos analisar para vê se podemos ajudar em algo mais.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

O erro ocorre somente com está impressora Daruma? Você tentou em outra?

Verificando seu log percebi que o problema na verdade ocorre ao ler a propriedade ACBrECF.DataHora, ele chega a retornar os dados corretamente, mas cai no erro, isso pode ser algo isolado desta impressora.

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
  • Solution

O TimeOut está muito baixo para Redução Z... hoje com os "bitmaps" a red.Z pode demorar vários minutos

 

 

Exemplo:

     try
        ACBrTEFD1.BloquearMouseTeclado( True ) ;
        OldTimeOut := ACBrECF1.TimeOut ;
        OldMsg     := UIAvisoAbertura;
        try
           UIAvisoAbertura  := 'Lendo Totais do Movimento...' ;
           Application.ProcessMessages;
           DadosReducao.Text := ACBrECF1.DadosReducaoZ ;
           IniRedZ.SetStrings( DadosReducao );
           IniRedZ.WriteInteger('ECF', 'NumCOO', NumCOO);

           UIAvisoAbertura  := 'Emitindo Redução Z. Aguarde...' ;
           Application.ProcessMessages;
           ACBrECF1.TimeOut := 480 ;  // 5 minutos
           ACBrECF1.ReducaoZ( now ) ;
           Ok := True ;
           ACBrECF1.TimeOut := OldTimeOut ;

           // Tenta Ler DadosUltimaReducaoZ //
           UIAvisoAbertura  := 'Lendo Dados da Reduçao Z...' ;
           Application.ProcessMessages;
           try
              RetornoDadosUltimaReducaoZ := ACBrECF1.DadosUltimaReducaoZ;
           except
           end ;
        finally
           ACBrECF1.TimeOut := OldTimeOut ;
           UIAvisoAbertura  := OldMsg;
           ACBrTEFD1.BloquearMouseTeclado( False ) ;
        end ;

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

  • Membros Pro

Este erro acontece somente em duas impressoras Daruma, tenho várias outras impressoras da mesma marca e modelo que não acontece o problema.

 

Eu tinha aumentado as propriedades conforme o Isaque postou:


 
ACBrECF.TimeOut := 10;
ACBrECF.IntervaloAposComando := 100;

 

 

Vou aumentar para 480 conforme seu código acima para fazer o teste.

Link para o comentário
Compartilhar em outros sites

Olá Valdemir, que bom que conseguimos resolver seu problema, precisando é postar aqui no fórum, grande abraço.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

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