Ir para conteúdo
  • Cadastre-se

dev botao

Abortar Transação TEF pela Aplicação


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

Recommended Posts

 Bom dia,

 Estou fazendo o roteiro da Software Express usando o ACBrTEFD + CliSitef via DLL.

 Na sequência 26 pede que a aplicação tenha um atalho ou botão para cancelar a transação enquanto aguarda a senha no pinpad.
 No exemplo do TEFD tem a seguinte anotação:
// TODO: nesse ponto é necessário desbloquear o Teclado, mas permitir
//       um clique apenas no botão cancelar.... FALTA CORRIGIR NO DEMO

Já existe alguma forma de fazer esse cancelamento ou alguém tem alguma dica de como implementar esse processo estou travado nesse ponto do roteiro.  :(

Obrigado
   

sitef 26.png

Editado por JrLopes
Link para o comentário
Compartilhar em outros sites

  • Solution

 Bom dia @Daniel Simoes 
 O evento OnAguardaResp do TEFD já estava com essa linha de código, eu já estava perdendo os poucos cabelos que eu tinha com essa situação mas acabei de resolver, a gente se desespera mas no final a resposta acaba sendo simples, basicamente um IF matou a questão, não sei se é a melhor solução mas resolveu certinho a questão do roteiro.  

Obrigado !!!!

procedure TfrmOpTEF.TEFDAguardaResp(Arquivo: string; SegundosTimeOut: Integer;var Interromper: Boolean);
begin
  Application.ProcessMessages;
  if (TEFD.GPAtual in [gpCliSiTef, gpVeSPague]) then   // É TEF dedicado ?
  begin
    if (Arquivo = '23') and (not btCancelar.Visible) then  // Está aguardando Pin-Pad ?
    begin
      if TEFD.TecladoBloqueado then
      begin
        TEFD.BloquearMouseTeclado(False); // Desbloqueia o Teclado
      end;

      btCancelar.Visible := True;
      btCancelar.SetFocus;
      cancelar := False;
      Application.ProcessMessages;
    end
      else
    begin
      Application.ProcessMessages;
      if cancelar = True then
      begin
        btCancelar.Visible := False;
        Interromper := True;
        cancelar    := False;
      end
        else
      begin
        cancelar := False;
        Exit;
      end;
    end;
  end;
  Application.ProcessMessages;
end;

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Parece ser isso mesmo... se desejar modificar o Demo, para que isso fique mais claro, eu posso subir os ajustes para o SVN...

 

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