Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com o CliDTEF


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

Recommended Posts

Estou fazendo a Homologação do D-TEF e encontrei problemas nas seguintes funções.

TACBrTEFD.ConfirmarTransacoesPendentes

* caso haja mais de um pagamento em cartão, ao confirmar na operadora o primeiro pagamento, finaliza a transação e automaticamente a operadora estorna o segundo pagamento.

TACBrTEFDCliDTEF.FazerRequisicao

* Algumas operações não estão sendo confirmadas e finalizadas na operadora, ocasionando erros no nas próximas transações.

* Ao imprimir o comprovante de determinadas operações, a função de impressão destrói a variável com o conteúdo do comprovante e ao voltar para a função: FazerRequisicao ocorre access violation.

* Ao executar o função: xTransacaoCancelamentoPagamento ocorre access violation devido a tipo da variável: pNumeroControle := '      '

* Ao chamar a tela de funções da ADM, a tela fica em loop caso clique na opção de cancelar.

* Não está excluindo o arquivo de backup da resposta de algumas operações, ocasionando erro nas próximas transações.

 

Segue em anexo alterações em duas units para corrigir todos os problemas citados acimas com poucas alterações exclusivas para o CliDTEF.

 

ACBrTEFD.pas

ACBrTEFDCliDTEF.pas

Editado por Filipe Natividade
melhorar a descrição do título.
Link para o comentário
Compartilhar em outros sites

  • Moderadores
7 minutos atrás, Filipe Natividade disse:

TACBrTEFD.ConfirmarTransacoesPendentes

* caso haja mais de um pagamento em cartão, ao confirmar na operadora o primeiro pagamento, finaliza a transação e automaticamente a operadora estorna o segundo pagamento.

Chegou a bufferizar os pagamentos antes de confirmar todos?

eu homologuei já e não houve necessidade de modificações.

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

1 minuto atrás, Juliomar Marchetti disse:

Chegou a bufferizar os pagamentos antes de confirmar todos?

eu homologuei já e não houve necessidade de modificações.

pode explicar melhor, pois ao fazer dois TEF.CRT, e manfar finalizar o cupom fiscal, o próprio componente ACBr comanda a confirmação de pagamento na operadora.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
4 horas atrás, Filipe Natividade disse:

pode explicar melhor, pois ao fazer dois TEF.CRT, e manfar finalizar o cupom fiscal, o próprio componente ACBr comanda a confirmação de pagamento na operadora.

Boa noite

é ai que está tu não deve deixar o componente fazer, ele está implementado para um único pagamento.

comande você a confirmação que funciona.

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

12 horas atrás, Juliomar Marchetti disse:

Boa noite

é ai que está tu não deve deixar o componente fazer, ele está implementado para um único pagamento.

comande você a confirmação que funciona.

Eu só confirmo as operações depois das impressões do cupom dos CCD, para eu poder informar ao componente que não deve finalizar a transação a confirmar o primeiro cartão, deveria permitir a alteração da propriedade: TEFD.RespostasPendentes.Objects[0].Finalizacao pois é somente leitura, por essa causa realizei a alteração em: ConfirmarTransacoesPendentes que deixa o componente decidir se é ou não a ultima transação pendente.

Agora não sei como você conseguiu homologar, pois quase bem dizer todas as oepraçãoes de TEF.ADM não funcionam ou funcionam parcialmente, pelo menos em Delphi.

E lembrando que em Delphi o TEFD DEMO está com todos esses problemas relatados.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não tenho conhecimento do funcionamento do CliDTef... então creio que vocês tenham mais experiência do que eu, e suas sugestões devam ser válidas...

O que não me agradou muito, foi a mudança em ACBrTEFD.pas.. mesmo com o "if TEF.Tipo = gpCliDTEF "...

Penso que o código desse IF, possa ser migrado para dentro do método:  TACBrTEFDCliDTEF.CNF

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

1 hora atrás, Daniel Simoes disse:

Não tenho conhecimento do funcionamento do CliDTef... então creio que vocês tenham mais experiência do que eu, e suas sugestões devam ser válidas...

O que não me agradou muito, foi a mudança em ACBrTEFD.pas.. mesmo com o "if TEF.Tipo = gpCliDTEF "...

Penso que o código desse IF, possa ser migrado para dentro do método:  TACBrTEFDCliDTEF.CNF

Certo @Daniel Simoes, muito obrigado pelo retorno da equipe.

segue as alterações somente na unit ACBrTEFDCliDTEF.pas

ACBrTEFDCliDTEF.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Humm... parece que a variável "I", ficou indefinida...

 I : Integer;
begin
  Confirma := True;

  //Caso não seja a ultima transação, não deve finalizar a transação(DLL) enviando I = Intermediário.
  if I = TACBrTEFD(Owner).RespostasPendentes.Count - 1 then


 

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

7 minutos atrás, Daniel Simoes disse:

Humm... parece que a variável "I", ficou indefinida...


 I : Integer;
begin
  Confirma := True;

  //Caso não seja a ultima transação, não deve finalizar a transação(DLL) enviando I = Intermediário.
  if I = TACBrTEFD(Owner).RespostasPendentes.Count - 1 then


 

Alteração em anexo.

Seria somente isso?

ACBrTEFDCliDTEF.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não compreendi o código... quando que o "I" saberá que é a ultima transação, se ele está "chumbado" em 0 (zero) ?

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

41 minutos atrás, Daniel Simoes disse:

Não compreendi o código... quando que o "I" saberá que é a ultima transação, se ele está "chumbado" em 0 (zero) ?

Realmente @Daniel Simoes, estava fazendo outra coisa e como não ocorreu erro no teste, não prestei muita atenção.

Segue em anexo uma solução para o problema, pois não consegui pensar em outra solução para manter a alteração somente na unit: ACBrTEFDCliDTEF.pas

 

ACBrTEFDCliDTEF.pas

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

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