Banco do Brasil

Apr 5, 2012 at 5:03 PM

Olá a todos, essa biblioteca é muito útil!! Mas.. agora pouco precisei gerar um boleto, banco do brasil.. carteira 11 e recebi um erro que apenas as carteiras: 16,17,18,18-019,18-027,18-035 e 18-140 estão implementadas. algumas dessas carteiras é similar a carteira 11 do Banco do Brasil??

Apr 5, 2012 at 8:33 PM

Caso alguém sem tanta experiência feito eu caia na mesma dúvida, a resposta é: mude para a carteira 17.

Motivo:

Na carteira 11 do BB o nosso número é gerado pelo banco, então como vc vai dá baixa no arquivo de retorno ? complicou, liguei pro banco e ela reconfirmou a necessidade de trocar a carteira.

Apr 6, 2012 at 12:16 AM
Edited Apr 6, 2012 at 12:30 AM

Detalhes: Carteira 17
Alguém já tentou gerar a remessa do Banco do brasil?

fiz assim:
BoletoBancario bb;
            bb = new BoletoBancario();
            bb.CodigoBanco = 1;
            DateTime vencimento = new DateTime(2012, 4, 5);

Cedente c = new Cedente("00.000.000/0000-00", "Empresa de Atacado", "0542", "13000");
            c.Convenio = 123456 ;
            c.Codigo = 123456;

Boleto b = new Boleto(vencimento, 1642, "17", "", c, new EspecieDocumento(1, (int)EnumEspecieDocumento_BancoBrasil.DuplicataMercantil));
            b.NumeroDocumento = Convert.ToString(10000);
            b.Sacado = new Sacado("000.000.000-00", "Fulano de Silva");
            b.Sacado.Endereco.End = "SSS 154 Bloco J Casa 23";
            b.Sacado.Endereco.Bairro = "Testando";
            b.Sacado.Endereco.Cidade = "Testelândia";
            b.Sacado.Endereco.CEP = "70000000";
            b.Sacado.Endereco.UF = "DF";
            b.NumeroDocumento = "1111111111";
            b.NossoNumero = c.Convenio.ToString() + "12345";

bb.Boleto = b;

ArquivoRemessa arquivoRemessa = new ArquivoRemessa(TipoArquivo.CNAB240);

 

MemoryStream remessa = new MemoryStream();
            string codigoConvenio = "000" + c.Convenio.ToString() + new string(' ', 11);  //DETALHE NISSO AQUI!! (1)
            arquivoRemessa.GerarArquivoRemessa(codigoConvenio, banco, c, boletos, remessa, 1); //erro aqui!!
            MessageBox.Show(Encoding.ASCII.GetString(remessa.ToArray()));

(1)

"O código de convênio é composto pelo número do contrato do cliente junto ao Banco no sistema PAG
com tamanho 9 e com '0' (Zeros) a esquerda e mais 11 espaços em branco."

Bom.. fui debugar e achei a função que estava dando erro:
Arquivo:  Banco_Brasil.cs
Método: public override string GerarDetalheSegmentoPRemessa(Boleto boleto, int numeroRegistro, string numeroConvenio) [...]

Algumas coisas estranhas...

// <-- MUIIITOO ESTRANHO, nosso numero recebendo o     //valor do número do documento??  pq? essa é a primeira coisa estranha
_nossoNumero = Utils.FitStringLength(boleto.NumeroDocumento, 10, 10, '0', 0, true, true, true);

int _total = numeroConvenio.Substring(0, totalCaracteres).Length + _nossoNumero.Length;
int subtotal = 0;
// Aqui pro exemplo dado acima o erro acontece.. _total dá 21.. bugou legal.
//
subtotal = 20 - _total;
string _comnplemento = new string(' ', subtotal);

No site tem dizendo que o BB foi homologado, será que não foi homologado só a geração do boleto??  alguém aii????
Minha OPINIÃO
As 02 horas da manhã na sexta, chega o coder desse módulo em casa, na secura de programar e começa na empolgação a usar a função FitStringLenght e como seus parâmetros[maxLength, int minLength] são usados com a contagem começando em zero, o cara tem q subtrair 1! pra no substring não dá erro. ai lá no subtotal q eu acho q era pra ser 21 o cara botou 20.. ai arrebentou a buzanfa dos caras q usam a remessa.
e acho q a linha:
_nossoNumero = Utils.FitStringLength(boleto.NumeroDocumento, 10, 10, '0', 0, true, true, true);
devia ser
_nossoNumero = Utils.FitStringLength(boleto.NossoNumero, 10, 10, '0', 0, true, true, true);

BOm.. será q estou certo?? pq qdo fiz essas mudanças "corrigi o erro" mas posso ter causado outros. to tentando ver a documentação da remessa pra saber se tá certo. 0_o
Acho q to sozinho nessa rs

Apr 6, 2012 at 2:03 AM

ERRO Corrigido, posto amanhã que hj eu larguei meus caros. ffui!

Developer
Apr 6, 2012 at 2:11 PM

Olá rafluc !

Pois é, uma das carteiras (18-019) foi homologado por mim.  A condição é emissão de boleto pelo cliente e sem registro, isto é, não ocorre a remessa/retorno.

Estou trabalhando a carteira 17, com variação 019 (17-019) - com registro, boleto emitido pelo cliente.  Pelo que percebi no manual, atualizado em 2012, parece que tem as mesmas condições de formatação da carteira 18-019, porém, com registro, isto é, remessa/retorno.

Analisando o código (Boleto.NET), acho que ainda não está completo e vou começar a desenvolver a remessa/retorno.

Abraços,

Apr 6, 2012 at 10:46 PM

Jsoda, beleza! Eu vou começar a conferir agora todo o arquivo de remessa. Corrigi a parte da remessa q fizeram e eu tentei de todo jeito manter o mais original possível, porém eu acredito que quem fez a remessa alterou outras partes do código, pois a parte que alterei está de uma forma masss os dados estão de outro ou então a documentação mudou bastante. estou me baseando em:
www.bb.com.br/leiautes

Retorno:
http://www.bb.com.br/docs/pub/emp/empl/dwn/CbrVer04BB.pdf

Apr 6, 2012 at 10:47 PM

assim q terminar eu posto

Apr 7, 2012 at 7:41 PM

Jsoda, terminei, agora só falta homologar pra checar se está tudo ok na remessa. conferi a documentação várias vezes, alterei as funções de gerar header do arquivo, do lote e de gerar o segmentoP... adicionei na classe boleto as propriedades abaixo junto com seus enumeradores.. e também alterei a classe de cedente pra colocar o número do lote e a variação da carteira..

Campos novos na classe boleto:

codigoMovimentoRemessa
codigoCarteira
formaCadastroTituloBanco
identificacaoEmissaoBloqueto
identificacaoDistribuicaoCarteira

Campos novos na classe cedente:

carteira
variacaoDaCarteira

Eu sou novo no codeplex, não sei pra quem mando isso.. vi q tem o stiven, é pra ele ? tem outro ou só ele?

Developer
Apr 10, 2012 at 4:58 AM
Edited Apr 10, 2012 at 4:59 AM

Olá rafluc !

Fiquei sem internet o dia todo, deve ser por causa da chuva de domingo...%@(@#¨¨$!! Voltou agora pouco.

Blz ! Espero que funcione. Quais os arquivos que vc modificou - só para eu saber.

Eu não tenho certeza, mas sempre envio para o Stiven.

Abraços, ...e parabéns !

Nov 27, 2013 at 11:01 AM
Mas e ai alguem corrigiu o erro de geração de arquivo de remessa? estou tentando gerar remessa , no caso bradesco,itau, e BB só o BB retorna erro na geração de remessa.