Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa Tarde,

Estou tendo problemas ao gerar Boleto do Banestes. Segue em anexo o código fonte de como o componente é alimentado.

Quando eu clico no botão e mando imprimir uma primeira vez, dá o seguinte erro: "LayoutBoleto: Erro durante a preparação do relatório EConvertError('"

se eu der OK e clicar no botão para imprimir novamente, o erro não aparece. O problema é a primeira vez que clica.

 

Debugando o procedimento ACBrBoleto1.Imprimir, o erro aparece na linha marcada em vermelho do código a seguir:

 

if Filtro = fiNenhum then
         begin
           if MostrarPreview then
              RLLayout.PreviewModal
           else
              RLLayout.Print;
         end
        else

.....

 

Obrigado!

Código.txt

Postado

Bom dia,

Usando o Demo não deu nenhum erro, pois a configuração do banco era colocada direto no componente e no software eu passo essas configurações em tempo de execução de acordo com o banco que meu cliente quer gerar o boleto. No componente ACBrBoleto quando vc informa a propriedade Banco.TipoCobranca com algum banco, ele já preenche automaticamente o Digito, Nome, Numero e TamanhoMaximoNossoNum. Como eu passo em tempo de execução, eu não passo as informações que são preenchidas automaticas somente o TipoCobranca. Agora mudei e comecei a passar todas as informações mesmo que o componente faz automatico e deu certo.

if cdsPortadorCD_BANCO.AsString = '001' then
  begin

    ACBrBoleto1.Banco.TipoCobranca := cobBancoDoBrasil;

  end
  else
  begin
    if cdsPortadorCD_BANCO.AsString = '021' then
    begin

      ACBrBoleto1.Banco.TipoCobranca := cobBanestes;
      ACBrBoleto1.Banco.TamanhoMaximoNossoNum := 8;

    end
    else
    begin
      if cdsPortadorCD_BANCO.AsString = '756' then
      begin

        ACBrBoleto1.Banco.TipoCobranca    := cobBancoob;

      end
      else
      begin
        if cdsPortadorCD_BANCO.AsString = '104' then
        begin

          ACBrBoleto1.Banco.TipoCobranca    := cobCaixaEconomica;

        end;
      end;
    end;
  end;

  if cdsPortadorLOCAL_PAGAMENTO.AsString = '' then
  begin
    MessageDlg('Local de pagamento não informado no cadastro da Conta.', mtError, [mbok], 0);
    DMServer.DestroiDataSet(cdsBuscaConta.ProviderName);
    Abort;
  end
  else
  begin
    ACBrBoleto1.Banco.LocalPagamento := cdsPortadorLOCAL_PAGAMENTO.AsString;
  end;

  if cdsPortadorDIGITO_BANCO.AsString = '' then
  begin
    MessageDlg('Digito do Banco não informado no cadastro da conta!', mtError, [mbok], 0);
    Abort;
  end
  else
  begin
    ACBrBoleto1.Banco.Digito := cdsPortadorDIGITO_BANCO.AsInteger;
  end;

  ACBrBoleto1.Banco.Numero          := cdsPortadorCD_BANCO.AsInteger;

 

  • Moderadores
Postado

Teoricamente teria que passar apenas (ACBrBoleto1.Banco.TipoCobranca:= cobBanestes;) e já atualiza todas as propriedades deste banco, inclusive "TamanhoMaximoNossoNum". Isso acontece utilizando o Demo do componente.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

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