Ir para conteúdo
  • Cadastre-se

dev botao

Homologação SevenPDV


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

Recommended Posts

Bom dia pessoa,

seguindo os meus testes e ajustes para homologar TEF, no documento de "Procedimentos Básciso para Check List", o item 15 pede para que eu desligue o ECF após selecionar a operadora no GP, o mesmo indica que ao termino da transação, o sistema deve identificar que a impressora não está ativa e perguntar se o cliente deseja tentar novamente, porem a única mensagem que é retornada para mim é que a impressora não está em linha, estou passando o camando da seguinte forma:

if (tef.CRT( 1.00 , '05', ecf.NumCOO)) then

begin

tef.ImprimirTransacoesPendentes;

retornoImpressora := True;

end

else

begin

retornoImpressora := False;

ShowMessage('Tente novamente ou escolha' + #13 + 'outra forma de pagamento!');

Exit;

end;

está faltando alguma coisa? Fiz o mesmo teste no exemplo que acompanha o componente e o retorno foi o mesmo: Impressora Bematech não está em linha.

Link para o comentário
Compartilhar em outros sites

bom dia Regys, a propriedade estava com False, a deixando como True de fato a mensagem apareceu, porem quando clico em "Não", o componente não efetiva o cancelamento da transação, neste caso entendo que eu poderia utilizar CancelarTransacoesPendentes, seria possivel fazer isso com o retorno cliente? Ou seja, da forma que está enquanto o cliente clica em "Sim" o componente tenta imprimir, quando ele clica em não o componente retorna a mensagem de que a impressora não está em linha, há como saber quando ele clica no "Não"? O componente tem esse retorno?

Link para o comentário
Compartilhar em outros sites

Não consegui identificar nada que me auxilia-se nos eventos do exemplo, porem solucionei:

try

tef.ImprimirTransacoesPendentes;

except

ecf.ReTentar := False;

tef.CancelarTransacoesPendentes;

ecf.ReTentar := True;

ShowMessage('Transação cancelada!' + #13 + 'Escolha outra forma de pagamento!');

Exit;

end;

porem ainda resta um pequeno problema, caso possa me auxiliar claro, e desde já deixo registrado o meu agradecimento por vosso tempo me ajudando.

É o seguinte, os roteiros sempre pedem para bloquear teclado e mouse, porem quando utilizo a função "ImprimirTransacoesPendentes" e a mesma retorna a mensagem para tentar novamente, o teclado e mouse não ficam bloqueados nesse meio tempo, ou seja, eu aperto "Sim" e mesmo assim não bloqueio teclado e mouse, coisa que deveria ocorrer até a mensagem aparecer novamente.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Acompanhe o LOG do ACBrTEFD... o componente chama: BloquearMouseTeclado sempre, antes e depois da exibição de um dialogo... Você mesmo pode chamar esse método se achar necessário, no seu código

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

Estava debugando os fontes do ACBr e encontrei o que pode ser o meu problema, é o seguinte:

No ACBrTEFD.pas no procedimento ImprimirTransacoesPendentes mais especificamente na linha 770, o componente pega o estado da impressora, e é exatamente nesse momento que é retornada a pergunta se o cliente deseja tentar novamente, logo mais abaixo na linha 793 é que BloquearMouseTeclado é ativado, como quando clico em não já é retornado uma excessão, o código não continua a ser executado após a linha 770.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mas se ele nem entrou na rotina de Impressão, não haveria necessidade de Bloquear o Teclado...

Lembre-se de deixar: ACBrECF.ReTentar := False

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

  • Moderadores

É justamento por isso que lhe pedi para olhar o demo do ACBrTEFD, nele você vai encontrar a implementação do evento "OnInfoECF", onde é passado esse estado da impressora para o componente ACBrTEFD, veja se está implementando corretamente os eventos.

Tente reproduzir o problema com o Demo do ACBrTEFD e veja se acontece o mesmo.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

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

Na realidade não entrou no trecho de impressão, na rotina entrou, a questão Daniel que vejo é a seguinte, o roteiro pede para bloquear teclado e mouse, não sei se independente de está havendo impressão ou não, entendo que independe disso pois o mesmo pede tentar várias vezes com o ECF ainda desligado e mais abaixo ainda diz que o teclado e mouse devem está bloqueados.

Quanto ao ReTentar eu ativo o mesmo para que o componente "pergunte" se eu desejo tentar novamente, pois sem o mesmo está ativo neste momento ele não faz a pergunta, apenas cria uma excessão(como você pode observar nos trechos de conversa acima).

Link para o comentário
Compartilhar em outros sites

Certo Regys, más como havia lhe dito, infelizmente não consegui identificar como o evento poderia me ajudar nesta situação, pesso desculpas pela minha ignorância, tudo que fiz foi copiar o exemplo do evento como está no demo, na realidade copiei todos os eventos, fazendo apenas os ajustes necessários para a minha aplicação:

if not ecf.Ativo then

ecf.Ativar;

case Operacao of

ineSubTotal :

RetornoECF := FloatToStr( ecf.Subtotal - ecf.TotalPago );

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;

Link para o comentário
Compartilhar em outros sites

Quando o evento OnInfoECF é ativado ocorre que, o componente "pergunta" se desejo tentar novamente, caso não o RetornoECF recebe 'O', más ainda não consegui identificar onde isso me auxiliar na questão de bloquear o teclado e mouse, caso seja necessário claro, lembrando que ao checar o estado da impressora no ACBrTED.pas na linha 770 caso eu clique em não o mesmo não continua o trecho de código abaixo, que é onde ocorre de fato o bloqueio de teclado e mouse.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Diga quais são EXATAMENTE os passos para reproduzir o problema no demo.

[]'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

  • 3 semanas depois ...
  • Fundadores

Li todo o post mas não consegui compreender o problema... Por favor proceda como o Elton comentou...

Use a aplicação de Demo do ACBrTEFD, e informe passo a passo como podemos reproduzir o mesmo problema... só assim poderíamos analisá-lo

Mas volto a frisar.. é muito importante deixar ACBrECF.Retentar := False... o ACBrTEFD que irá disparar os diálogos para retentar quando necessário

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