Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerando Boletos Bancários Com o VB e Crystal Reports II
Gerando Boletos Bancários Com o VB e Crystal Reports II
Na primeira parte do nosso artigo Gerando Boletos Bancários com o VB e Crystal Reports abordamos os
conceitos básicos sobre o boleto bancário. Lembre-se que estamos tomando por base as informações para
gerar boletos para o Banco do Brasil , se você for trabalhar com outro banco a documentação pode ser
um pouco diferente.
Até o presente momento criamos as funções para calcular os digitos verificadores no modulo 11 , no
modulo 10 , como gerar o código de barras e calcular o seu DV.
Vamos agora mostrar como gerar a linha digitável (lembra-se dela). Ela tem o seguinte formato:
B - número do banco
M - Moeda (sempre 9 - real)
V - valor7
C - campo livre - depende do banco
D - Digito verificador do código de barras
d - digito verificados da linha digitáveis
Perceba que temos 5 sequências de números , cada sequência com um significado : Vamos identificar
cada sequência:
Assim para o Banco do Brasil a composição da linha digitável pode ser obtida pela seguinte função:
'formata a sequencia
seq1 = Left(seq1 & dv1, 5) & "." & Right(seq1 & dv1, 5)
seq2 = Left(seq2 & dv2, 5) & "." & Right(seq2 & dv2, 6)
seq3 = Left(seq3 & dv3, 5) & "." & Right(seq3 & dv3, 6)
Linha_Digitavel = seq1 & " " & seq2 & " " & seq3 & " " & DV_CodBarras & " " & valor
End Function
Falta somente a função para calcularmos o nosso número - um número de identificação .Ele pode ser
composto pelo número do convênio - um número atribuído ao convênio que o identifica. Abaixo temos a
função que a partir do número do convênio calculo o nosso número com dv:
dv = Calculo_DV11(sequencia)
Calculo_NossoNumero = Format(sequencia & dv, "00000000000000000")
End Function
Bem , agora vamos juntar tudo e emitir o boleto com o código de barras e a linha digitável.
Não vou me ater as rotinas de manutenção/validação dos dados , meu objetivo e apenas mostrar como
gerar o código de barras a e a linha digitável e imprimir o boleto.(Fica a seu cargo aperfeiçoar e adaptar o
projeto as suas necessidades)
Após informar os dados do sacado você vai clicar no botão para gerar o código de barras e da linha
digitável
Os números serão exibidos nas respectivas caixas de texto.(Fiz isto somente para você ver os números)
Vamos criar um relatório no Crystal Reports versão 4.6 ( se funcionar nessa versão funciona em qualquer
outra posterior ) para que quando clicarmos no botão de impressão o boleto seja gerado com o código
de barras e a linha digitável. ( Vamos usar as fontes do comentadas no artigo Usando código de barras -
Conceitos
Eu armazenei os valores do código de barras e da linha digitável no banco de dados para ficar mais
fácil para mim , você não precisa necessariamente fazer isto no seu projeto.
Vamos desenhar o layout do boleto no Crystal Reports ( Eu estou usando a versão que vem com o VB6 -
a 4.6 ) conforme especificado pelo Banco . Tenha o cuidado de inserir os campos nos lugares corretos . O
único cuidado que você deve ter é com o campo para gerar o código de barras. Faça o seguinte:
Como vamos usar o padrão 2 de 5 intercalado temos que usar uma função que esta disponível no Crystal
Reports após copiarmos os arquivos Cia_itft.TTf e u2lbcp.dll para as pastas windows\fonts e
windows\system.
1. No crystal Reports no local onde deseja que o código de barras seja exibido vá no menu Insert e
clique na opção Formula Field
4. A seguir na aba Fields clique no campo onde estamos armazenando o valor para o código de barras.
No nosso caso será {tblBoletos.codbarras}
5. Pronto você acabou de montar uma fórmula com o campo gerado para o código de barras. Veja
abaixo
6. Agora clique no botão Check e a seguir , se não houver erros , no botão Accept
8. Mude a fonte para esta formula clicando com o botão direito do mouse sobre e ela e selecionando
Change Font
Agora insira o componente Crystal Reports ao seu projeto , se não o fez ainda , e dê a ele o nome de cr1.
Agora inclua o seguinte código no evento click do botão de comando cmdimprimir.
Rode o projeto e clique no botão que imprime o boleto. Se você fez tudo certo deverá obter o boleto
como abaixo:
IMPORTANTE: Todas as rotinas foram feitas levando em conta a documentação para o Banco do Brasil. Para outros
bancos podem haver algumas modificações a fazer. Eu não testei o código gerado em uma máquina leitura de código de
barras . Cuidado ao utilizar o exemplo ele pode conter erros , afinal meus artigos são atualizados sempre na calada da noite
após um longo dia de trabalho... Para uso comercial eu sugiro que você adquira um componente de terceiro para gerar o
seu código de barras.
Nota: Eu não gerei o recibo do sacado para ganhar tempo. isto fica a seu critério.
Clique no link a seguir para copiar o código fonte(.txt) , o relatório(.rpt) e a base de dados(.mdb)
usada no artigo: Boleto.zip 10 Kb ( O projeto completo e os arquivos das fontes usadas estão no super
cd VB )
Nota : o BB tem um novo modelo de "campo livre" para seus boletos, quando o convênio tem 7
digitos, em
vez de 6. (JULHO/2004) . Veja mais detalhes no site do Banco do Brasil.