Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Olá pessoal

estou travado no último teste da Pré-Certificação da SevenPDV, este teste tem a seguinte descrição:

16 - Situação: Realizar transação com 2 cartões.

Desligar o computador durante a impressão do CV da segunda transação.

OBS: Ao entrar na AC, enviar automaticamente um comando de NCN e apresentar a mensagem ao operador. Não liberar nenhuma operação antes de enviar um comando de CNC para cancelar a última transação que foi confirmada. Realizar normalmente a impressão de cancelamento da venda confirmada.

O que acontece aqui é o seguinte, faço a venda com pagamento com 2 cartões e na impressão do vinculado que é 1 só para os 2, eu desligo o pc. Até ai tudo certo, mas quando entro no sistema novamente a aplicação fica num loopim pra tentar imprimir o Relatório gerencial de cancelamento do primeiro cartão que foi pago. Já verifiquei o estado da impressora e mesmo Livre ela simplesmente não imprime o relatório Gerencial.

tenho a seguinte implementação na abertura da aplicação:

if ECF_BUSCA_IMPRESSORA then

begin

DMG.acbr_tef.Inicializar(TACBrTEFDTipo(1));

DMG.acbr_tef.AtivarGP(TACBrTEFDTipo(1));

DMG.acbr_tef.ATV(TACBrTEFDTipo(1));

DMG.acbr_tef.CancelarTransacoesPendentes;

end;

Os logs do AcbrEFC e AcbrTEFD do que ocorre neste teste estão em anexo.

Agradeço a atenção.

Log_ECF.txt

Log_TEF.txt

  • Moderadores
Postado

O ACBr faz isso automático, você deveria somente fazer o seguinte:

if not TEF.Inicializado then

TEF.Inicializar

O ACBr vai fazer todas as verificações necessárias, de ativo, inicializado, etc, etc e se tem transações pendentes, dai então ele se necessário cancela as transações.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Opa Régys

obrigado pela ajuda!

Cara mas eu to ligado nessa parte que o componente faz os tratamentos sozinho, porém meu problema é que o TEF inicia e faz o cancelamento das transações pendentes, porém não imprime e por este motivo fica no loopim sem fim enquanto eu não finalizar a aplicação.

Pra ti entender bem, só o que ta faltando pra dar certo pra mim este teste é imprimir o relatório gerencial do cancelamento.

Att

Postado

Mas Régys

aqui na descrição da observação do teste diz:

16 - Situação: Realizar transação com 2 cartões.

Desligar o computador durante a impressão do CV da segunda transação.

OBS: Ao entrar na AC, enviar automaticamente um comando de NCN e apresentar a mensagem ao operador. Não liberar nenhuma operação antes de enviar um comando de CNC para cancelar a última transação que foi confirmada. Realizar normalmente a impressão de cancelamento da venda confirmada.

E nesta parte da impressão que estou com problema, pois acredito que tenha que ser feita essa impressão

Postado

Entrei em contato com o Pessoal da SevenPDV agora pouco

e realmente neste teste deve ser feito a impressão do comprovante de cancelamento da operação.

Até uma dica que me passaram é se há alguma rotina no componente que verifique se há alguma impressão em aberto, no caso a do Cupom Vinculado que foi interrompida no desligamento do computador.

Qual dica vc me daria pra tentar resolver este caso ?

  • Membros Pro
Postado

Eu estou com um problema parecido com esse, eu vou fazer algum POG para poder ser homologado.

Acho que vou fazer algo do tipo: antes de imprimir um relatório gerencial vou verificar se a impressora está ativa, se não tiver eu vou ativar.

Postado

Eu na verdade já to fazendo isso, mas mesmo ela ativa e com Estado = estLivre não imprime o relatório gerencial.

Pelo que conversei com o pessoal da Seven Pdv imprimindo o cancelamento é a conta, pois o gerenciador do TEF terá que ser chamado já na abertura da aplicação, sendo assim nenhuma outra operação foi feita pelo sistema até o momento.

Att

  • Moderadores
Postado

Com o demo ocorre o mesmo erro?

No arquivo Log_ECF.txt não aparece a chamada para abrir o relatório gerencial.

Vc adicionou no evento OnComandaECF as linhas abaixo?


opeAbreGerencial :
ACBrECF1.AbreRelatorioGerencial ;
[/code]

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
  • Membros Pro
Postado

Vou fazer a implementação aqui e jaja eu te falo, pois também to corrido, minha homologação está marcada pra quinta dia 15, tenho hj e emenha para refazer os testes, caso vc va optar por fazer remota, segue um roteiro de pre homologação que eles enviam.

http://nazarenoneto.com.br/public/arquivos/CHECK_LIST_1.doc

http://nazarenoneto.com.br/public/arquivos/CHECK_LIST_2.doc

  • Membros Pro
Postado

Acabei de fazer os teste, e eu fiz o seguinte:

No evento ACBrTEFDAntesCancelarTransacao adicionei um teste, se o estado for "estNaoInicializada" chamo um procedimento para ativar a impressora.

meu evento ficou da seguinte maneira;


procedure ACBrTEFDAntesCancelarTransacao(

  RespostaPendente: TACBrTEFDResp);

begin

  Est := ACBrECF.Estado;


  case Est of

    estNaoInicializada: VerificaAtivaECF;


    estVenda, estPagamento:

      ACBrECF.CancelaCupom;


    estRelatorio:

      ACBrECF.FechaRelatorio;

  else

    if not (Est in [estLivre, estDesconhecido, estNaoInicializada]) then

      ACBrECF.CorrigeEstadoErro(False);

  end;

end;

Postado

nazarenoneto

obrigado pela ajuda!

Mas no fim de tudo comecei a analisar todo o código da minha aplicação referente ao TEF e encontrei meu erro, era bobo o erro. Na exibição de uma mensagem eu tinha um objeto que não estava criado e isso gerava um erro que não deixava continuar a impressão do relatório gerencial. Mas agora concordo plenamente com o Régys, é só ativar o TEF e a Impressora que o componente faz tudo sozinho.

Fiz agora uns testes com 5 cartões e desligar o computador na impressão do vinculado do último e quando entro no sistema faz certinho o cancelamento dos 4 primeiros e imprime corretamente cada um.

Agradeço a todos pela contribuição e boa sorte na homologação nazarenoneto.

Abraço a todos

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