Ir para conteúdo
  • Cadastre-se

dev botao

Problemas Na Homologação Do Boleto Da Caixa


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

Recommended Posts

Bom dia pessoal,

 

Gerei a sequência de boletos necessária para tentar a homologação. Mas depois de algum tempo recebi o arquivo em anexo, onde o problema de todos os boletos é o mesmo. "erros de representação numérica".

A seguir o código utilizado para gerar o boleto:

 

if dm.tb_banco.Locate('codigo_banco',codigo_banco,[]) = true
           then begin
                 try
                  begin
                  Titulo := ACBrBoleto1.CriarTituloNaLista;
                  with Titulo do
                  begin
                  texto:=numero_banco;
                 texto:='c:\teste_boleto\sistema_aluga\logo_banco\'+texto+'.bmp';
                // ACBrBoletoFCFortes1.DirLogo:=pchar(texto);
                 ACBrBoletoFCFortes1.DirLogo:='c:\teste_boleto\sistema_aluga\logo_banco\';
                 ACBrBoletoFCFortes1.Filtro:=finenhum;
                 ACBrBoletoFCFortes1.LayOut:=lpadrao;
                 ACBrBoleto1.Banco.Digito:=dm.tb_bancodigito_numero_banco.asinteger;
                 ACBrBoleto1.Banco.Numero:=dm.tb_banconumero_banco.asinteger;
                 if dm.tb_banconumero_banco.asinteger = 104
                 then acbrboleto1.Banco.TipoCobranca:=cobCaixaEconomica;
                 if dm.tb_banconumero_banco.asinteger = 001
                 then acbrboleto1.Banco.TipoCobranca:=cobBancoDoBrasil;
                 dm.tb_filial.open;
                 dm.tb_filial.locate('codigo_filial',cod_filial,[]);
                 ACBrBoleto1.Cedente.Nome:=dm.tb_filialdesc_filial.asstring;
                 cnpj:= dm.tb_filialcnpj.asstring;
                 result :=copy(cnpj,1,2)+'.'+copy(cnpj,3,3)+'.'+copy(cnpj,6,3)+'/'+ copy(cnpj,9,4)+'-'+copy(cnpj,13,2);
                 acbrboleto1.cedente.CNPJCPF:=result;
                 acbrboleto1.Cedente.UF:=dm.tb_filialestado.asstring;
                 acbrboleto1.Cedente.CodigoCedente:=dm.tb_bancocodigo_cedente.asstring;
                 acbrboleto1.Cedente.Agencia:=dm.tb_banconumero_agencia.AsString;
                 acbrboleto1.Cedente.AgenciaDigito:=dm.tb_bancodigito_agencia.AsString;
                 acbrboleto1.cedente.Conta:=dm.tb_banconumero_conta.asstring;
                 acbrboleto1.cedente.ContaDigito:=dm.tb_bancodigito_conta.asstring;
                 acbrboleto1.cedente.Convenio:=dm.tb_bancoconvenio.AsString;
                 // montando os dados do boleto
                 Vencimento := strtodate(maskedit3.text);
                 DataDocumento := strtodate(maskedit2.text) ;
                 NumeroDocumento := dm.tb_boletonumero_documento.asstring;
                 EspecieDoc := dm.tb_boletoespecie.asstring;
                 if dm.tb_boletoaceite.AsString = 'SIM'
                 then Aceite := atSim
                 else Aceite := atNao;
                 DataProcessamento := strtodate(maskedit2.text);
                 Carteira := dm.tb_bancocarteira.AsString;
                 NossoNumero := IntToStrZero(nosso_numero,10);
                 ValorDocumento := dm.tb_boletovalor.AsFloat;
                 dm.tb_cliente.open;
                 if dm.tb_cliente.locate('codigo_cliente',dm.tb_boletocodigo_cliente.Value,[]) = true
                 then begin
                         Sacado.NomeSacado := dm.tb_clientenome_cliente.AsString;
                         if dm.tb_clientetipo.Value = '1'
                         then begin
                               cnpj:=dm.tb_clientecnpj.AsString;
                               result :=copy(cnpj,1,2)+'.'+copy(cnpj,3,3)+'.'+copy(cnpj,6,3)+'/'+ copy(cnpj,9,4)+'-'+copy(cnpj,13,2);
                               Sacado.CNPJCPF :=result;
                              end
                         else begin
                               cnpj:=dm.tb_clientecpf.AsString;
                               result :=copy(cnpj,1,3)+'.'+copy(cnpj,4,3)+'.'+copy(cnpj,7,3)+'-'+ copy(cnpj,10,2);
                               Sacado.CNPJCPF :=result;
                              end;
                 Sacado.Logradouro := dm.tb_clienteendereco.value;
                 Sacado.Numero := dm.tb_clientenumero.AsString;
                 Sacado.Bairro := dm.tb_clientebairro.AsString;
                 Sacado.Cidade := dm.tb_clientecidade.AsString;
                 Sacado.UF := dm.tb_clienteestado.AsString;
                 Sacado.CEP := copy(dm.tb_clientecep.AsString,1,5)+'-'+copy(dm.tb_clientecep.AsString,6,3);
                 end;
                 ValorAbatimento := 0;
                 LocalPagamento := dm.tb_bancolocal_pagamaneto.AsString;
                 ValorMoraJuros := 0;
                 ValorDesconto := 0;
                 ValorAbatimento := 0;
                 DataMoraJuros := 0;
                 DataDesconto := 0;
                 DataAbatimento := 0;
                 PercentualMulta := 0;
                 textocompleto:=dm.tb_boletocodigo_mensagem_banco.AsString;
                 if dm.tb_boletomulta.AsString <> ''
                 then textocompleto:=textocompleto+#13+' Após vencimento multa de '+formatfloat('R$ ###,##0.00',(dm.tb_boletovalor.value*dm.tb_boletomulta.value/100));
                 if dm.tb_boletojuros.AsString <> ''
                 then textocompleto:=textocompleto+#13+' Após vencimento juros ao dia de '+formatfloat('R$ ###,##0.00',(dm.tb_boletovalor.value*dm.tb_boletojuros.value/100));
                 Mensagem.Text :=textocompleto;
                 OcorrenciaOriginal.Tipo := toRemessaBaixar;
                 Parcela := 1;
                 end;
                 try
                  acbrboleto1.Imprimir;
                  ACBrBoleto1.ListadeBoletos.Clear;
                  DM.TB_BANCO.CLOSE;
                  dm.tb_boleto.close;
                  dm.query1.close;
                 except
                  application.messagebox('Algum erro ocorreu e o boleto não pode ser impresso! Tente a reimpressão!','SISTEMALOCAR');
                 end;
                 end;
                 except
                   application.messagebox('Algum erro ocorreu e o boleto não pode ser impresso! Tente a reimpressão!','SISTEMALOCAR');
                 end;
                end;

 

homologacao.pdf

Link para o comentário
Compartilhar em outros sites

Oi Ana Fernanda o SIGCB da Caixa exige o seguinte.

 

1 - A propriedade Nosso número dever ser preenchido com 15 dígitos.

 

//- NossoNumero := IntToStrZero(nosso_numero,10);

+NossoNumero := IntToStrZero(nosso_numero,15);

 

2 - A propriedade CodigoCedente deve ser preenchida somente os número sem o código verificador, isto é 6 dígitos.

 

Olha eu coloquei para Conta e ContaDigito o mesmo código do Cedente e o Digito do Cedente, não coloquei o número da conta do banco não.

 

    Cedente.CodigoCedente := IB_Cursor_Cedente.FieldByName('BOLETO_CODIGO_CEDENTE').AsString; //'123456'
    Cedente.ContaDigito := IB_Cursor_Cedente.FieldByName('BOLETO_CODIGO_PV').AsString; //'7';
 
    Cedente.Conta := IB_Cursor_Cedente.FieldByName('BOLETO_CODIGO_CEDENTE').AsString;  // '123456';
    Cedente.ContaDigito := IB_Cursor_Cedente.FieldByName('BOLETO_CODIGO_PV').AsString; //'7';
 
    Cedente.AgenciaDigito := IB_Cursor_Cedente.FieldByName('CODIGO_AGENCIA_DIGITO_CONVENIO').AsString;
    Cedente.Agencia := IB_Cursor_Cedente.FieldByName('CODIGO_AGENCIA_CONVENIO').AsString;
 

Uso o fastreport e tem funcionado.

 

Antônio.

Link para o comentário
Compartilhar em outros sites

oi galera, tbem tive problemas com a homologação na caixa segue o relatorio das aterações no layout do boleto

 

 

https://mega.co.nz/#!2I9UhLBT!K-TrzhQA2p8kDmVJZSqKilXHXlBRF13QQHYo_TuWwyg

https://mega.co.nz/#!HZ1HTKRI!AoFDBE-s5xirDP0R7j9NpnpCEg1UhJvspY0OcK7anCo

https://mega.co.nz/#!jMtn1SKR!PYD-7ArQ04X2Xjb1Rqwj8lu12zAZ2fNI_vmcKjTIzGA

 

Obs: estou usando o FortsReport, 

fiz as açterações sugeridas, porem qndo fizer a atualização irei perder as correcoes q fiz, então o iddeal é q fosse corrigido no svn assim todos se beneficiam dessas alterações

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

 

Por favor anexe as units alteradas e também cite modificações que foram necessárias.

 

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

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