Ir para conteúdo
  • Cadastre-se

dev botao

Imprimir recibo TEF


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

Recommended Posts

  • Administradores

Bom dia.

Você chegou a ver os exemplos do demo do ACBrTEFD?

Att.

  • Curtir 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

  • Consultores
6 horas atrás, Antonino disse:

como eu faço a impressão do recibo da transação do TEF? Preciso utilizar algum componente só para a impressão? 

O próprio ACBrTEFD faz a impressão utilizando os eventos. Geralmente o ACBrTEFD é ligado a um ACBrECF. Caso não esteja usando um ACBrECF você precisará emular o mesmo comportamento com outro componente, talvez o ACBrPosPrinter, como o Daniel disse acima.

Como a Juliana mencionou acima, os exemplos do ACBrTEFD podem te ajudar.

  • Curtir 2

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

Boa tarde, eu coloquei no evento ACBrTEFD1DepoisConfirmarTransacoes assim:

  for I := 0 to RespostasPendentes.Count-1  do
  begin

     ACBrPosPrinter1.Ativar;
     ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante1aVia.Text);
     ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante2aVia.Text);
     ACBrPosPrinter1.Desativar;
  end;

e está imprimindo os comprovantes, está certo dessa maneira?

Obrigado a todos pela ajuda.

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

  • Consultores
  • Solution
54 minutos atrás, Antonino disse:

Boa tarde, eu coloquei no evento ACBrTEFD1DepoisConfirmarTransacoes assim:

  for I := 0 to RespostasPendentes.Count-1  do
  begin

     ACBrPosPrinter1.Ativar;
     ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante1aVia.Text);
     ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante2aVia.Text);
     ACBrPosPrinter1.Desativar;
  end;

e está imprimindo os comprovantes, está certo dessa maneira?

Obrigado a todos pela ajuda.

Na verdade são os eventos que começam por "onInfoECF" e "onComandaECF". Esses são os eventos onde o ACBrTEFD vai interagir com a impressora.

Por exemplo, para imprimir as vias você implementa o evento onComandaECFImprimeVia. Não testei aqui, mas talvez poderia ser algo assim:

  try
     case TipoRelatorio of
       trGerencial,trVinculado :
       begin
         ACBrPosPrinter1.Ativar;
         ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante1aVia.Text);
         ACBrPosPrinter1.Imprimir(RespostasPendentes.ImagemComprovante2aVia.Text);
         ACBrPosPrinter1.Desativar;
       end
     end;

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

 

Esqueci de dizer, dá uma olhada também no exemplo de NF-e com TEF, na pasta ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi - TEF

  • Curtir 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

8 minutos atrás, EMBarbosa disse:

Na verdade são os eventos que começam por "onInfoECF" e "onComandaECF". Esses são os eventos onde o ACBrTEFD vai interagir com a impressora.

Por exemplo, para imprimir as vias você implementa o evento onComandaECFImprimeVia.

Como eu faço pra chamar esse evento onComandaECFImprimeVia? Porque em momento nenhum está entrando nesse evento.

Está assim:

  try
    case TipoRelatorio of
      trGerencial:
      begin
        ShowMessage('GERENCIAL:' + ImagemComprovante.Text);
      end;
      trVinculado:
      begin
        ShowMessage('VINCULADO:' + ImagemComprovante.Text);
      end;
    end;
    RetornoECF := 1;
  except
    RetornoECF := 0;
  end;

Link para o comentário
Compartilhar em outros sites

  • Consultores
3 minutos atrás, Antonino disse:

Como eu faço pra chamar esse evento onComandaECFImprimeVia?

ACBrTEFD1.ImprimirTransacoesPendentes;

A propósito, se você precisar confirmar as transações antes de imprimir, veja a propriedade ACBrTEFD1.ConfirmarAntesDosComprovantes.

  • Curtir 2

[]'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 minutos atrás, EMBarbosa disse:

ACBrTEFD1.ImprimirTransacoesPendentes;

A propósito, se você precisar confirmar as transações antes de imprimir, veja a propriedade ACBrTEFD1.ConfirmarAntesDosComprovantes.

Amigo, agora está chamando o evento onComandaECFImprimeVia, mas depois de imprimir os recibos aparece a mensagem: ECF deve estar em venda ou pagamento. 

Link para o comentário
Compartilhar em outros sites

  • Consultores
14 horas atrás, Antonino disse:

Amigo, agora está chamando o evento onComandaECFImprimeVia, mas depois de imprimir os recibos aparece a mensagem: ECF deve estar em venda ou pagamento. 

Você precisa programar os eventos para emular o comportamento do ECF, como eu disse antes. O evento, nesse caso, é o "onInfoECF".

Dá uma olhada nos exemplos citados anteriormente, por favor.

  • Curtir 2

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

Bom dia EMBarbosa, o evento onInfoECF está igual ao exemplo do TEFDemo, assim:

  case Operacao of
    ineSubTotal:
      begin
        ASubTotal := StringToFloatDef(ValorVenda, 0);
         //ASubTotal := ASubTotal - StringToFloatDef(EditTotalPago.Text, 0){ + Tratar Desconto e Acrescimo aqui: StringToFloatDef(edValorDescAcre.Text, 0)};
        RetornoECF := FloatToStr(ASubTotal);
        if estadoSimuladoEcf = tpsPagamento then
          RetornoECF := FloatToStr(0);
      end;

    ineTotalAPagar:
      RetornoECF := '0';

    ineEstadoECF:
      begin
        case estadoSimuladoEcf of
          tpsLivre:
            RetornoECF := 'L';
          tpsVenda:
            RetornoECF := 'V';
          tpsPagamento:
            RetornoECF := 'P';
          tpsRelatorio:
            RetornoECF := 'R';
        else
          RetornoECF := 'O';
        end;
      end;
  end;
 

O problema é que depois que é feita a impressão dos comprovantes ele muda o estadoSimuladoEcf para tpsRelatorio, como faço para retornar o estadoSimuladoEcf para tpsVenda?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Você deve fazer as alterações do "estado do simulador" nos eventos onComandaECF. Lembre-se que você está simulando um ECF e é lá que o ACBrTEFD se comunica com o ECF.

  • Curtir 2

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

37 minutos atrás, EMBarbosa disse:

Você deve fazer as alterações do "estado do simulador" nos eventos onComandaECF. Lembre-se que você está simulando um ECF e é lá que o ACBrTEFD se comunica com o ECF.

O que eu fiz foi comentar as linhas que eu fiz como estava no exemplo 

      opeFechaGerencial, opeFechaVinculado:
        estadoSimuladoEcf := tpsRelatorio;

Agora está imprimindo e fechando as transações normal, não sei se isso afeta em alguma coisa no funcionamento correto do processo.

Obrigado.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
5 minutos atrás, Antonino disse:

O que eu fiz foi comentar as linhas que eu fiz como estava no exemplo 

      opeFechaGerencial, opeFechaVinculado:
        estadoSimuladoEcf := tpsRelatorio;

Agora está imprimindo e fechando as transações normal, não sei se isso afeta em alguma coisa no funcionamento correto do processo.

Acho que não. Depois de fechar o gerencial ou vinculado um ECF normal volta pro estado de "livre".

  • Curtir 2

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

×
×
  • 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.