Jump to content

Promoção 25 Anos de Delphi
25% de desconto em todas as versões

Saiba mais

Ganhe o curso Tributação NF-e para Desenvolvedores

Assinando o SAC Anual este mês
botao.png

 

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Gustavo Déo da Silva

ANSWERED Ajuda - Ler Retorno Cobranca

Recommended Posts

Boa noite,

É bem tranquilo, vou te passar parte de um código, ai é só implementar e testar.

var     Titulo : TACBrTitulo;
begin  
  NomeArquivoRetorno        := FileListBox1.Items.Strings[FileListBox1.ItemIndex];
  AcbrBoleto.NomeArqRetorno := NomeArquivoRetorno;
  AcbrBoleto.LerRetorno;
  //----------------------------------------------------------------------------
  for i := 0 to AcbrBoleto.ListadeBoletos.Count -2 do
  begin
    //--------------------------------------------------------------------------
    // Conforme os códigos de ocorrencia você analisa o tipo de ocorrencia : Entrada, baixa, liquidação,,etc..
    //
    if Copy(AcbrBoleto.ListadeBoletos.Objects.OcorrenciaOriginal.Descricao, 1, 2) = '06' then
       vLiquidacao := True;


      MessageDlg('Valor Recebido     R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorRecebido)+#13+
                 'Documento             '+ AcbrBoleto.ListadeBoletos.Objects.NumeroDocumento+#13+
                 'Seu Documento         '+ AcbrBoleto.ListadeBoletos.Objects.SeuNumero+#13+
                 'Carteira              '+ AcbrBoleto.ListadeBoletos.Objects.Carteira+#13+
                 'Nosso Numero          '+ AcbrBoleto.ListadeBoletos.Objects.NossoNumero+#13+
                 'Ocorrencia '+AcbrBoleto.ListadeBoletos.Objects.OcorrenciaOriginal.Descricao+#13+
                 'Valor Recebido     R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorRecebido)+#13+
                 'Valor Documento    R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorDocumento)+#13+
                 'Valor Juros        R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorMoraJuros)+#13+
                 'Valor Taxa         R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorDespesaCobranca)+#13+
                 'Valor Pago         R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorPago), mtInformation, [mbOK], 0);
  end;

Edited by Dercide Alvarez

Share this post


Link to post
Share on other sites
Em 01/04/2018 at 20:25, Dercide Alvarez disse:

Boa noite,

É bem tranquilo, vou te passar parte de um código, ai é só implementar e testar.

var     Titulo : TACBrTitulo;
begin  
  NomeArquivoRetorno        := FileListBox1.Items.Strings[FileListBox1.ItemIndex];
  AcbrBoleto.NomeArqRetorno := NomeArquivoRetorno;
  AcbrBoleto.LerRetorno;
  //----------------------------------------------------------------------------
  for i := 0 to AcbrBoleto.ListadeBoletos.Count -2 do
  begin
    //--------------------------------------------------------------------------
    // Conforme os códigos de ocorrencia você analisa o tipo de ocorrencia : Entrada, baixa, liquidação,,etc..
    //
    if Copy(AcbrBoleto.ListadeBoletos.Objects.OcorrenciaOriginal.Descricao, 1, 2) = '06' then
       vLiquidacao := True;


      MessageDlg('Valor Recebido     R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorRecebido)+#13+
                 'Documento             '+ AcbrBoleto.ListadeBoletos.Objects.NumeroDocumento+#13+
                 'Seu Documento         '+ AcbrBoleto.ListadeBoletos.Objects.SeuNumero+#13+
                 'Carteira              '+ AcbrBoleto.ListadeBoletos.Objects.Carteira+#13+
                 'Nosso Numero          '+ AcbrBoleto.ListadeBoletos.Objects.NossoNumero+#13+
                 'Ocorrencia '+AcbrBoleto.ListadeBoletos.Objects.OcorrenciaOriginal.Descricao+#13+
                 'Valor Recebido     R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorRecebido)+#13+
                 'Valor Documento    R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorDocumento)+#13+
                 'Valor Juros        R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorMoraJuros)+#13+
                 'Valor Taxa         R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorDespesaCobranca)+#13+
                 'Valor Pago         R$ '+ FormatFloat('0.,00', AcbrBoleto.ListadeBoletos.Objects.ValorPago), mtInformation, [mbOK], 0);
  end;

Bom dia! Copiei seu código e me apresenta o seguinte erro, se puder me ajudar!
 

Erro retorno acbr.jpg

Share this post


Link to post
Share on other sites

Boa tarde.

Caso ainda não tenha resolvido, tente passar "Objects[F].OcorrenciaOriginal"

*troque o F por I

Att.


Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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

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

Share this post


Link to post
Share on other sites

Ola bom dia, estou com um problema ao ler o retorno do CNAB240 no delphi 7.

Primeiramente estou tendo que efetuar agumas configs de banco para ele não apitar outros erros:

 try
    NomeBoleto := copy(FormatDateTime('yymmdd', Date), 3, 4) + copy(FormatDateTime('hhmmss', Time), 3, 4);
    Boleto.NomeArqRemessa := NomeBoleto + '.rem';

    with (Boleto.Banco) do
    begin
      case (AnsiIndexStr(CodBanco, [BANCO_SICOOB, BANCO_CAIXA])) of
        0:
          TipoCobranca := cobBancoob;
        1:
          TipoCobranca := cobCaixaEconomica;
      end;
    end;

    Boleto.LayoutRemessa := Iif(dtmBaixaRetornoBoleto.qryCarteiraCobrancaCNAB.AsString = 'CNAB240', c240, c400);
    Boleto.DataArquivo := Date;
    Boleto.DirArqRemessa := ExtractFileDir(Application.ExeName) + '\Remessa\' + dtmBaixaRetornoBoleto.qryCarteiraCobrancaCODIGO.AsString + '\';
    Boleto.ACBrBoletoFC.MostrarSetup := False;
    Boleto.ACBrBoletoFC.DirLogo := ExtractFileDir(Application.ExeName) + '\LogosBoleto\';
    ACBrBoletoFCFR1.FastReportFile := ExtractFileDir(Application.ExeName) + '\Relatorios\Boleto.fr3';

    Boleto.ACBrBoletoFC.Filtro := fiNenhum;
    Boleto.ACBrBoletoFC.LayOut := lPadrao;
    Boleto.ACBrBoletoFC.MostrarSetup := True;
    Boleto.ACBrBoletoFC.SoftwareHouse := 'Bitline Soluções Técnologicas';
  except
    on E: Exception do
    begin
      ShowMessage(E.message);
    end;
  end;

 

E o erro que aparece para mim é:

image.thumb.png.de6a85399604d50c67b5a172785b3000.png

 

O problema é que no método validarDadosRetorno() dentro da classe ACBrBancoCaixa, ele tenta comparar o CNPJ com o CNPJ do componente ACBrBanco, porém não sei da onde carrega esse componente, não sei também se tem que popular mais algum campo do ACBrBoleto para que faça a leitura do retorno.

 

Alguem pode dar um help?

Share this post


Link to post
Share on other sites
10 minutos atrás, lavaprato disse:

O problema é que no método validarDadosRetorno() dentro da classe ACBrBancoCaixa, ele tenta comparar o CNPJ com o CNPJ do componente ACBrBanco, porém não sei da onde carrega esse componente, não sei também se tem que popular mais algum campo do ACBrBoleto para que faça a leitura do retorno.

Experimente definir a propriedade ACBrBoleto.LeCedenteRetorno como True.

  • Thanks 1

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Share this post


Link to post
Share on other sites

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.


Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

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

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...