Ir para conteúdo
  • Cadastre-se

dev botao

Composição Nosso Numero Banco do Brasil


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

Recommended Posts

Olá JAIME, tudo bem ? Vi seu esforço em corrigir a geração de boletos para o Banco do Brasil e acredito que vc esteja por dentro do assunto. Vc aceita uma oferta de R$200,00 (50% sinal + 50% na entrega) para agregar a carteira 11 (7 posições) no componente ? Preciso que funcione tanto no boleto impresso quanto o arquivo remessa (esse eu tenho no GbBoleto). Desculpe-me pela intromissão, mas estou precisando dessa carteira funcionando. Caso te interesse irei fazer uma oferta de R$200,00 na área de Classificados e fecharei por lá com vc pois é assim que o fórum sugere. t+

Link para o comentário
Compartilhar em outros sites

Atilo na formação do nosso numero fiz uma modificação para a carteira 11 de acordo com o entendimento pelo gbBoleto já que não temos a documentação do banco.

Como o convenio tem 7 posições o tamanho maximo do nr. de controle da será de 4 digitos.

function TACBrBancoBrasil.FormataNossoNumero(const ACBrTitulo :TACBrTitulo): String;

var

ANossoNumero, AConvenio : string;

aCarteira: LongInt;

TamDocCarteira11 : Integer;

begin

with ACBrTitulo do

begin

AConvenio := ACBrBoleto.Cedente.Convenio;

ANossoNumero := OnlyNumber(NossoNumero);

aCarteira := StrToIntDef(Carteira,0);

if (ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '17') or (ACBrTitulo.Carteira = '18') then

begin

// CCCCNNNNNNN-X

if (Length(AConvenio) <= 4) and (fpTamanhoMaximoNossoNum = 7) then

ANossoNumero := padR(AConvenio, 4, '0') + padR(ANossoNumero, 7, '0')

// CCCCCCNNNNN-X

else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) and (fpTamanhoMaximoNossoNum = 5) then

ANossoNumero := padR(AConvenio, 6, '0') + padR(ANossoNumero, 5, '0')

// CCCCCCCNNNNNNNNNN

else if (Length(AConvenio) = 7) and (fpTamanhoMaximoNossoNum = 10) then

ANossoNumero := padR(AConvenio, 7, '0') + padR(ANossoNumero, 10, '0')

// NNNNNNNNNNNNNNNNN

else if (Length(AConvenio) > 4) and (Length(AConvenio) <= 6) and (fpTamanhoMaximoNossoNum = 17)

and ((ACBrTitulo.Carteira = '16') or (ACBrTitulo.Carteira = '18')) then

ANossoNumero := padR(ANossoNumero, 17, '0')

end

else

begin

// CCCCCCCNNNN - O tamanho da carteira e nr doc e variavel mas a soma tem que fechar 11

TamDocCarteira11 := 11 - Length(AConvenio);

ANossoNumero := Copy(ANossoNumero, 11 - TamDocCarteira11, TamDocCarteira11);

ANossoNumero := padR(AConvenio, Length(AConvenio), '0') +

padR(ANossoNumero , 11 - Length(AConvenio), '0');

end;

end;

Result := ANossoNumero;

end;

Link para o comentário
Compartilhar em outros sites

Olá Jaime, pelos testes que realizei aqui a coisa não funcionou. Possuo uma das últimas versões do componente de boleto, em que eu seto apenas o campo cobrança para Banco do Brasil e o campo TamanhoMaximoNossoNum é configurado automaticamente. Coloquei um trecho de código ond TamanhoMaximoNossoNum := 4 mas o componente persistiu em emitir um exception avisando que O Tamanho Máximo do Nosso Número deve ser igual a 4. O nosso número que eu estava passando para o componente era 3855. Estou agindo corretamente ? Outra pergunta, estou pensando em ir no banco e criar uma carteira 17 para meu cliente, já que está já está funcional (está né ? para 7 posições ?). Apenas para eu me orientar, com a carteira 17 eu posso enviar uma remessa para o banco emitir o boleto pra mim ? E eu também posso imprimir o mesmo boleto e colocar junto com a mercadoria e mandar para o cliente ? E ao enviar a remessa, o banco sabendo que existe uma cobrança, caso ela não seja paga essa cobrança entra em protesto ? Desculpe-me por atazaná-los, é que estou achando que será mais fácil eu mudar a carteira do que persistir na correção da carteira 11...

Link para o comentário
Compartilhar em outros sites

Olá Jaime, já atualizei o componente, imprimi o boleto e amanhã vou pagar para ver se está tudo em ordem, te dou um retorno assim que souber. Mas tenho uma pergunta: já que é possível eu alterar manualmente o campo TamanhoMaximoNossoNumero, vou ter que alterar também para outros bancos que possuo aqui como, por exemplo, Bradesco, Caixa Federal , Banco do Brasil (carteira 18), etc ? Ou o componente vai continuar atualizando isso automaticamente, exceto a carteira 11 do Banco do Brasil ?

Link para o comentário
Compartilhar em outros sites

xi, tentei fazer o pagamento via internet mas deu que a linha digitável é inválida. Utilizando o internet banking da CEF (pago um montão de boleto via internet banking) não consigo ler o código de barras. Olhando aqui, realmente estou achando que falta uns números (o boleto gerado possui 41 números). Vou tentar encontrar um manual para geração de boletos da carteira 11....

Link para o comentário
Compartilhar em outros sites

vou ter que alterar também para outros bancos que possuo aqui como, por exemplo, Bradesco, Caixa Federal , Banco do Brasil (carteira 18), etc ?

Não. Aquela alteração foi só para o banco do brasil.

usa boleto Itaú ? Se usa, tá funcionando tudo em ordem e que carteira vc usa ?

O itau ainda não estou usando mas acredito que esteja ok.

Vou tentar encontrar um manual para geração de boletos da carteira 11....

Teriamos mais certeza de como é a composição, porque me orientei pelas funções do outro componente.

Link para o comentário
Compartilhar em outros sites

Colega Duilio, sem chances, o código de barras gerado para as carteiras 18 e 11 não dão leitura. Além disso tenho boleto carteira 18 para comparação e a linha digitável não bate. Estou usando uma das últimas atualizações do componente do boleto, estou comparando seu boleto gerado com um funcional que tenho aqui. Apenas para completar, estou usando convênio 7 posições...

Link para o comentário
Compartilhar em outros sites

  • 6 anos depois...
Em 17/08/2011 at 15:46, jaime disse:

Olá Pessoal !

 

Estou implementando o ACBrBoleto, e já utilizo o emissor de boleto do próprio banco do brasil e deu uma divergência no nosso número. Peguei a seguinte informação no banco:

 

COMPOSIÇÃO DO NOSSO-NÚMERO

- Composição padrão para as carteiras 16, 17 e 18.

 

a) Convênio de seis posições, numeração até 999.999: CCCCCCNNNNN-X

 

B) Convênio de seis posições e carteira 18 (cobrança sem registro), poderá ter dezessete

posições livres: NNNNNNNNNNNNNNNNN

 

c) Convênio de sete posições, numeração superior a 1.000.000 (um milhão):

CCCCCCCNNNNNNNNNN

 

OBS.1:

"C" - número do convênio;

"N" - número dado pelo cliente;

"X" - digito verificador /MODULO 11/.

 

OBS.2:

Não existe DV - Dígito Verificador - na composição do nosso-número com 17 posições.

 

No meu caso o convenio é 6 digitos e no emissor do banco sai conforme especificado no item a.

Quando eu imprimo no acbrboleto sai da forma especificado no item b.

 

A dúvida é pode ser adotado qualquer uma das duas formas ?

 

Grato

Jaime.

Porque eu não consigo gerar

 

image.thumb.png.d52c96503a8575947f8669aba9e44875.png

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2370 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.