Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com Boleto SIGCB (Caixa Econômica)


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

Recommended Posts

Olá amigos,

estava fazendo testes com o ACBrBoleto e encontrei alguns problemas no trato do boleto da CEF (SIGCB), mais especificamente na geração da linha digitável e na leitura do arquivo retorno.

Posto abaixo alguns ajustes que precisei fazer para que ambos os procedimentos funcionassem.

1 - ACBrBoleto.pas (linha 1835)

de acordo com o manual da caixa, para calcular o digito verificador o multiplicador inicial é 2, depois 1 e assim sucessivamente. No meu código fonte estava ao contrário (primeiro 1, depois 2). O que fiz foi exatamente trocar os valores dos multiplicadores inicial e final. ficando assim:

fpModulo.MultiplicadorInicial := 2;

fpModulo.MultiplicadorFinal := 1;

2 - ACBrCaixaEconomica (linha 550)

na leitura do arquivo retorno padrão 240 o componente estava lendo o vencimento com apenas 2 digitos no ano (ddmmyy), sendo que o arquivo retorna o vencimento com 4 digitos (ddmmyyyy). Alterei a linha citada para que fossem lidos os 4 digitos, como segue:

Vencimento := StringToDateTimeDef( Copy(Linha,74,2)+'/'+

Copy(Linha,76,2)+'/'+

Copy(Linha,78,4),0, 'DD/MM/YY' );

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia Nilson.

A alteração feita por você na unit ACBrBoleto.pas irá afetar a todos os demais bancos que estão funcionando corretamente, verifique a forma de efetuar o ajuste apenas para o banco em questão.

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

Olá, fiz o seguinte: sobrescrevi o método montar linha digital e antes de invoca o inherited eu adicionei a linha

fpModulo.MultiplicadorAtual := 2. Ficou assim:


function TACBrCaixaEconomica.MontarLinhaDigitavel(const CodigoBarras: String): String;

begin

  fpModulo.MultiplicadorAtual := 2;

  Result := inherited MontarLinhaDigitavel(CodigoBarras);

end;

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde.

A função MontarLinhaDigitavel da unit ACBrBoleto.pas já faz essa atribuição....

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

  • Administradores

Boa tarde.

Sua unit não está desta maneira:

function TACBrBancoClass.MontarLinhaDigitavel (const CodigoBarras: String): String;

var

Campo1, Campo2, Campo3, Campo4, Campo5: String;

begin

fpModulo.FormulaDigito := frModulo10;

fpModulo.MultiplicadorInicial := 1;

fpModulo.MultiplicadorFinal := 2;

fpModulo.MultiplicadorAtual := 2;

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

  • Administradores

Bom dia Nilson.

Tente excluir a sua unit e baixar novamente...pois todas as minhas units estão atualizadas no svn.

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

  • 4 semanas depois ...

Olá, desculpem ressuscitar este tópico, mas o problema na linha 559 do arquivo ACBrCaixaEconomica ainda persiste.

A data de vencimento do arquivo retorno está formatada com 4 dígitos para o ano (yyddmmmm). O componentes está lendo apenas 2 dígitos para o ano.

Alguém poderia corrigir e atualizar o repositório, por favor?

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia Nilson.

Se desejar, efetue a correção, faça um teste e se der certo, anexe aqui a unit alterada.

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

Olá,

seguem compactados os 3 arquivos que eu alterei:

1) ACBrCaixaEconomica.pas: alterei a função FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String para ela não truncar os últimos 2 dígitos do nosso número e alterei a leitura do arquivo retorno para ele ler os 4 digitos do ano do vencimento.

2) ACBrBoletoFCFortesFr.pas e ACBrBoletoFCFortesFr.dfm: alterei o tipo do componente txtNomeSacadoCarne: TRLLabel para mNomeSacadoCarne: TRLMemo para exibir quebra de linha quando os nomes forem extensos.ACBrBoleto_ArquivosAlterados.rar

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Administradores

Bom dia.

Quanto a unit da caixa, a única alteração que falta ser implementada é a leitura da data do arquivo retorno(ler 4 caracteres)...

As demais linhas já estão corretas...

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á 4282 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.