BoletoNet / boleto2net

Nova versão do Boleto.Net
Apache License 2.0
159 stars 138 forks source link

Retornar Código Cedente Header Retorno #352

Open hbadotti opened 1 year ago

hbadotti commented 1 year ago

Estou tentando ler o "código cedente" que aparece no header do retorno, porém não consegui, tentei usar a função: objRetorno.Banco.Cedente.Codigo Porém retorna um erro de referência de objeto não definida...

Seria pra ler da posição 027 a 046 "Código Empresa" no Header do Retorno

Banco 237 (Bradesco) Carteira 09 Layout CNAB240

rafd75 commented 1 year ago

@hbadotti boa tarde!

Não sei a carteira/banco/layout que está utilizando, mas possivelmente, na leitura do arquivo retorno, não está sendo criado o objeto Cedente...

Da uma olhada na classe do banco, no layout que está usando (240/400), se está sendo feito isso.

hbadotti commented 1 year ago

Desculpa não informar mais detalhes, estou usando Banco 237 (Bradesco), carteira 09, CNAB 240... A leitura do arquivo retorno estou fazendo da seguinte maneira:

' Ler arquivo Retorno
            Dim arquivo As FileStream = File.OpenRead(DirArquivoRet)
            bol.SetLength(arquivo.Length)
            arquivo.Read(bol.GetBuffer(), 0, CInt(Fix(arquivo.Length)))
            objRetorno = New ArquivoRetorno(bol)

@rafd75

rafd75 commented 1 year ago

Existe um método lendo esse parâmetro (Bradesco / Cnab 240)...

https://github.com/BoletoNet/boleto2net/blob/7038fb2e15ac200de6a24f3fa9c2aaa9eb855487/Boleto2.Net/Banco/BancoBradesco.cs#L534

provavelmente a classe "ArquivoRetorno" não está atingindo esse método.

Teria que depurar a execução do código para ver por onde a execução está passando.

hbadotti commented 1 year ago

@rafd75

Então, eu realmente vi que existe esse método, tentei chama-lo, mas não sabia o que colocar na string "registro"... No final eu acabei lendo a linha manualmente e pegando a posição do código cedente... Olhei no manual CNAB que o banco me enviou e achei a posição e o tamanho e acabei extraindo manualmente

rafd75 commented 1 year ago

Quem deve chamar essa linha, seria a classe "ArquivoRetorno"... Não abri o projeto aqui, estou puxando na memória... Teria que verificar pq não está passando por ai.

hbadotti commented 1 year ago

Fica tranquilo @rafd75

Agradeço muito pela ajuda