Jump to content

Ofertas Embarcadero
Aproveite até o dia 30

Saiba Mais

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Erro Linha Digitavel Boleto Caixa Economica


Go to solution Solved by Leandro SSilva {0,1},
  • Este tópico foi criado há 2445 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

1º - Pessoal estou com problema para gerar boleto/Arq.Retorno da caixa econômica
hoje o boleto é gerado através do programa COBCAIXA .

Obs: Emitente pessoa física, o componente deixa  você coloca na propriedade cpf/cnpj em tempo de projeto e quando  executa ele critica que é invalido dai tenho que colocar o cpf em tempo de execução ai funciona.

Dai comecei a fazer o teste gerei um boleto COBCAIXA com as seguintes informações:
Dt Emissão: 21/10/13
Dt Vencimento: 20/11/13
Nº Documento 111001
Espécie: DM
Aceite: N
Dt Proc: 21/10/201
Carteira: SR
Ag/Cod.Cedente: 4755.870.00000028-9
Nosso Numero: 800000000000329-0
Valor: em branco.
Foi gerada a linha digitavel:
10490 . 00282 . 47558 . 700002 . 00000 . 003293 7 58880000000000

Dai com as mesmas configurações pelo componente o boleto sai assim:

10498 . 00004 . 00000 . 002393 . 47558 . 700002 1 58880000000000

Não consegui entender porque eu acho que tem alguma coisa diferente quando se usa esse 870 no Cedente, ou eu estou fazendo algo errado mesmo.
2º - Dai peguei um arquivo de retorno dessa conta e fiz um teste com componente códigos de exemplo encontrado aqui mesmo fórum carregar o arquivo e fazer um loop inserindo em um TClienteDataSet  ele acha o registo mas ele não acha o valor correto no Campo nosso numero que vem tudo zero.

Alguém pode dar uma ajuda, dede de já obrigado pela atenção.

 
 

 

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites

Bom dia.

 

Para a caixa existem dois tipos de cobrança distintos, que seriam o cobCaixaEconomica e o cobCaixaSicob (que é o tipo que tem o "870" no código do cedente)...você precisa verificar se configurou o tipo correto.

 

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
Link to post
Share on other sites

Obrigado por responder estou usando cobCaixaSicob mesmo mas nao consigo fazer geral igual o sistema da caixa, com esses voce consegue gerar igua o do banco? se sim pode me enviar a configuração usada pode ser que esteja colocando informação em lugar errado .

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites
Boa noite, percebi alguma coisa errada pois quando eu passo 13 digitos para o nosso numero ele
acerta os 5 primeiros digitos da linha digitavel (10490) e o restante ele muda a posição
e nao coloca o 8 na frente do nosso numero.
 
quando eu passo 14 digitos para o nosso numero ele
erra os 5 primeiros digitos da linha digitavel (10498) e o restando ele muda a posição e 
coloca o 8 na frente do nosso numero.
 
não consigo fazer o componente emitir igual o do app da caixa.
 
 Segue anexo boleto app caixa e boleto app componente.
 
teste do primeiro boleto.

boletos.rar

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites

Bom dia.

 

A Caixa Econômica tem várias regras para a montagem do Nosso Número, por isso a quantidade de caracteres que você informa neste campo irá influenciar como o mesmo será montado...

 

Observe abaixo o código utilizado para formatar o NossoNumero:

 

ANossoNumero := OnlyNumber(NossoNumero);
wTamNossoNum := CalcularTamMaximoNossoNumero(Carteira,ANossoNumero);
 
if (wTamNossoNum = 10) or (wTamNossoNum = 15) then
    ANossoNumero:= ANossoNumero
else
 begin
   if Carteira = 'SR' then
    begin
      if wTamNossoNum = 14 then
         ANossoNumero:= '8'+ padr(Copy(ANossoNumero,Length(ANossoNumero)-13,14),14)
      else
         ANossoNumero:= '82'+ padr(Copy(ANossoNumero,Length(ANossoNumero)-7,8),8);
    end
   else
      ANossoNumero:= '9' + padR(Copy(ANossoNumero,Length(ANossoNumero)-8,9),9,'0');
 end;  
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
Link to post
Share on other sites

Bom dia.

 

Como o campo NossoNumero está sendo impresso? Nem sempre a linha digitável gerada pelo aplicativo do banco irá bater com o do componente...

 

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
Link to post
Share on other sites

Boa noite!

 

Ao Jeter, eu não defini o tamanho não, já tem uma rotina interna no componente que seta o tamanho para 15.

 

A Juliana, o nosso numero esta sendo impresso correto ex: 800000000000413 a linha digital não bate com o do app da caixa,

mais essa sua resposta Nem sempre a linha digitável gerada pelo aplicativo do banco irá bater com o do componente... já me deu mais esperança então irei gerar um boleto pelo componente com valor baixo e vou pagar pra ver se ele cai na conta, respeitando o controle do numero que já esta em andamento n o app da caixa..

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites

Leandro, boa tarde.

 

Eu emito boletos pela CEF/SICOB.

 

Em todas as vezes, com testes que efetuei com o aplicativo COBCAIXA, a linha digitável conferiu.

 

Também pelo sistema SIGCB da CEF (outra unit), a linha digitável conferiu.

 

Faça um teste: Informe o tamanho do nosso número como 15 e efetue a geração dos boletos.

 

Se der diferença, cole uma imagem de cada boleto aqui no fórum para que possamos dar uma verificada para você.

 

Atenciosamente.

------------------------------------------------

Jéter Rabelo Ferreira

JeraSoft-pequeno.png

Campestre/MG

Skype: jeter.rabelo

Link to post
Share on other sites
  • 2 weeks later...

Bom dia !

 

Juliana como você tinha dito que a linha digitalvel poderia ficar diferente da linha digitavel do app da caixa fiz o teste gerei um boleto de 5,00 todos os dados do corpo do boleto esta identico do app da caixa mas as linhas estavam diferente então o boleto não caiu na conta e eu perdi os 5,00 rsrsrsr.

 

Acho que tem que ser igual o Jeter falo as linhas tem que ser iguais tanto do app caixa quanto app componente.

 

dai vo fazer outro teste e colocar aqui os 2 boletos e os dados de da conta do cliente que é pessoal fisica acho que pode ter algum problema pois n]ao ser juridica?

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites
  • 3 weeks later...

Ainda não consegui gerar o boleto correto, fiz o teste seguindo suas informações Juliana gerei um boleto de 5,00 mas não caiu na conta, acho que a linha digitavel tem que ser igual a do app da caixa, acho que tem alguma coisa errada na geração do boleto para Pessoa Fisica mas ainda não sei o que é.

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites
  • 2 weeks later...

Saudações:

Eu tive o mesmo problema e creio que descobri a causa, pelo menos no meu caso (SICOB).

Para o caso do boleto da caixa, formate o NOSSO NÚMERO com 8 dígitos.

Percebi que se o nosso numero for menor do que 8, o componente formata com 15 e no processo da geração do código de barras, suprime os 5 dígitos finais do código cedente. Por consequência o boleto é aceito mas não cai em conta alguma.

Ainda vou enviar um boleto para pagamento, mas o código do cedente apareceu na linha digitada corretamente, após este procedimento.

 

Da forma como está, é necessário enviar o nosso número formatado com tamanhos diferentes para boletos de bancos diferentes. Por exemplo: o BANCOOB só aceita 7 dígitos no nosso número.

Uma sugestão aos desenvolvedores do componente é que no mesmo seja feita uma formatação mínima, para prevenir que o nosso número fique fora do padrão mínimo de tamanho, o que eliminaria este problema.

 

Aqui estou enviando o código do cedente sem o numero da agencia. O componente obriga a informar o código da agencia e se informar o mesmo código no cedente o numero se repete. assim:

código do cedente informado pelo banco: 1822870000000999 (1822 - 870000000999) informo no código do cedente apenas 870000000999.

 

10498.20002 02565.182082 70000.009994 2 63020000000100 - linha correta

10490.00001 00000.025627 18208.700007 1 63020000000100 - linha incorreta

 

Att,

 

Alfredo Koplin.

Link to post
Share on other sites

Eu irei fazer esse teste, mas acho que so vai funcionar quando o as linhas estiverem iguais tanto do app da caixa e app componente.

acho que o problema está na montagem do codigo de barras segundo o manual o ultima campo deveria ser o nosso numero e não codigo do cedente.

 

======================================================================

 

Fiz o teste e não deu certo e ainda o nosso numero inicio com 82, pois se for sem registro e menor que 14 ele coloca 82 na frente diferente do app da caixa.

Edited by leandrox364

Leandro dos Santos
Analista / Desenvolvedor
 

Link to post
Share on other sites

Olá,

O componente está fazendo correto, pelo menos pelo manual que tenho em mãos: ESPECIFICAÇÃO DO CÓDIGO DE BARRAS PARA BLOQUETOS DE COBRANÇAS RÁPIDA E SEM REGISTRO SICOB - NOSSO NÚMERO 11 POSIÇÕES.

 

Não consegui baixar no site da CEF, mas vi que tem manual para tamanhos diferentes de nosso numero.

 

Infelizmente o que tenho está em papel e as páginas de download da caixa estão off.

Mas, em relação ao nosso número, este manual, na pag 5 diz:

 

cobrança sem registro : 82NNNNNNNN-DV

COBRANÇA RÁPIDA: 9NNNNNNNNN-DV

 

Eu solicitei que um boleto fosse enviado e pago ao banco e vou aguardar o retorno e posto aqui. Mas de antemão, creio que a caixa tem várias formas de fazer a codificação dos boletos. Me parece que o componente adotou a sistemática deste manual. Provavelmente o app da caixa usa outra forma. O que vai bater o martelo será o pagamento do boleto. Tomara que dê certo. Também estou na busca da solução.

 

Se alguém puder ajudar a resolver este embate, agradecemos.

 

Att,

 

Alfredo Koplin.

Link to post
Share on other sites

Aqui mesmo no forum o colega Luiz Carlos Silvestrini apresentou esta solução: 

que, segundo ele foi testado para 15 posições.

 

Estranhamente, ninguém disse se aprovou e o componente não apresenta esta mudança.

 

Por favor, faz um teste (eu não tenho o app da caixa) e retorna se deu certo pra você.

 

eu só mudei um trecho para garantir que ele faça com SR e 15 posições, não interferindo nos demais.

 

 if (UpperCase(ACBrTitulo.Carteira) = 'SR')and(CalcularTamMaximoNossoNumero(ACBrTitulo.Carteira,ANossoNumero)=15) then
  CampoLivre := Copy(aCodCedente, 7, 5) + RightStr(ACBrTitulo.ACBrBoleto.Cedente.Agencia, 4) + '87' + RightStr(ANossoNumero, 14)
 else
  CampoLivre := ANossoNumero + RightStr(ACBrTitulo.ACBrBoleto.Cedente.Agencia, 4) + aCodCedente
 
Att,
 
Alfredo koplin.
Link to post
Share on other sites
  • Este tópico foi criado há 2445 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...