Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Alguém teria o código para emissão de boleto do Banco do Brasil?
Obrigado.
Caramba Xamburzum, vc é o cara, rssss
Vc tem a pasta com as imagens por acaso.
Obrigado pela atenção.
me mande um email que te respondo com as imagens
xanburzum@terra.com.br
Já enviei o email.
Mais uma vez obrigado pela ajuda.
O código abaixo foi homologado.
<%
option explicit
session.lcid = 1046
dim idPedido, valor, data_documento, data_vencimento,nome_sacado, endereco_sacado, endereco_sacado2,cedente, cpf_cnpj, agencia, dac_agencia,conta, dac_conta, carteira,layout_boleto,convenio, numero_documento,nosso_numero, instrucoes1,instrucoes2,instrucoes3,instrucoes4, instrucoes5, contrato, especie, especie_doc, aceite, a, fvencimento, valor_str, livre, dac_nosso_numero, codbar, mult, total, pos, nresto, ndig, dac, cmplivre, campo1, res, campo2,campo3,campo4, campo5, linha_digitavel, agencia_codigo, x98, quantidade, data_processamento, valor_unitario, x80, x171,x99,x3,x125,x126,x18,dvNosso_numero
dim sql, rs
idPedido = "10"
'================INFORMAÇÕES BANCÁRIAS==============
cedente = "InfoByte Ltda"
cpf_cnpj = "000.000.000/0000-00"
agencia = "1234"
dac_agencia = "3"
conta = "9999"
dac_conta = "9"
convenio = "1234567"
carteira = "18"
'================INSTRUÇÕES DO BOLETO==============
instrucoes1 = "Após o vencimento multa de 2% + 0,1% de mora ao dia."
instrucoes2 = "Protestar 03 dias úteis após o vencimento."
instrucoes3 = "-"
instrucoes4 = "-"
instrucoes5 = "-"
'=====================================================
valor = formatNumber(52.15,2)
data_vencimento = formatDateTime(#18-01-2008#, vbShortDate)
data_documento = formatDateTime(#15-01-2008#, vbShortDate)
data_processamento = date()
nome_sacado = "Xanburzum da Silva - CNPJ: 111.111.111/1111-110"
'Evite mudar estas variaveis abaixo
layout_boleto = "3"
numero_documento = idPedido
nosso_numero = idPedido
dvNosso_numero = mod11(convenio &right("0000000000"&idPedido,10),9,0)
contrato = ""
especie = "R$"
especie_doc = "DM"
aceite = "N"
function mod11(cadeia,limitesup,lflag)
mult=1 + (len(cadeia) mod (limitesup-1))
if mult=1 then
mult=limitesup
end if
total=0
for pos=1 to len(cadeia)
total=total+(mid(cadeia,pos,1) * mult)
mult=mult-1
if mult=1 then
mult=limitesup
end if
Next
nresto=(total mod 11)
if lflag = 1 then
mod11=nresto
else
if nresto=0 or nresto=1 or nresto=10 then
ndig=1
else
ndig=11 - nresto
end if
mod11=ndig
end if
end function
function mod10(cadeia)
mult=(len(cadeia) mod 2)
mult=mult+1
total=0
for pos=1 to len(cadeia)
res= mid(cadeia, pos, 1) * mult
if res>9 then
res=int(res/10) + (res mod 10)
end if
total=total+res
if mult=2 then
mult=1
else
mult=2
end if
next
total=((10-(total mod 10)) mod 10 )
mod10=total
end function
function linhadigitavel(codigobarras)
cmplivre=mid(codigobarras,20,25)
campo1=left(codigobarras,4)&mid(cmplivre,1,5)
campo1=campo1&mod10(campo1)
campo1=mid(campo1,1,5)&"."&mid(campo1,6,5)
campo2=mid(cmplivre,6,10)
campo2=campo2&mod10(campo2)
campo2=mid(campo2,1,5)&"."&mid(campo2,6,6)
campo3=mid(cmplivre,16,10)
campo3=campo3&mod10(campo3)
campo3=mid(campo3,1,5)&"."&mid(campo3,6,6)
campo4=mid(codigobarras,5,1)
campo5=int(mid(codigobarras,6,14))
if campo5=0 then
campo5="000"
end if
linhadigitavel=campo1&" "&campo2&" "&campo3&" "&campo4&" "&campo5
end function
function fvenc(entra)
fvenc = DateDiff("d", CDate("7/10/1997"), CDate(entra))
end function
function formatar(valor, comp, ench, tipo)
dim str
str = valor
if tipo = "v" then
str = Ccur(str)
str = formatnumber(str,2,-2,-2,-2)
tipo = "e" :str = cstr(str)
str = replace(str,",","")
str = replace(str,".","")
end if
for a=len(str) to (comp - 1)
if tipo = "e" then
str = ench & str
else
str = str & ench
end if
next
if tipo = "e" then
str = left(str,comp)
else
str = right(str,comp)
end if
formatar = str
end function
function d1d2(entra)
d1 = mod10(entra)
Do
d2 = mod11(entra & d1,7,1)
if d2 = 1 then
if d2 = 9 then
d1 = 0
elseif d1 < 9 then
d1 = d1 + 1
else
d1 = 0
end if
end if
Loop while d2 = 1
if d2 > 0 then
d2 = 11 - d2
end if
d1d2 = Cstr(Cstr(entra) & Cstr(d1) & Cstr(d2))
end function
function dv(entra)
temp = Cint(mod11(entra,9,1))
if temp < 10 then
dv = 11 - temp
else
dv = 1
end if
if dv = 11 then dv = 0
if dv = 10 then dv = "X"
dv = Cstr(dv)
end function
layout_boleto = Cstr(layout_boleto)
conta = Cstr(formatar(conta,8,"0","e"))
fvencimento = Cstr(fvenc(data_vencimento))
valor_str = Cstr(formatar(valor,10,"0","v"))
agencia = Cstr(formatar(agencia,4,"0","e"))
carteira = Cstr(formatar(carteira,2,"0","e"))
if layout_boleto = "3" then
convenio = formatar(convenio,7,"0","e")
nosso_numero = formatar(nosso_numero,10,"0","e")
livre = "000000" & convenio & nosso_numero & carteira
dac_nosso_numero = ""
nosso_numero = convenio & nosso_numero
else
Response.Write("ERRO ! <br> Selecione o layout do boleto inválido, use numero 3")
Response.End()
end if
codbar = Cstr("0019" & fvencimento & valor_str & livre)
dac = Cstr(mod11(codbar,9,0))
codbar = Cstr("0019" & dac & fvencimento & valor_str & livre)
linha_digitavel = linhadigitavel(codbar)
agencia_codigo = agencia &"-"& dac_agencia & "/" & conta &"-"& dac_conta
valor = formatnumber(Ccur(valor),2,-2,-2,-2)
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Corte na linha pontilhada
001-9
001-9
Cedente
Código do Cedente
Espécie
Quantidade
Nosso número
Número do documento
Contrato
CPF/CEI/CNPJ
Vencimento
Valor documento
(-)Desconto/Abatimento
(-)Outras opções
(+)Mora/Multa
(+)Outros acréscimos
(=)Valor cobrado
Sacado
Instruções
Autenticação Mecânica
Corte na linha pontilhada
Local de pagamento
Vencimento
Cedente
Agência/Código do cedente
Data do documento
Nº do documento
Espécie DOC
Aceite
Data process.
Nosso Número
Uso do Banco/Convênio
Carteira
Espécie
Quantidade
xValor
(=) Valor do documento
Instrucoes
(-) Desconto / Abatimento
(-) Outras deduções
(+) Mora / Multa
(+) Outros acréscimos
(=) Valor cobrado
27
35
19
Sacado
Cód. baixa
Sacador/Avalista
Autenticação mecânica - Ficha de Compensação
<%=cedente%>
<%=agencia_codigo%>
R$
0001
<%=nosso_numero%>
<%=right("0000000000"& numero_documento, 10)%>
<%=contrato%>
<%=cpf_cnpj%>
<%=data_vencimento%>
<%=valor%>
<%=nome_sacado%>
Pagável em qualquer Banco até o vencimento
<%=data_vencimento%>
<%=cedente%>
<%=agencia_codigo%>
<%=data_documento%>
<%=right("0000000000"& numero_documento, 10)%>
<%=especie_doc%>
<%=aceite%>
<%=data_processamento%>
<%=nosso_numero%>
<%=carteira%>
<%=especie%>
<%=valor%>
<%=nome_sacado%>
<%=endereco_sacado%>
Corte na linha pontilhada