Ir para conteúdo
  • Cadastre-se

frankdors

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

frankdors's Achievements

Newbie

Newbie (1/14)

  • Dedicated Rare
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

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