Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia.

 

A unit ACBrCaixaEconomicaSICOB tem suas particularidades.

 

Existe a possibilidade de emitir boletos com dois tipo de Nosso Número: 11 ou 16 dígitos.

 

Dependendo da forma que você configura o componente, ele calculará a linha digitável da forma errada.

 

Faça o seguinte:

  1. Defina o tamanho do Nosso número que você vai utilizar 10 ou 15 - Obs: 10 ou 15 porque o dígito o próprio componente calcula.
  2. Informe o nosso número corretamente (Carteira SR)
    1. Caso você defina como 10 ou 15, o nosso número deverá iniciar com os números conforme manual da CEF
      1. 10 Dígitos - Inicia com 8
      2. 15 Digitos - Inicia com 82
    2. Se você não informar os números corretos, poderá ter problemas com créditos na CEF e também com a homologação
  3. Caso você não definir o tamanho do Nosso Numero, o componente assume que será 15
    1. Ao  assumir que é 15, se você não passou o nosso número com 15 dígitos, ele vai "montar" o nosso número conforme determinação da CEF (function TACBrCaixaEconomicaSICOB.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;)
    2. Da mesma forma, assumindo 15 como tamanho do Nosso Número, e você informar um Nosso Nümero de 10 dígitos, o componente irá alterar o nosso número.

Portanto, seu problema está com a correta configuiração do componente.

 

Em tempo, eu utilizo essa unit há mais de 2 anos, e a mesma é uma pequena contribuição da minha parte para o ACBr

 

Teste e nos informe o resultado.

 

Atenciosamente

  • Curtir 1

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

Jéter Rabelo Ferreira
Campestre/MG

Postado (editado)

Oi Jeter efetuei o teste e não deu certo e segundo o manual da CEF nosso numero com 15 não inicia com 82 e sim com 8.

 

Segundo o manual abaixo.

 

http://downloads.caixa.gov.br/_arquivos/cobrcaixasicob/manuaissicob/ESPCODBARBLOQCOBRANREGIST_16POSICOES.pdf

 

 

 

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

 

 

Jeter fiz o teste com o codigo informacado em uma resposta acida e realmente funciona

no metodo:

 

function TACBrCaixaEconomicaSICOB.MontarCodigoBarras(const ACBrTitulo : TACBrTitulo): String;
 
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;
 
O boleto bateu com o app da caixa o ideial seria um moderador da uma conferida e subir o codigo.
Editado por leandrox364

Leandro dos Santos
Analista / Desenvolvedor
 

Postado

Leandro, boa tarde.

 

Eu inverti os valores na minha resposta.

 

Mas faça o seguinte, configure o componente conforme abaixo:

 

Nosso Numero: 800000000000329

TamanhoMaximoNossoNum := 15

 

Eu utilizo a cobrança da CEF, mas com o nosso número 11. Não fiz testes com o nosso número 16.

 

Depois eu faço um teste com 16 dígitos para verificar.

 

Atenciosamente.

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

Jéter Rabelo Ferreira
Campestre/MG

Postado (editado)

Boa tarde.

 

Juliana ou outro moderador.

 

Efetuei testes aqui com a unit ACBrCaixaEconomicaSICOB e, realmente, a montagem do Código de Barras está com problemas para o tamanho Nosso Numero 16.

 

Consultando o manual da CEF, eu efetuei a devida correção para que o campo livre seja montado corretamente.

 

Essa correção afeta somente o Campo Livre de boletos com o Nosso Numero de tamanho 16, ficando inalterado o de tamanho 11.

 

Consultado os LOG's, eu verifiquei que até o dia 15/01/2013 havia uma condição para a geração do campo livre de 16 posições, mas estava errado. Nessa data foi postada uma atualização da unit retirando essa condição.

 

Assim que possível, favor subir para o SVN.

 

Atenciosamente.

ACBrCaixaEconomicaSICOB.pas

Editado por jeter.rabelo

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

Jéter Rabelo Ferreira
Campestre/MG

  • 2 semanas depois ...
Postado (editado)

Boa tarde.

 

Solicito a gentileza de que que algum moderador possa subir a alteração feita na unit. ACBrCaixaEconomicaSICOB.pas conforme post .

 

Já foi testada e está OK.

 

Atenciosamente.

Editado por jeter.rabelo

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

Jéter Rabelo Ferreira
Campestre/MG

  • 4 semanas depois ...
Postado (editado)

Boa tarde Sr.s e Sra.s....

 

Após atualizar o componente (em dezembro não me lembro bem a data) e notar que ao gerar o boleto da caixa com o SICOB o nosso numero estava vindo com 16 digitos. No meu AC eu apenas informava um codigo no nosso numero e até entao o componete fazia o resto de completar com 820000xxxx-x. Depois que atualizei POW ja era.. entrei no forum e notei que tinha havido algumas alteracoes e fiz a atualizacao do componente (17/01/2014). Para minha surpresa o tal de "completar" como antes informando apenas o codigo (inteiro e de 5 digitos) ele nao completava com 82000xxxxx-x e no procedimento "FormataNossoNumero" ele ja sempre assumia o tamanho de 15 (pela funcao de CalcularTamMaximoNossoNumero). Bom pra resolver o meu problema eu acabei fazendo o seguinte e não sei se isso afetará quem utiliza do outro modelo de combrança da caixa: 

- comentei a linha "363" onde: // if (wTamNossoNum = 10) or (wTamNossoNum = 15) then

- inclui: if (wTamNossoNum = 15) then

 

alem de ter que mandar o nosso numero com os zeros a esquerda completando os 10 digitos

 

No meu AC comecou a funcionar tudo como antes, mas não trabalho com a outra carteira e nao tenho como testar se isso vai afetar quem usa a outra carteira da caixa.

 

Como tbem não sei como funciona o modo de alteracao dos componentes com os coordenadores/moderador eu postei bem detalhado a minha solucao e espero que tenha ajudado em algum momento ou se caso eu tenha alguma deficiencia no preenchimento do componente possa vir a me orientar.

 

Agradeço a todos e uma boa semana.

Editado por ganef
  • Este tópico foi criado há 3931 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.