Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Por favor estou desenvolvendo um sistema administrativo financeiro estou com problema em fazer o boleto do Banco do Brasil e sou iniciante em programação. peguei um modelo do banco brasil e do unibanco. To querendo fazer conexão com o banco para puxar data, nome e volores e jogar no boleto.
O do unibanco conseguir funcionar só que o do BB não to conseguindo da erro na parte
function mod11(cadeia,limitesup,lflag)
linha 129 do código
Por favor me ajudem eu agradeço muito
<!-- #include file = "../include/generico_data.inc" -->
<%
session.lcid = 1046
'Valida Acesso
dim rsAcesso, sql
sql = "select * from acesso_processo_usuario where id_processo = 16 and id_usuario = " & session("id_usuario")
set rsAcesso = GetRS(sql)
if rsAcesso.eof then
response.write "Acesso Negado"
response.end
end if'================NOVAS VARIAVEIS==============
dim item, v_item, id_parceiro, dt_vencimento, rsLancamento, rsNumero, vr_tx_boleto, nr_boletos
vr_tx_boleto = 0.0 'AQUi ALTERA O valor DA TAXA DE BOLETO
For each item in Request.Form("chkBoleto")
v_item = split(item,"|")
id_parceiro = v_item(0)
dt_vencimento = v_item(1)
'pega ultimo numero
sql = "SELECT * FROM vw_ultimo_boleto"
set rsNumero = GetRS(sql)
'Atualiza lancamentos com numero calculado
sql = "update lancamento set "
sql = sql & " nr_documento = " & rsNumero("nr_documento") + 1
sql = sql & ", vr_tx_boleto = " & replace(vr_tx_boleto, ",", ".")
sql = sql & " where id_parceiro = " & id_parceiro
sql = sql & " and forma_pagamento = 'B'"
sql = sql & " and id_situacao_lancamento = 1"
sql = sql & " and dt_vencimento = #" & month(cdate(dt_vencimento)) & "/" & day(cdate(dt_vencimento)) & "/" & year(cdate(dt_vencimento)) & "#" sql = "select * from vw_lancamento_boleto where id_parceiro = " & id_parceiro
sql = sql & " and dt_vencimento = #" & month(cdate(dt_vencimento)) & "/" & day(cdate(dt_vencimento)) & "/" & year(cdate(dt_vencimento)) & "#"
set rsLancamento = GetRS(sql)
nr_boletos = nr_boletos & cstr(rsNumero("nr_documento") + 1) & ","
data_processamento =date() 'DIA DE HOJE OU EMISSÃO DO BOLETO
DATAEMISSAO = Day(data_processamento) & "/" & Month(data_processamento) & "/" & YEAR(data_processamento)
OBS = "" 'REQUEST("OBS")
if rslancamento("respcpf") <> "" then
nome_sacado = rslancamento("respnome") 'NOME DO CLIENTE
SACADOCNPJ = "CPF: " + rslancamento("respcpf")
else
nome_sacado = rslancamento("nome") 'NOME DO CLIENTE
SACADOCNPJ = "CPF: " + rslancamento("cpf")
end if
localdepagamento = "Qualquer banco até a data de vencimento"
'================FIM DAS NOVAS VARIAVEIS ==============
'idPedido = "10"
'idPedido = rsNumero("nr_documento")+1
'================INFORMAÇÕES BANCÁRIAS==============
cedente = "Four Learning Educacional Comércio de Material Didático Ltda."
cpf_cnpj = "10.396.990/0001-82"
agencia = "2168"
dac_agencia = "7"
conta = "33224"
dac_conta = "0"
convenio = "211434946"
carteira = "17"
'================INSTRUÇÕES DO BOLETO==============
'instrucoes1 = "Após o vencimento multa de 2% + 0,3% de mora ao dia."
'instrucoes2 = "Protestar 03 dias úteis após o vencimento."
'instrucoes3 = "-"
'instrucoes4 = "-"
'instrucoes5 = "-"
instrucoes=""
if rslancamento("vr_desconto") > 0 then
' instrucoes = instrucoes + "Valor do titulo com desconto de R$" + formatnumber(rslancamento("vr_desconto"),2) + " até o vencimento."
instrucoes = instrucoes + "Após o vencimento cobrar R$" + formatnumber((rslancamento("vr_parcela") * 1.02) + vr_tx_boleto ,2) & " mais mora de 0,03% ao dia de atraso."
' instrucoes = instrucoes + "Desconto de R$" + formatnumber(rslancamento("vr_desconto"),2) + " até o vencimento."
else
instrucoes = instrucoes + "Após o vencimento multa de 2% mais mora de 0,03% ao dia de atraso."
end if
'if rslancamento("vr_tx_boleto") > 0 then
instrucoes = instrucoes + "<BR>"
instrucoes = instrucoes + "Valor de R$" + formatnumber(vr_tx_boleto,2) + " referente a taxa do boleto já inclusa no titulo"'=====================================================
data_vencimento = rslancamento("dt_vencimento")
data_vencimento = FORMATDATETIME(data_vencimento,2)
'data_vencimento = formatDateTime(#18-01-2008#, vbShortDate)
DATAEMISSAO = Day(data_processamento) & "/" & Month(data_processamento) & "/" & YEAR(data_processamento)
data_documento = DATAEMISSAO 'DATA DO DOCUMENTO
data_documento = FORMATDATETIME(data_documento,2)
'data_documento = formatDateTime(#15-01-2008#, vbShortDate)
'valor = formatNumber(52.15,2)
'data_processamento = date()
valor = formatnumber(rslancamento("vr_parcela") + 0 + vr_tx_boleto - rslancamento("vr_desconto"),2)
'valorDIGITOVARIFICADOR = CALCNUMB(REPLACE("409"&" 9"&FATORVENCTO(data_vencimento)&" "&valorPROCODIGODEBARRA(valor)&" "&"5 "&codigocliente&" 00 "&valornossonumero&SUPERDIGITO(valornossonumero) ," ",""))
nome_sacado = rslancamento("respnome") 'NOME DO CLIENTE
SACADOCNPJ = "CPF: " + rslancamento("respcpf")
endereco_sacado = ""
'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">
<html>
<head>
<title>Boleto BB</title>
<meta http-equiv=Content-Type content="text/html;charset=windows-1252">
<meta content="MSHTML 6.00.2800.1400" name=GENERATOR>
<style>
.Titulo11{
font:11px Arial, Helvetica, sans-serif;
}
.campo{
font:10px Verdana, Arial, Helvetica, sans-serif;
}
.CampoTitulo{
font:bold 14px Arial, Helvetica, sans-serif;
}
.Normal{
font:12px Arial, Helvetica, sans-serif;
}
</style>
</head>
<body bgcolor="White" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgproperties="fixed">
<div id=impressao>
<input type=button name=btnImprime value="Imprimir Boletos">
<HR>
<BR>
</div>
<div id=confirmacao style="display:none;">
<CENTER>
Confirma a Impressão dos Boletos?<BR>
<input type=button name=btnSim value="Sim">
<input type=button name=btnNao value="Não">
</CENTER>
<HR>
<BR>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tr height="300" valign=top>
<td bgcolor="#FFFFFF" width="50">
<table border="0" cellspacing="0" cellpadding="0" >
<tr>
<td valign="top" style="border-bottom: 1 solid #000000"><strong><b><font size="3" face="TIMES"><img src="logoBoleto.gif" width="150" height="22" border="0" align="left"></font></b></strong></td>
</tr>
<tr>
<td style="border-bottom: 1 solid #000000" >
<font size="1" face="Verdana">Nosso Número<br>
<font size="1" face="Verdana"><b><%=nosso_numero%></b></font></font> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000">
<font size="1" face="Verdana"><br><%'=rslancamento("ds_lancamento")%>
Parcela<b><%'=rslancamento("nr_parcela")%></b><br>
Matrícula:<B><%'=rslancamento("id_matricula")%></B><br>
Aluno(a):<br><%=rslancamento("nome")%>
<br>
</font> </td>
</tr>
<tr>
<td style="border-bottom: 1 solid #000000" align="right">
<font size="1" face="Verdana">Vencimento</font><br><%=data_vencimento%></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000" align=right>
<font size="1" face="Verdana">Valor<br>
</font><%=formatnumber(rslancamento("vr_parcela"),2)%> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000" align=right>
<font size="1" face="Verdana">Desconto<br>
</font><%=formatnumber(rslancamento("vr_desconto"),2)%> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000" align=right>
<font size="1" face="Verdana">Taxa Boleto<br>
</font><%=formatnumber(vr_tx_boleto,2)%> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000" align=right>
<font size="1" face="Verdana">Valor Documento<br>
</font><%=valor%></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000" align=right>
<font size="1" face="Verdana">Valor Pago<br>
<B> </B> </font> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=left>
<font size="1" face="Verdana">RECIBO DO CLIENTE</font> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=left>
<font size="1" face="Arial">Autenticação no verso</font> </td>
</tr>
</table>
</td>
<td width="5" bgcolor="#FFFFFF" style="border-right: 1 solid #000000"> </td>
<td width="5"></td>
<td bgcolor="#FFFFFF" height="1" width="630" >
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="23%" valign="middle" style="border-bottom: 1 solid #000000">
<p align="center"><strong><b><font size="3" face="TIMES"><img src="logoBoleto.gif" width="150" height="22" border="0" align="left"></font></b></strong></td>
<td width="14%" style="border-left: 4 solid #000000; border-right: 4 solid #000000; border-bottom: 1 solid #000000" valign="middle">
<p align="center"><b><font size="3" face="Arial">001-9</font></b></td>
<td width="488" valign="middle" style="border-bottom: 1 solid #000000">
<p align="center"><%=linha_digitavel%></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width="488" bgcolor="#FFFFFF" valign="top" colspan="2" height="190">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000"><font size="1" face="Verdana">Local
de pagamento<br>
<B><font SIZE="1"><B><%= localdepagamento %></B></font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000"><font size="1" face="Verdana">Cedente<br>
<%=cedente%> <%=cpf_cnpj%></font></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000">
<table border="0" width="101%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%" valign="top">
<p align="center"><font size="1" face="Verdana">data
do doc.<br><%=data_documento%>
</font></p> </td>
<td width="35%" valign="top" style="border-left: 4 solid #000000; border-right: 4 solid #000000">
<p align="center"><font size="1" face="Verdana">No.
do Doc.<br>
<%=right("0000000000"& numero_documento, 10)%></font></p> </td>
<td width="17%" valign="top" style="border-right: 4 solid #000000" align="center"><font size="1" face="Verdana">Espécie
doc.<br><%=especie_doc%>
</font></td>
<td width="9%" valign="top" style="border-right: 4 solid #000000" align="center"><font size="1" face="Verdana">Aceite<br><%=aceite%>
</font></td>
<td width="20%" valign="top" align="center"><font size="1" face="Verdana">Data
do proc.<br>
<%=data_documento%></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" style="border-bottom: 1 solid #000000">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%" valign="top" align="center"><font size="1" face="Verdana">Uso
do banco<br>
</font></td>
<td width="11%" valign="top" style="border-left: 4 solid #000000; border-right: 4 solid #000000" align="center"><font size="1" face="Verdana">carteira<br><%=carteira%>
</font></td>
<td width="11%" valign="top" style="border-right: 4 solid #000000" align="center"><font size="1" face="Verdana">espécie<br><%=especie%>
</font></td>
<td width="58%" valign="top"><font size="1" face="Verdana">quantidade
Valor<br>
x
=</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" valign="top"><font size="1" face="Verdana">Instruções<br>
<br>
<%=instrucoes%></font></td>
</tr>
</table>
</td>
<td width="140" bgcolor="#FFFFFF" valign="top" style="border-left: 4 solid #000000" height="190">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font size="1" face="Verdana">Vencimento
</font><font face="Verdana" size="2"><br><%=data_vencimento%>
</font></td>
</tr>
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font face="Verdana" size="1">Agência/Código
cedente<br>
<B><%=agencia_codigo%> </B>
</font></td>
</tr>
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font size="1" face="Verdana">Nosso
Número<br>
<B><%=nosso_numero%></b>
</font></td>
</tr>
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font size="1" face="Verdana">Valor
do Documento<br>
<%=valor%></font></td>
</tr>
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font size="1" face="Verdana">(-)
Desconto/Abatimento<br>
<br>
</font></td>
</tr>
<tr>
<td width="100%" style="border-bottom: 1 solid #000000" align="right"><font size="1" face="Verdana">(+)
Mora/Multa<br>
<br>
</font></td>
</tr>
<tr>
<td width="100%" align="right"><font size="1" face="Verdana">(=) Valor Cobrado<br>
<br>
</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="640" bgcolor="#FFFFFF" valign="top" colspan="3" style="border-top: 1 solid #000000; border-bottom: 1 solid #000000" height="54"><font size="1" face="Verdana">Sacado<br>
<B><%=nome_sacado%><BR>
<%= SACADOCNPJ %>
</b>
<br>
<font face="Verdana" size="1">Sacador/avalista</font>
</font></td>
</tr>
<tr>
<td height="5"></td>
</tr>
<tr>
<td width="640" bgcolor="#FFFFFF" valign="top" colspan="3" height="64">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="68%" nowrap><%
function fbarcode(valor_barras)
Dim f, f1, f2, i
Dim texto
Const fino = 1
Const largo = 3
Const altura = 50
Dim BarCodes(99)
if isempty(BarCodes(0)) then
BarCodes(0) = "00110"
BarCodes(1) = "10001"
BarCodes(2) = "01001"
BarCodes(3) = "11000"
BarCodes(4) = "00101"
BarCodes(5) = "10100"
BarCodes(6) = "01100"
BarCodes(7) = "00011"
BarCodes(8) = "10010"
BarCodes(9) = "01010"
for f1 = 9 to 0 step -1
for f2 = 9 to 0 Step -1
f = f1 * 10 + f2
texto = ""
for i = 1 To 5
texto = texto & mid(BarCodes(f1), i, 1) + mid(BarCodes(f2), i, 1)
next
BarCodes(f) = texto
next
next
end if
%>
<img src=imagens_bb/p.gif width=<%=fino%> height=<%=altura%> border=0><img
src=imagens_bb/b.gif width=<%=fino%> height=<%=altura%> border=0><img
src=imagens_bb/p.gif width=<%=fino%> height=<%=altura%> border=0><img
src=imagens_bb/b.gif width=<%=fino%> height=<%=altura%> border=0><img
<%
texto = valor_barras
if len( texto ) mod 2 <> 0 then
texto = "0" & texto
end if
do while len(texto) > 0
i = cint( left( texto, 2) )
texto = right( texto, len( texto ) - 2)
f = BarCodes(i)
for i = 1 to 10 step 2
if mid(f, i, 1) = "0" then
f1 = fino
else
f1 = largo
end if
%>
src=imagens_bb/p.gif width=<%=f1%> height=<%=altura%> border=0><img
<%
if mid(f, i + 1, 1) = "0" Then
f2 = fino
else
f2 = largo
end if
%>
src=imagens_bb/b.gif width=<%=f2%> height=<%=altura%> border=0><img
<%
next
loop
%>
src=imagens_bb/p.gif width=<%=largo%> height=<%=altura%> border=0><img
src=imagens_bb/b.gif width=<%=fino%> height=<%=altura%> border=0><img
src=imagens_bb/p.gif width=<%=1%> height=<%=altura%> border=0>
<%
end function
%>
<%=fbarcode(codbar)%> </td>
<td valign="top" height="1">
<p align="center"><font size="1" face="Verdana">
Autenticação mecânica
<BR>
<BR>
<BR>
<b>Ficha de compensação</b>
</font></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<%'rsLancamento.movenext%>
<%'if not rsLancamento.eof then%>
<%'if rsLancamento.absoluteposition = 4 or rsLancamento.absoluteposition = 7 or rsLancamento.absoluteposition = 10 or rsLancamento.absoluteposition = 13 or rsLancamento.absoluteposition = 16 then%>
<!--br clear=all style='mso-special-character:line-break;page-break-before:always'-->
<%'else%>
<%'end if%>
<%'end if%>
<%next%>
<hr style="border-top: 1 dashed #000000;">
<script LANGUAGE=VBSCRIPT>sub btnimprime_onclick()
document.all("impressao").style.display = "none"
call self.print
document.all("confirmacao").style.display = ""sub btnNao_onclick()
document.all("impressao").style.display = ""
document.all("confirmacao").style.display = "none"
end sub
sub btnSim_onclick()
window.location.href = "../lancamento_detalhe_upd.asp?operacao=i&nr_boletos=<%=left(nr_boletos, len(nr_boletos)-1)%>"
end sub
</SCRIPT>
</body>
</html>Carregando comentários...