Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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+

Postado

Atilo anexa o material da carteira 11 que dou uma olhada para vc. O Acbr já me ajudou muito e terei satisfação em te ajudar sem custo algum.

Postado

estou colocando em anexo o GbBoleto, o arquivo remessa para carteira 11 de 7 posições está funcionando bem, mas faz tempo que não imprimo boleto nessa carteira, isso é uma necessidade recente. Não sei se isso ajuda em algo...

GbBoleto.rar

Postado

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;

Postado

ok, posso testar ? Se vc puder upar seus fontes para o SVN eu faço o download aqui, atualizo meu componente, crio um boleto e irei pagá-lo para ver o resultado ... pode ser ?

Postado

Vou anexar.

Só um detalhe o setar TamanhoMaximoNossoNum no seu caso vai ter que ser 4 porque o seu convênio é de 7 digitos que perfaz um total de 11 digito no total da composição do nosso número que e convenio + o seu numero.

ACBrBancoBrasil.pas

Postado

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

Postado

Tinha um versão do boleto que não estava modificando o TamanhoMaximoNossoNumero, eu setava mas continuava em 10.

Estou anexando a função que fiz a correção para modificar esse tamanho troca e faz um teste com ele que vai dar certo.

ACBrBoleto.pas

Postado

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 ?

Postado

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

Postado

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.

Postado

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

Postado

é eu melhorei ele apenas para meu caso que ele não funcionava. carteira 16 de 6 digitos. teria que fazer uma junção das partes para ficar belezinha. =/

mas no meu caso ele resolve o problema.

  • 6 anos depois...
Postado
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

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