Ir para conteúdo
  • Cadastre-se

dev botao

Erro? No Fastreport Banco Do Brasil


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

Recommended Posts

Saudações

 

Estou tentando implementar o AcbrBoleto para o Banco do Brasil, mas estou esbarrando em um erro. Segue código abaixo:

 
 case strtoint(bc) of
      1:
        begin
          fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
          fprinci.ACBrBoleto1.Banco.Numero := 001;  <=== erro aqui
        end;
      237:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBradesco;
      341:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobItau;
      748:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobSicred;
 

Ele aceita o valor, mas de alguma forma, maneira ou circunstância, continua com valor 0(zero).

Não importa quantas vezes ou de que forma eu atribua valor para este campo (ACBrBoleto1.Banco.Numero) ele continua com valor zero. Na hora de imprimir o boleto ele retorna erro dizendo que o banco não foi informado. 

"Banco não definido, impossível listar boleto"

Já tentei somente com '1', e nada feito. Com outros bancos, isso não acontece. Imprimo com itau e Sicredi numa boa.

 

Alguém tem alguma idéia???

 

Claudiomir

Editado por Claudiomir
Link para o comentário
Compartilhar em outros sites

Boa Tarde

 

Já Utilizo o ACBRBoleto no meu sistema e não informo o código do banco apenas o tipo da cobrança verifica se está com a última versão do ACBRBoleto disponibilizada 

 

ACBrBoleto1.ListadeBoletos.Clear;
ACBrBoletoFCFR1.LayOut := lFatura;
ACBrBoletoFCFR1.FastReportFile := '...\BoletoFR.fr3'; //Caminho Relatório
with ACBrBoleto1.CriarTituloNaLista do
  begin
       if banco = 1 then
       ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
       
       // informações conta e convenio do cedente        
       // dados cedentes  
       // dados sacado
       ACBrBoleto1.Imprimir;
  end;
ACBrBoleto1.ListadeBoletos.Clear;
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

A propriedade a ser utilizada para definir o banco seria a TipoCobranca.... vc está realizando a configuração antes de mandar incluir o titulo?

 

Att.

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

Saudações Juliana

 

Sim. Segue codigo anexo.

fprinci.ACBrBoleto1.ListadeBoletos.Clear;
 
//    fprinci.ACBrBoleto1.Banco.Numero := strtoint(bc);
 
    case strtoint(bc) of
      1:
        begin
          fprinci.ACBrBoleto1.Banco.Numero := 1;
          fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
        end;
      237:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBradesco;
      341:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobItau;
      748:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobSicred;
      756:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoob;
      104:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobCaixaEconomica;
      33, 53, 008:
        fprinci.ACBrBoleto1.Banco.TipoCobranca := cobSantander;
    end;
    fprinci.ACBrBoleto1.Cedente.Agencia := self.ctactanragencia.AsString;
    fprinci.ACBrBoleto1.Cedente.AgenciaDigito := self.ctactadgagencia.AsString;
    fprinci.ACBrBoleto1.Cedente.Conta := self.ctacatnrconta.AsString;
    fprinci.ACBrBoleto1.Cedente.ContaDigito := self.ctactadgconta.AsString;
.
.
.
  Se eu testar aqui, nesse ponto ele me retorna Banco=0
 
    fprinci.ACBrBoleto1.ChecarDadosObrigatorios;
    fprinci.ACBrBoleto1.Imprimir;
 
Ainda tentando entender...
 
Claudiomir
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

 

Você debugou seu código para ver se entra no if do BB?

Realize o teste com o demo do componente?

 

Att.

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

Saudações Juliana

 

Essa é a parte interessante. Ele entra no if. Ele aceita a opção fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;

Tudo normal, exceto que o  fprinci.ACBrBoleto1.Banco.Numero := 1 não funciona. Não acusa erro algum aqui. Ele roda normal e "tecnicamente" aceita o valor 1. No entanto, ele permanece como 0(zero). Debuguei, linha a linha, várias vezes. Testei tudo o que pude. Inclusive removi a declaração  fprinci.ACBrBoleto1.Banco.Numero := 1; Continua dando mesmo erro. 

Como uso o Delphi, deletei os .DCU.

Recompilei todo o projeto e não acusa erro algum, exceto que quando mando imprimir ele continua dando erro dizendo que eu não informei o  ACBrBoleto1.Banco.Numero.

Realmente essa me pegou de surpresa. Não consigo encontrar o bug em lugar algum.

 

Quaisquer idéias seriam bem vindas.

 

Claudiomir

Link para o comentário
Compartilhar em outros sites

Saudações a todos

Eu assumi esse sistema que estou terminando de outro programador. Ele já usava o acbrboleto. Entrei em contato com ele e ele comentou que alterou algo no codigo fonte do acbr na parte específica do banco do brasil. 

Essa semana eu baixei a atualização do acbr e simplesmente compilei o meu projeto feito no delphi. Funciona para Sicredi e Itau. Não para Banco do Brasil.

 

A pergunta que tenho é::

 

Se ele alterou algo no fonte do acbrboleto, quando eu atualizei e compilei MEU PROJETO, ele compilou também a versão nova do acbrboleto, ou não???

Se não, o que devo fazer para forçar essa atualização??

Quaisquer idéias seriam bem vindas.

 

Claudiomir

Link para o comentário
Compartilhar em outros sites

Claudiomir, bom dia. Sabemos o quanto é complexo ter que dar suporte para um código do qual não temos uma visão completa.

Se houve mudança na unit BancodoBrasil, pegue esta unit e compare com a versão que está no svn.

Se você tem o WinMerge ele vai lhe mostrar exatamente o que está diferente.

Quanto a forçar esta atualização, aconhselho você a fazer isso, tendo em vista que já houveram muitas mudanças a cerca do beneficiário.

É importante dar uma olhada na chamada desta unit, de repente ela tenha sito renoemada e por isso o sistema faz referencia à ela.

 

Abraço.

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Olá a todos.

Deixei esse erro de lado por um tempo, enquanto tentava corrigir.

Hoje forcei uma atualização do componente e recompilou tudo. 

 

 

Tentei de novo. Está atualizado.

 

Nada da certo.

 

na Unit AcbrBoleto linha 1215 começa o seguinte codigo.

Procedure TACBrBoleto.Imprimir;
begin
   if not Assigned(ACBrBoletoFC) then
      raise Exception.Create( ACBrStr('Nenhum componente "ACBrBoletoFC" associado' ) ) ;
 
   if Banco.Numero = 0 then
      raise Exception.Create( ACBrStr('Banco não definido, impossivel listar boleto') );  <<<===== ERRO OCORRE AQUI!!!
 
   ChecarDadosObrigatorios;
 
   ACBrBoletoFC.Imprimir;
end;
 
Não importa o que eu atribua para esta variável ou como eu faça isso.
 
 Ela sempre chega com 0 (zero).
 
Eu aceito qualquer idéia, por que eu estou sem mais nenhuma.
 
Claudiomir
Link para o comentário
Compartilhar em outros sites

  • Administradores
  • Solution

Bom dia.

 

A propriedade Numero do banco é somente de leitura, ou seja, você não vai conseguir alterar nunca, utilize a propriedade TipoCobranca conforme mencionado antes.

 

Att.

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

Saudações a Todos.

Rotina de teste

  case strtoint(bc) of
    1:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;
    237:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBradesco;
    341:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobItau;
    748:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobSicred;
 
    // incluido na atualizacao da nfce
    756:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobBancoob;
    104:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobCaixaEconomica;
    33, 53, 008:
      fprinci.ACBrBoleto1.Banco.TipoCobranca := cobSantander;
  end;
 
-- testo neste ponto e o valor de fprinci.ACBrBoleto1.Banco.TipoCobranca  é cobBancoDoBrasil.
Não tenho mais nenhuma interação com Tipo de Cobrança deste ponto em diante.
coloquei vários Break point antes de acbr.boleto.imprimir e verifico os valores informados para Tipo Cobranca. Ele é cobBancoDoBrasil.
 
mas quando chega nesse bloco do componente ele cai nesse teste
 
if Banco.Numero = 0 then
      raise Exception.Create( ACBrStr('Banco não definido, impossivel listar boleto') );
 
voltei no break point anterior e verifiquei e ele continua cobBancoDoBrasil.
 
Não consigo entender isso. Por acaso houve alguma alteração nos relatórios de boletos que explique isso?? estou usando o Fast Report!
Imprimo  Banco Itau e BanSicredi normal. Funciona 100%! Só dá problema com Banco do Brasil. 
O que eu estou esquecendo??
 
Alguma Idéia??
Claudiomir
Link para o comentário
Compartilhar em outros sites

  • 8 meses depois ...
  • Este tópico foi criado há 3215 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.