Ir para conteúdo
  • Cadastre-se

dev botao

Duvidas sobre impressão de comprovante TEF


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

Recommended Posts

Bom dia Amigos!

Sou iniciante no TEF, tenho um sistema com NFCe e estou implementando o TEF agora.

Estudei o demo e consegui transcrever o processo de chamada e finalização do TEF. As primeiras duvidas são sobre impressão do comprovante:

1-Tenho que imprimir o comprovante após a aprovação, e depois gero o NFC-e, ou posso imprimir após a impressão do NFC-e? 
2-Como imprimo usando o ACBrPosPrinter? (no demo  tem o evento ACBrTEFDComandaECFImprimeVia,  o parametro ImagemComprovante.Text, mas não sei como jogar para impressora)
3-Posso salvar esse conteudo (ImagemComprovante.Text) no banco de dados para utilizar em reimpressão?

obg!!

Link para o comentário
Compartilhar em outros sites

  • Administradores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

  • Obrigado 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Moderadores
5 horas atrás, Fernando Filho disse:

Bom dia Amigos!

Sou iniciante no TEF, tenho um sistema com NFCe e estou implementando o TEF agora.

Estudei o demo e consegui transcrever o processo de chamada e finalização do TEF. As primeiras duvidas são sobre impressão do comprovante:

1-Tenho que imprimir o comprovante após a aprovação, e depois gero o NFC-e, ou posso imprimir após a impressão do NFC-e? 
2-Como imprimo usando o ACBrPosPrinter? (no demo  tem o evento ACBrTEFDComandaECFImprimeVia,  o parametro ImagemComprovante.Text, mas não sei como jogar para impressora)
3-Posso salvar esse conteudo (ImagemComprovante.Text) no banco de dados para utilizar em reimpressão?

obg!!

1 - Pode ser após o termino do processo da NFC-e

2 - ACbrPOSPrinter tem um exemplo de como usar o componente, bastando no evento que mencionou tu mandar a imagem do comprovante.

3 - não deve guardar, somente usar para imprimir.

  • Obrigado 1
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

33 minutos atrás, Juliomar Marchetti disse:

1 - Pode ser após o termino do processo da NFC-e

2 - ACbrPOSPrinter tem um exemplo de como usar o componente, bastando no evento que mencionou tu mandar a imagem do comprovante.

3 - não deve guardar, somente usar para imprimir.

Certo,  O evento ACBrTEFDComandaECFImprimeVia é acionado após o fim da transação TEF, correto? para imprimir após a impressão do NFC-e, como aciono novamente este evento?

Link para o comentário
Compartilhar em outros sites

17 horas atrás, Fernando Filho disse:

Certo,  O evento ACBrTEFDComandaECFImprimeVia é acionado após o fim da transação TEF, correto? para imprimir após a impressão do NFC-e, como aciono novamente este evento?

Consegui evoluir mais, mas ainda não consegui imprimir. vamos lá:

O evento não é chamado automaticamente, analisei os métodos e achei o ACBrTEFD.ECFImprimeVia, que aciona o evento ACBrTEFDComandaECFImprimeVia, que implementei assim:

procedure TFPgtos.ACBrTEFDComandaECFImprimeVia(TipoRelatorio: TACBrTEFDTipoRelatorio; Via: Integer;
  ImagemComprovante: TStringList; var RetornoECF: Integer);
begin
  try
     case TipoRelatorio of
       trGerencial :
         DmNotaFiscal.ACBrPosPrinter.Imprimir(ImagemComprovante.Text);
       trVinculado :
         DmNotaFiscal.ACBrPosPrinter.Imprimir(ImagemComprovante.Text);
     end;

     RetornoECF := 1 ;
  except
     RetornoECF := 0 ;
  end;
end;

Porém o metodo ECFImprimeVia, pede a imagem do comprovante (stringlist), onde está essa informação?

Link para o comentário
Compartilhar em outros sites

  • Consultores
37 minutos atrás, Fernando Filho disse:

Porém o metodo ECFImprimeVia, pede a imagem do comprovante (stringlist), onde está essa informação?

Ele não pede essa informação, ela vem pelo evento. Você deve implementar o evento e aguardar ele ser chamado.

Ele vai ser chamado no momento correto se você estiver seguindo o roteiro do TEF.

18 horas atrás, Fernando Filho disse:

Certo,  O evento ACBrTEFDComandaECFImprimeVia é acionado após o fim da transação TEF, correto? para imprimir após a impressão do NFC-e, como aciono novamente este evento?

Você não deve acionar o evento novamente. Ele precisa ocorrer no momento dele, seguindo o roteiro do TEF.

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

17 minutos atrás, EMBarbosa disse:

Ele não pede essa informação, ela vem pelo evento. Você deve implementar o evento e aguardar ele ser chamado.

Ele vai ser chamado no momento correto se você estiver seguindo o roteiro do TEF.

Você não deve acionar o evento novamente. Ele precisa ocorrer no momento dele, seguindo o roteiro do TEF.

Entendi, mas comigo o evento não está sendo acionado. Quando ele será chamado? de fato ainda não peguei o roteiro pra testes, pois estou ainda no desenvolvimento. fiz baseado no demo do acbr. 

chego na parte da aprovação normalmente:

Citar

 

    if StatusTransacao then
    begin
      Inc(IndiceTransacaoTef);

      if not(ACBrTEFD1.AutoFinalizarCupom) then
        MemoCupomTEF.Lines.Add('Pagamento [Cartao:' + edValorPagamento.Text + '][NSU:'+ACBrTEFD1.RespostasPendentes[IndiceTransacaoTef].NSU + ']                        [Rede:'+ACBrTEFD1.RespostasPendentes[IndiceTransacaoTef].Rede+ ']');

      Application.MessageBox('Transação aprovada, Favor Travar o dados do comprovante', 'Informação', MB_OK + MB_ICONINFORMATION);
    end

 

se não preciso chamar a impressão, quando ela é acionada?

Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, Fernando Filho disse:

Entendi, mas comigo o evento não está sendo acionado. Quando ele será chamado? de fato ainda não peguei o roteiro pra testes, pois estou ainda no desenvolvimento. fiz baseado no demo do acbr

chego na parte da aprovação normalmente:

se não preciso chamar a impressão, quando ela é acionada?

Se não me falha a memória, quando é chamado o método "ImprimirTransacoesPendentes".

No exemplo mencionado (Demo NFC-e com TEF) ela é acionada ao efetuar todos os pagamentos e não sobrar nenhum restante. Veja os métodos EfetuaPagamento e finalizarCupomNFCe;

1 hora atrás, Fernando Filho disse:

de fato ainda não peguei o roteiro pra testes, pois estou ainda no desenvolvimento

Você precisa do roteiro. Precisa também dos simuladores. Não tem como desenvolver sem eles.

  • Curtir 1
  • Obrigado 1

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

4 horas atrás, EMBarbosa disse:

Se não me falha a memória, quando é chamado o método "ImprimirTransacoesPendentes".

No exemplo mencionado (Demo NFC-e com TEF) ela é acionada ao efetuar todos os pagamentos e não sobrar nenhum restante. Veja os métodos EfetuaPagamento e finalizarCupomNFCe;

Você precisa do roteiro. Precisa também dos simuladores. Não tem como desenvolver sem eles.

sem duvida, já estou com eles. instalei o simulador do paygo.

Analisando, vi que o ACBrTEFD1.ImprimirTransacoesPendentes de fato aciona o evento de impressão. Porem quando chamo, ele aparece um showmessage com o nome "ImprimirTransacoesPendentes" e trava todo o teclado, só consigo liberar desligando o pc. não notei nada diferente no demo que eu não tenha feito.

Link para o comentário
Compartilhar em outros sites

  • Consultores
3 horas atrás, Fernando Filho disse:

sem duvida, já estou com eles. instalei o simulador do paygo.

Analisando, vi que o ACBrTEFD1.ImprimirTransacoesPendentes de fato aciona o evento de impressão. Porem quando chamo, ele aparece um showmessage com o nome "ImprimirTransacoesPendentes" e trava todo o teclado, só consigo liberar desligando o pc. não notei nada diferente no demo que eu não tenha feito.

Provavelmente esse Showmessage é do seu código. O componente não tem essa parte.

O travamento do teclado era exigido pelo roteiro TEF. Você precisa avaliar o Roteiro e ver se ainda é necessário. Daí utilize os eventos no componente para tratar.

  • Obrigado 1

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

23 horas atrás, EMBarbosa disse:

Provavelmente esse Showmessage é do seu código. O componente não tem essa parte.

O travamento do teclado era exigido pelo roteiro TEF. Você precisa avaliar o Roteiro e ver se ainda é necessário. Daí utilize os eventos no componente para tratar.

Tem como evitar o travamento, pelo menos para os testes? não consigo depurar o código no processo do bloqueio.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
14 horas atrás, Fernando Filho disse:

Tem como evitar o travamento, pelo menos para os testes? não consigo depurar o código no processo do bloqueio.

Tem mas não é bom, pra ti fazer o tratamento devidamente correto.

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

  • Fundadores
  • Solution

Programe o evento que é destinado ao Travamento de Teclado... e preencha a variável

Tratado := True 

  • Obrigado 1
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á 2079 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.