Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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

Postado

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.

Postado

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

  • Administradores
Postado

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 !!

Postado

Oi Juliana, nao fiz nenhuma alteração em codigo fonte...

foi somente no layout do boleto na unit ACBrBoletoFCFortesFr, afim de adequar as exigências da da CAIXA

 

se olhar nos links q postei, verás o relatorio de homologação...aki em Goiania...

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...