Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde!

Estou em homologação e preciso de uma ajuda o mais rápido possível.

Ao chamar a função adm. de cancelamento estou recebendo o retorno de "impressora não responde", estou conectado na máquina remota da homologação e estamos usando uma Daruma FS700 conectada via serial. Meu sistema apenas consegue se comunicar com o ECF quando utilizo o bit rate 112500 bit/s.

Detalhe que tenho o mesmo ECF aqui em minha empresa, porem usando via USB e o problema não ocorre.

Alguma sugestão?

Postado

Lucas,

Apesar de não ter muitos conhecimentos do ACBrTEFD ainda...

Mande o log do ACBrECF e do ACBrTEFD, para analise. Talvez possa te ajudar.

Postado

Vou solicitar a equipe que está em homologação e retorno em breve.

Uma detalhe interessante é que a mensagem de "Impressora não está respondendo" é apresentada mesmo quando o ECF está ativo. Já ocorreu nas etapas: Impressão de comprovante não fiscais, impressão das vias de CDC, entre outros, assim não atendendo aos requisitos da homologação.

Postado

Analisando o Log apresenta "Tentativa: 1"

19:19:15:187 RX <- :0000000[213][CR][210]

-- 19:19:15:187 LinhaCupomVinculado(     ### CREDITADO OU DEBITADO  ###[CR][LF][CR][LF][CR][LF] )

Daruma: Falha no Envio do CMD. Tentativa: 1 - Erro: 0 - Estendido: 0 -> Erro não documentado Cod.Aviso: 0

                TX -> [FS]F[213]    ### CREDITADO OU DEBITADO  ###[LF][LF][LF][255][19]

   19:19:21:937 RX <- :0000000

----------------- ERRO -----------------

Impressora Daruma não está respondendo

----------------------------------------
Então analisamos a função que envia os comandos a impressora e percebemos que o mesmo está configurado p/ fazer novas tentativas quando ocorre "Erro não documentado = 99", porém o erro zero "0", também é um erro não documentado Imagino que o Correto deveria ter adicionado ali também a regra " or (fsErro = 0) " para que o comando seja enviado novamente... estou certo?
Function TACBrECFDaruma.EnviaComando_ECF( cmd : AnsiString ) : AnsiString ;

 Var Tentativas : Integer ;

begin

  {   Nas Darumas com MFD, em algumas situações o ECF pode ficar temporariamente

    inoperantente, enquanto a compactação da MFD está sendo efetuada. Nessa

    situação, o ECF retorna os seguintes códigos de erro:

     35 - Relogio Inoperante ou 99 (não documentado)


      Segundo o Suporte Técnico da Daruma, quando este problema ocorre, devemos

    aguardar até que ele consiga responder corretamente.


      Esta rotina irá tentar enviar o comando por 10 vezes. Caso ela recebe os

    erros 35 ou 99... ele aguarda 100 milisegundos e tenta um novo envio...   }


  Tentativas := 0 ;

  while (Tentativas < 10) do  // Tenta enviar o comando por 10 vezes

  begin

     try

        Result := EnviaComando_ECF_Daruma( cmd ) ; // Envia o comando

        Break ;                                    // Tudo OK, saindo..

     except

        GravaLog('Daruma: Falha no Envio do CMD. Tentativa: '+IntToStr(Tentativas+1)+

                 ' - Erro: '+IntToStr(fsErro)+' - Estendido: '+IntToStr(fsErroSTD) +

                 ' -> ' + ErroEstendidoTexto(fsErro) +

                 ' Cod.Aviso: '+IntToStr(fsCodAviso) );

        if (fsCodAviso = 40) or (fsErro = 35) or (fsErro = 99) then  // Está compactando MFD ?

         begin

           GravaLog('        Tentando novamente');

           Sleep(100) ;

         end

        else

           raise ;

     end ;


     Inc( Tentativas ) ;

  end ;

end ;

Postado

qual o TimeOut ?

Em 5 segundos.

Notei que o erro não está ocorrendo no mesmo ponto... o que provavelmente significa problemas na comunicação serial...

Tente essa dica:

viewtopic.php?p=39161#p39161

Não tenho como testar isto, pois o homologador tem o ECF em sua máquina local e está conectado remotamente na máquina de homologação. Detalhe que esta máquina de homologação é disponibilizada por eles e é virtualizada. Tem alguma outra maneira de efetuar este teste?

Obs: Já foi testado com outros 2 ECF (bematech mp4000 e daruma fs600), que também apresentaram o mesmo problema. O homologador afirma que está usando uma DARUMA MACH2 ligada via SERIAL com a bitrate 115200.

Postado

Também acredito que seja problema de comunicação com a máquina virtual, pois as vezes ocorre e as vezes não.

Enfim, conseguimos homologar na base do " as vezes não " uhauhauha...

Obrigado pela ajuda e pela atenção! :)

Abraço

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