Ir para conteúdo
  • Cadastre-se

dev botao

Problema Na Hora Do Desligamento Da Ecf No Meio Da Impressao Do Ccd Ou Rg


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

Recommended Posts

  • Moderadores

Bom dia todos!

 

Estou tendo uma dúvida na hora de desligar a ecf durante a impressão do comprovamente. Fiz estes testes no demo e aconteceu da mesma forma. Minha sequencia de passos é a seguinte:

 

1 - abro o cupom e vendo item

2 - realizo a 1ª transação de cartão

3 - realizo a 2ª transação de cartão

4 - subtotalizo o cupom

5 - registro as as formas de pagamento

6 - fecho o cupom

 

Até aí blz. Depois:

 

1 - inicia a impressão do comprovante

2 - desligo o ecf no meio da impressão

3 - apresentada a mensagem "IMPRESSORA NÃO RESPONDE. TENTAR NOVAMENTE? SIM/NAO"

4 - se for escolhido SIM, ficará em looping como tem que ser

5 - se eu clicar em NÃO e com a ecf ainda desligada:

5.1 - segunda transação é desfeita

5.2 - primeira transação é cancelada

 

Obs: Lembrando que até o momento a ECF ainda está desligada.

 

Aí que acontece o problema. Como foram canceladas as transações, fica acontecendo um looping para imprimir o comprovante de cancelamento, ou seja fica tentando cancelar a primeira transação novamente sempre. Aí se eu ligo a ECF, não sai cancelamento algum, fica só o looping pedindo o cancelamento. Só que a transação já foi cancelada, não pode ser cancelada novamente. Eu verifiquei que na pasta "tef\" fica o arquivo "ACBr_TEF_DIAL_001.tef". É o que causa esse looping.

 

Aí bagunça tudo, pois não cancela o comprovante atualmente aberto na ECF, e fica esse looping de cancelamento sempre.

 

Configuracao:

 

Gerenciador: tefDial

Simulador: Pay&Go

Multiplos cartões: Sim

Auto Efetuar Pagamento: Não

Auto Finalizar Cupom: Não

 

 

Será que alguém pode me ajudar.

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Galera, tentei fazer algo aqui no componente para tratar tal problema, mas não consegui evolução alguma, só atrapalhei...

 

Alguém chegou a verificar isso e que possa me ajuda???

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Clerber tem algo errado nas suas configurações, porque isso é homologado praticamente toda a semana por alguém e é totalmente automático no ACBrTEF e ACBrECF, eu mesmo fiz testes aqui semana passada e não tive problemas com isso.

 

Existe inclusive alguns tópicos tratando dessa mesma situação aqui no fórum, mostrando como configurar corretamente e efetuar os tratamentos.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Consultores

Se eu entendi bem o que você quer é que o componente envie o cancelamento para o ECF. Tente então verificar o porquê do componente não estar enviando o cancelamento para o ECF. Talvez ele não esteja fazendo o teste para saber se o ECF já está online.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Se eu entendi bem o que você quer é que o componente envie o cancelamento para o ECF. Tente então verificar o porquê do componente não estar enviando o cancelamento para o ECF. Talvez ele não esteja fazendo o teste para saber se o ECF já está online.

 

Eu queria encontrar a forma de quebrar esse looping de cancelamento da primeira transação

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Consultores

Certo. Você conseguiu verificar porque o loop acontece e o porquê de ele não ser quebrado?

Eu imagino que possa ser por causa da não atualização do estado do ECF, mas não tenho certeza. Não estou com essa parte do código "fresca na memória".

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Eu consegui amenizar um pouco.

 

Quando religa a ecf, a mesma imprime os comprovantes de cancelamento e finaliza com sucesso.

 

Mas enquanto está desligada, fica com o looping pedindo o cancelamento da primeira transação:

 

Se eu cancelo uma vez, aparece a mensagem de transação cancelada, assim como o homologador disse que tem que ser.

Se eu consultar as transações no GP, está la a primeira transação como cancelada, só que o ACBrTEF fica pedindo o cancelamento novamente.

Editado por Cleber

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

O meu evento OnInfoECF está assim:

  try
    case Operacao of
      ineSubTotal :
        begin
          ASubTotal := ECF.Subtotal ;
          if Cupom.vAcrescimo > 0 then
            ASubTotal := ASubTotal - ECF.TotalPago;
          RetornoECF := FloatToStr(ASubTotal);
        end;

      ineTotalAPagar :
        RetornoECF := FloatToStr(Cupom.vPago);

      ineEstadoECF :
        begin
          case ECF.Estado of
            estLivre     : RetornoECF := 'L';
            estVenda     : RetornoECF := 'V';
            estPagamento : RetornoECF := 'P';
            estRelatorio : RetornoECF := 'R';
            estNaoFiscal : RetornoECF := 'N';
          else
            RetornoECF := 'O' ;
          end;
        end;
    end;
  except
    //raise;
  end;

Praticamente igual do exemplo, só que tirando a parte do dedicado.

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

E o envio que envia o cancelamento no TEF? Porque como eu lhe disse antes, nunca tive problemas com isso, ele não tenta imprimir se a impressora estiver desligada.

 

Ele não tenta imprimir, mas fica chamando CNC sempre que vê que a ECF está desligada.

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Regys,

 

Achei um tópico antigo a respeito disso que pode esclarecer bastante as coisas.

 

 

 

 


Eu estou achando que o problema é quando o ACBrTEFD tem que segurar até o CNC ser concluído com sucesso. Como não obteve sucesso na impressão, o arquivo temporário ainda fica lá na pasta '..,\tef\', por isso desse looping sempre querendo repetir o CNC, mesmo com o ecf desligado. Teria que cortar ali. Deixar o arquivo temporário permanecer, mas continuar somente se o ecf estiver ligado que é onde entra o OnInfoECF, o qual deve controlar isso.

 
ineEstadoECF :
        begin
          case ECF.Estado of
            estLivre      : RetornoECF := 'L';
            estVenda      : RetornoECF := 'V';
            estPagamento  : RetornoECF := 'P';
            estRelatorio  : RetornoECF := 'R';
            estNaoFiscal  : RetornoECF := 'N';
          else
            RetornoECF    := 'O' ;
          end;
        end; 

O RetornoECF tem que receber 'O'(Outro). O que este outro está fazendo? Não consegui localizar nos fontes.

 

Espero que isso ajude um pouco para sanar esse problema.

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Galera, alguem conseguiu algo a respeito?

 

Estou com a homologação próxima e preciso finalizar o tef. Por favor, se alguém puder me ajudar, estou precisando muito.

 

Abraço

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vamos lá pra resolver a situação tenho uma tag dentro do sistema ao iniciar o cupom verifico se ele existe vai cair no else acima mencionado por você

e caso tenha fechado correto o cupom eu marco também a flag como ok 

talvez isso lhe ajude

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

  Se a sugestão do Juliomar não resolver, queira postar um log só com os passos para o problema. O log que você postou é do dia inteiro. É muito grande, e fica difícil encontrar quando aconteceu.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Fundadores

Eu estou achando que o problema é quando o ACBrTEFD tem que segurar até o CNC ser concluído com sucesso. Como não obteve sucesso na impressão, o arquivo temporário ainda fica lá na pasta '..,\tef\', por isso desse looping sempre querendo repetir o CNC, mesmo com o ecf desligado. Teria que cortar ali. Deixar o arquivo temporário permanecer, mas continuar somente se o ecf estiver ligado que é onde entra o OnInfoECF, o qual deve controlar isso.

 

Você não deve fazer isso... Se o CNC não pode ser impresso, então não houve CNC.. lembre-se que a confirmação do CNC só será enviada para G.P. após a impressão completa e o OK do ECF...

 

Essa é uma das várias situações onde G.P. não se sai muito bem, devido a suas próprias restrições... Os homologadores tem ciência dessas limitações...

 

Aplique o roteiro de testes... Em qual teste do roteiro solicita que seja da maneira que você deseja ?

 

Se você confirmar um CNC que não foi impresso, está indo contra as regras de homologação...

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