Problemas com Leitura arquivos CNAB240

Sep 22, 2011 at 5:24 AM

Boa Noite,

Na leitura de arquivos de retorno da Caixa Economica tipo CNAB240, estou tendo problemas na leitura da data de vencimento nas linhas de detalhe.

Classe: DetalheSegmentoTRetornoCNAB240
Metodo: LerDetalheSegmentoTRetornoCNAB240
Linha: int dataVencimento = Convert.ToInt32(registro.Substring(69, 8));

O que acontece, quando e feita a leitura ele pega somente a data de vencimento dia e mes, o ano ele corta. Lendo a documentação da Caixa e da Febraban, a data de vencimento começaria na posicão 74 e não na 69. Gostaria de saber se esta certo isso?

Atenciosamente 
Dalmir

Sep 22, 2011 at 1:56 PM

Dalmir,

De acordo com a documentação da Caixa o vencimento começa na posição 74 e ao que tudo indica o código está incorreto.
Alterando o código para a posição 74 funciona?

Att,
Luiz Miamoto

Sep 22, 2011 at 8:10 PM

Ola, obrigado pela resposta.

Ontem estudei os documentos da Caixa e da Febraban e esta contando incorreto desde o campo Agencia e Conta, conforme mostra o documento:

Layout Padrão Febraban 240 posições V08.5                                                                             
http://www.febraban.org.br

Registro Detalhe - Segmento T (Obrigatório - Retorno)

Campo

 

Posição

Formato

Default

Des-

 

 

 

De

Até

Dig

Dec

 

 

crição

08.3T

C/C

Agên-cia

Código

Agência Mantenedora da Conta

18

22

5

-

Num

 

*G008

09.3T

DV

Dígito Verificador da Agência

23

23

1

-

Num

 

*G009

10.3T

Conta

Número

Número da Conta Corrente

24

35

12

-

Num

 

*G010

11.3T

DV

Dígito Verificador da Conta

36

36

1

-

Num

 

*G011

12.3T

DV

Dígito Verificador da Ag/Conta

37

37

1

-

Num

 

*G012

 

No sistema esta assim a leitura

Agencia = Convert.ToInt32(registro.Substring(17, 4));   //Aqui começa na posição 18 e conta so 4 dígitos
DigitoAgencia = registro.Substring(21, 1); // Aqui ja esta pegando errado, no caso deveria começar no 23
Conta = Convert.ToInt32(registro.Substring(22, 9)); // Aqui também, alem de começar errado, esta pegando so 9 casas, no documento da mostra que são 12.
DigitoConta = registro.Substring(31, 1);//Mesma coisa, esta comando errado.

Bem, assim sucessivamente esta contato errado todas as posições adiantes. O erro so percebi quando estava tentado ler um arquivo de retorno da caixa, pois o sistema já gerar boletos e leitura de arquivo de retorno já existe, mais e proprietário de outra empresa, estou refazendo um do Zero para essa empresa. O sistema e para gerar guia de recolhimento sindical.

 

Bom deixa ai o aviso ao desenvolvedores do BoletoNet, eu estou fazendo as correções, se funcionar disponibilizo a parte do código corrigida.

 

Atenciosamente

Dalmir