Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Olá!

Estou gerando boletos do banco do Brasil através de um sistema próprio.

Ao gerar os boletos individualmente não obtive erros, porém ao aplicar o loop para gerar mais de um boleto, houve um erro com o código de barras e linha digitável:

linha 86

function mod11(cadeia,limitesup,lflag)

Já tentei ajustar de diversas formas, mas só consegui gerar os boletos sem código de barras / linha digitável.

Segue código

<% response.buffer=true %>
<!--#include file="../Connections/ConnectionString.asp" -->
<!-- #include file = "../include/generico_data.inc" -->
<%	'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
	%>
<%


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


'================INFORMAÇÕES BANCÁRIAS==============
cedente = "RAZÃO SOCIAL"
cpf_cnpj = "00.000.000/0000-00"
agencia = "0000"
dac_agencia = "0" 
conta = "00000" 
dac_conta = "0" 
convenio = "0000000"
carteira = "00"

'================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 = ""
'=====================================================
'===========LOOP=========='
dim id_lan, v_item
For each item in Request.Form("chkBoleto") 
v_item = split(item,",")
    id_lan = v_item(0)


Dim rsNumero, vr_tx_boleto
sql = "select * from vw_ultimo_boleto"
	set rsNumero = GetRS(sql)
	
idPedido = rsNumero("nr_documento") + 1

sql = "update lancamento set "
sql = sql & " nr_documento = '" & idPedido & "'"
sql = sql & " where id_lancamento = " & Request.Form("chkBoleto")
call executecmd(sql)

vr_tx_boleto = 0.0

dim rsTeste, id_parceiro
	sql = "select * from lancamento where id_lancamento = " & Request.Form("chkBoleto") 
	set rsTeste = GetRS(sql)
id_parceiro = rsTeste("id_parceiro")

data_vencimento  = rsTeste("dt_vencimento")

Dim rsLancamento
sql = "select * from vw_lancamento_boleto where id_lancamento = "  & Request.Form("chkBoleto") 
set rsLancamento = GetRS(sql)
	

valor = rsLancamento("vr_curso") + 0 + vr_tx_boleto - rsLancamento("vr_desconto") + rsTeste("vr_juros") + rsTeste("vr_multa")
data_documento  = date
data_processamento = date()
nome_sacado	= rsLancamento("nome") & " - CPF:" & rsLancamento("cpf")
endereco_sacado  = rsLancamento("endereco")

'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;
 }
 
 @media print {
  body * {
    visibility: hidden;
  }
  #printable, #printable * {
    visibility: visible;
  }
  #printable {
    position: fixed;
    left: 0;
    top: 0;
  }
}
</style>
</head> 
<body bgcolor="White" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgproperties="fixed">
<br>
<center><input type="button" name="imprimir" value="Imprimir" onclick="window.print();">
</center><br>
<div id="printble">
<table border="0" cellPadding="0" cellSpacing="0" width="660">
 <tr>
  <td class="Normal">
   <div align="center">
	<b>O pagamento deste boleto também poderá ser efetuado pelo Auto-Atendimento BB na Internet ou pelos Terminais de Auto-Atendimento.</b>
   </div>
   <p>
	 <b>Instruções:</b><br>
	<ol>
	 <li>Imprima em impressora jato de tinta (ink jet) ou laser em qualidade normal ou alta. Não use modo econômico.</li>
	 <li>Utilize folha A4 (210 x 297mm) ou Carta (216 x 279mm) e margens mínimas à esquerda e à direita do formulário.</li>
	 <li>Corte na linha indicada. Não rasure, risque, fure ou dobre a região onde se encontra o código de barras.</li>
	</ol>
   </p>
  </td>
 </tr> 
</table>
<br>
<div style="position:absolute;top:145px;left:5px;height:636px;width:670px;z-index:1;">
 <img src="imagens_bb/bbformularioBoleto.gif" width="647" height="636" border="0" alt="">
</div>
<div style="position:absolute;top:161px;left:7px;height:22px;width:96px;z-index:2;">
 <img src="imagens_bb/bblogoBoleto.gif" width="150" height="22" border="0" alt="">
</div>
<div style="position:absolute;top:444px;left:7px;height:22px;width:96px;z-index:2;">
 <img src="imagens_bb/bblogoBoleto.gif" width="150" height="22" border="0" alt="">
</div>
<div style="position:absolute;top:127px;left:7px;z-index:2;" class="Titulo11">
 Corte na linha pontilhada
</div> 
<div style="position:absolute;top:138px;left:5px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:145px;left:549px;z-index:2;" class="Campo">
 <b>Recibo do Sacado</b>
</div>
<div style="position:absolute;top:167px;left:163px;z-index:2;" class="CampoTitulo">
 001-9
</div>
<div style="position:absolute;top:166px;left:210px;z-index:2;width:438px;text-align:right;" class="CampoTitulo">
 <layer name="helpns" width=438px><%=linha_digitavel%></layer>
</div>
<div style="position:absolute;top:450px;left:163px;z-index:2;" class="CampoTitulo">
 001-9
</div>
<div style="position:absolute;top:449px;left:210px;z-index:2;width:438px;text-align:right;" class="CampoTitulo">
 <layer name="helpns" width=438px><%=linha_digitavel%></layer>
</div>
<div style="position:absolute;top:184px;left:15px;z-index:2;" class="Titulo11">
 Cedente
</div>
<div style="position:absolute;top:184px;left:317px;z-index:2;" class="Titulo11">
 Código do Cedente
</div>
<div style="position:absolute;top:184px;left:438px;z-index:2;" class="Titulo11">
 Espécie
</div> 
<div style="position:absolute;top:184px;left:480px;z-index:2;" class="Titulo11">
 Quantidade
</div>
<div style="position:absolute;top:184px;left:536px;z-index:2;" class="Titulo11">
 Nosso número
</div>
<div style="position:absolute;top:209px;left:15px;z-index:2;" class="Titulo11">
 Número do documento
</div>
<div style="position:absolute;top:209px;left:135px;z-index:2;" class="Titulo11">
 Contrato
</div>
<div style="position:absolute;top:209px;left:214px;z-index:2;" class="Titulo11">
 CPF/CEI/CNPJ
</div>
<div style="position:absolute;top:209px;left:353px;z-index:2;" class="Titulo11">
 Vencimento
</div>
<div style="position:absolute;top:209px;left:480px;z-index:2;" class="Titulo11">
 Valor documento
</div>
<div style="position:absolute;top:234px;left:15px;z-index:2;" class="Titulo11">
 (-)Desconto/Abatimento
</div>
<div style="position:absolute;top:234px;left:135px;z-index:2;" class="Titulo11">
 (-)Outras opções
</div> 
<div style="position:absolute;top:234px;left:251px;z-index:2;" class="Titulo11">
 (+)Mora/Multa
</div>
<div style="position:absolute;top:234px;left:367px;z-index:2;" class="Titulo11">
 (+)Outros acréscimos
</div>
<div style="position:absolute;top:234px;left:480px;z-index:2;" class="Titulo11">
 (=)Valor cobrado
</div>
<div style="position:absolute;top:259px;left:15px;z-index:2;" class="Titulo11">
 Sacado
</div>
<div style="position:absolute;top:284px;left:15px;z-index:2;" class="Titulo11">
 Instruções
</div>
<div style="position:absolute;top:284px;left:574px;z-index:2;" class="Titulo11">
 Autenticação Mecânica
</div>
<div style="position:absolute;top:415px;left:7px;z-index:2;" class="Titulo11">
 Corte na linha pontilhada
</div>
<div style="position:absolute;top:426px;left:5px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:467px;left:15px;z-index:2;" class="Titulo11">
 Local de pagamento
</div> 
<div style="position:absolute;top:467px;left:480px;z-index:2;" class="Titulo11">
 Vencimento
</div>
<div style="position:absolute;top:492px;left:15px;z-index:2;" class="Titulo11">
 Cedente
</div>
<div style="position:absolute;top:492px;left:480px;z-index:2;" class="Titulo11">
 Agência/Código do cedente
</div>
<div style="position:absolute;top:517px;left:15px;z-index:2;" class="Titulo11">
 Data do documento
</div>
<div style="position:absolute;top:517px;left:133px;z-index:2;" class="Titulo11">
 Nº do documento
</div>
<div style="position:absolute;top:517px;left:295px;z-index:2;" class="Titulo11">
 Espécie DOC
</div>
<div style="position:absolute;top:517px;left:364px;z-index:2;" class="Titulo11">
 Aceite
</div>
<div style="position:absolute;top:517px;left:405px;z-index:2;" class="Titulo11">
 Data process.
</div>
<div style="position:absolute;top:517px;left:480px;z-index:2;" class="Titulo11">
 Nosso Número
</div>
<div style="position:absolute;top:542px;left:15px;z-index:2;" class="Titulo11">
 Uso do Banco/Convênio
</div>
<div style="position:absolute;top:542px;left:133px;z-index:2;" class="Titulo11">
 Carteira
</div>
<div style="position:absolute;top:542px;left:223px;z-index:2;" class="Titulo11">
 Espécie
</div>
<div style="position:absolute;top:542px;left:283px;z-index:2;" class="Titulo11">
 Quantidade
</div>
<div style="position:absolute;top:542px;left:405px;z-index:2;" class="Titulo11">
 xValor
</div>
<div style="position:absolute;top:542px;left:480px;z-index:2;" class="Titulo11">
 (=) Valor do documento
</div>
<div style="position:absolute;top:567px;left:15px;z-index:2;" class="Titulo11">
 Instrucoes
</div>
<div style="position:absolute;top:567px;left:480px;z-index:2;" class="Titulo11">
 (-) Desconto / Abatimento
</div>
<div style="position:absolute;top:592px;left:480px;z-index:2;" class="Titulo11">
 (-) Outras deduções
</div> 
<div style="position:absolute;top:618px;left:480px;z-index:2;" class="Titulo11">
 (+) Mora / Multa
</div>
<div style="position:absolute;top:643px;left:480px;z-index:2;" class="Titulo11">
 (+) Outros acréscimos
</div>
<div style="position:absolute;top:668px;left:480px;z-index:2;" class="Titulo11">
 (=) Valor cobrado
</div>
<div style="position:absolute;top:573px;left:463px;z-index:2;" class="Titulo11">
 27
</div>
<div style="position:absolute;top:620px;left:463px;z-index:2;" class="Titulo11">
 35
</div>
<div style="position:absolute;top:596px;left:463px;z-index:2;" class="Titulo11">
 19
</div>
<div style="position:absolute;top:693px;left:15px;z-index:2;" class="Titulo11">
 Sacado
</div>
<div style="position:absolute;top:739px;left:480px;z-index:2;" class="Titulo11">
 Cód. baixa
</div> 
<div style="position:absolute;top:740px;left:15px;z-index:2;" class="Titulo11">
 Sacador/Avalista
</div>
<div style="position:absolute;top:751px;left:470px;z-index:2;" class="Titulo11">
 Autenticação mecânica - Ficha de Compensação
</div>
<div style="position:absolute;top:197px;left:15px;z-index:2;" class="Campo">
 <%=cedente%>
</div>
<div style="position:absolute;top:197px;left:317px;z-index:2;width:120px;" class="Campo">
 <%=agencia_codigo%>
</div>
<div style="position:absolute;top:197px;left:438px;z-index:2;width:28px;" class="Campo">
 R$
</div>
<div style="position:absolute;top:197px;left:480px;z-index:2;width:50px;" class="Campo">
 0001
</div>
<div style="position:absolute;top:197px;left:531px;z-index:2;width:118px;text-align:right;" class="Campo">
 <%=nosso_numero%>
</div>
<div style="position:absolute;top:222px;left:15px;z-index:2;width:110px;" class="Campo">
 <%=right("0000000000"& numero_documento, 10)%>
</div>
<div style="position:absolute;top:222px;left:135px;z-index:2;width:70px;" class="Campo">
 <%=contrato%>
</div> 
<div style="position:absolute;top:222px;left:214px;z-index:2;width:125px;" class="Campo">
 <%=cpf_cnpj%>
</div>
<div style="position:absolute;top:222px;left:353px;z-index:2;width:118px;" class="Campo">
 <%=data_vencimento%>
</div>
<div style="position:absolute;top:222px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=valor%>
</div>
<div style="position:absolute;top:247px;left:15px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:133px;z-index:2;width:107px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:248px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:361px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:272px;left:15px;z-index:2;" class="Campo">
 <%=nome_sacado%>
</div>
<div style="position:absolute;top:312px;left:15px;z-index:2;width:498px;text-align:justify;" class="Campo">
 <layer name="helpns" width=498px align="left"><%=instrucoes1%><br><%=instrucoes2%><br><%=instrucoes3%><br><%=instrucoes4%><br><%=instrucoes5%></layer>
</div> 
<div style="position:absolute;top:480px;left:15px;z-index:2;" class="Campo">
 Pagável em qualquer Banco até o vencimento
</div>
<div style="position:absolute;top:480px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=data_vencimento%>
</div>
<div style="position:absolute;top:505px;left:15px;z-index:2;" class="Campo">
 <%=cedente%>
</div>
<div style="position:absolute;top:505px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=agencia_codigo%>
</div>
<div style="position:absolute;top:530px;left:15px;z-index:2;width:110px;" class="Campo">
 <%=data_documento%>
</div>
<div style="position:absolute;top:530px;left:133px;z-index:2;width:160px;" class="Campo">
 <%=right("0000000000"& numero_documento, 10)%>
</div>
<div style="position:absolute;top:530px;left:295px;z-index:2;width:60px;" class="Campo">
 <%=especie_doc%>
</div>
<div style="position:absolute;top:530px;left:364px;z-index:2;width:35px;" class="Campo">
 <%=aceite%>
</div>
<div style="position:absolute;top:530px;left:405px;z-index:2;width:60px;" class="Campo">
 <%=data_processamento%>
</div> 
<div style="position:absolute;top:530px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=nosso_numero%> 
</div>
<div style="position:absolute;top:556px;left:15px;z-index:2;" class="Campo"> </div>
<div style="position:absolute;top:556px;left:133px;z-index:2;" class="Campo">
 <%=carteira%>
</div>
<div style="position:absolute;top:556px;left:223px;z-index:2;" class="Campo">
 <%=especie%>
</div>
<div style="position:absolute;top:556px;left:283px;z-index:2;" class="Campo"> </div>
<div style="position:absolute;top:556px;left:405px;z-index:2;width:65px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:556px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=valor%>
</div>
<div style="position:absolute;top:580px;left:15px;z-index:2;width:430px;text-align:justify;" class="Campo">
 <layer name="helpns" width=430px align="left"><%=instrucoes1%><br><%=instrucoes2%><br><%=instrucoes3%><br><%=instrucoes4%><br><%=instrucoes5%></layer>
</div>
<div style="position:absolute;top:580px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:605px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:631px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:656px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:581px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:704px;left:15px;z-index:2;" class="Campo">
 <%=nome_sacado%>
</div>
<div style="position:absolute;top:717px;left:15px;z-index:2;" class="Campo">
 <%=endereco_sacado%>
</div>
<div style="position:absolute;top:830px;left:7px;z-index:2;" class="Titulo11">
Corte na linha pontilhada
</div>
<div style="position:absolute;top:827px;left:7px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:760px;left:12px;height:70px;z-index:2;" class="Titulo11">
 <table border=0 cellPadding=0 cellSpacing=0 width="666">
  <tr>
   <td colspan="2">
	<%
	next
	
	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>
   </tr>
  </table>
  </div>
 </div>
</body>
</html>

Alguém pode me ajudar?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.Tudo bem?

Como conseguiu este código ASP de boleto, o Banco forneceu?

Seu boleto é com registro, ou sem registro?

Você já havia usado ele em Loop alguma vez?

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.Tudo bem?

Como conseguiu este código ASP de boleto, o Banco forneceu?

Seu boleto é com registro, ou sem registro?

Você já havia usado ele em Loop alguma vez?

Abraços!

Olá, encontrei o código aqui no fórum mesmo ( http://forum.imasters.com.br/topic/270392-boleto-bb-7-digitos/ )

A carteira é registrada

Não havia colocado o loop ainda neste código, ao colocar houve o erro que citei, saberia como resolver?

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

Pode ser algum problema de variável não resetada no loop.
Tente resetar algumas variáveis ou muda-las de nome no loop!

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui realizar a impressão, porém tive que inserir o "NEXT" antes da função do código de barras, logo, só gera um boleto mesmo que eu selecione vários.

Alguém pode ajudar com o loop de forma geral?

Obrigado!

<% response.buffer=true %>
<!--#include file="../Connections/ConnectionString.asp" -->
<!-- #include file = "../include/generico_data.inc" -->
<%	'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
	%>
<%


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


'================INFORMAÇÕES BANCÁRIAS==============
cedente = "RAZÃO SOCIAL"
cpf_cnpj = "-"
agencia = "-"
dac_agencia = "-" 
conta = "-" 
dac_conta = "-" 
convenio = "-"
carteira = "17"

'================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 = ""
'=====================================================
'===========LOOP=========='
dim id_lan, v_item
For each item in Request.Form("chkBoleto") 
v_item = split(item,",")
    id_lan = v_item(0)


Dim rsNumero, vr_tx_boleto
sql = "select * from vw_ultimo_boleto"
	set rsNumero = GetRS(sql)
	
idPedido = rsNumero("nr_documento") + 1

sql = "update lancamento set "
sql = sql & " nr_documento = '" & idPedido & "'"
sql = sql & " where id_lancamento = " & id_lan
call executecmd(sql)

vr_tx_boleto = 0.0

dim rsTeste, id_parceiro
	sql = "select * from lancamento where id_lancamento = " & id_lan
	set rsTeste = GetRS(sql)
id_parceiro = rsTeste("id_parceiro")

data_vencimento  = rsTeste("dt_vencimento")

Dim rsLancamento
sql = "select * from vw_lancamento_boleto where id_lancamento = "  & id_lan 
set rsLancamento = GetRS(sql)
	

valor = rsLancamento("vr_curso") + 0 + vr_tx_boleto - rsLancamento("vr_desconto") + rsTeste("vr_juros") + rsTeste("vr_multa")
data_documento  = date
data_processamento = date()
nome_sacado	= rsLancamento("nome") & " - CPF:" & rsLancamento("cpf")
endereco_sacado  = rsLancamento("endereco")

'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"
%>
<%next%>

<%

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">
<table border="0" cellPadding="0" cellSpacing="0" width="660">
 <tr>
  <td class="Normal">
   <div align="center">
	<b>O pagamento deste boleto também poderá ser efetuado pelo Auto-Atendimento BB na Internet ou pelos Terminais de Auto-Atendimento.</b>
   </div>
   <p>
	 <b>Instruções:</b><br>
	<ol>
	 <li>Imprima em impressora jato de tinta (ink jet) ou laser em qualidade normal ou alta. Não use modo econômico.</li>
	 <li>Utilize folha A4 (210 x 297mm) ou Carta (216 x 279mm) e margens mínimas à esquerda e à direita do formulário.</li>
	 <li>Corte na linha indicada. Não rasure, risque, fure ou dobre a região onde se encontra o código de barras.</li>
	</ol>
   </p>
  </td>
 </tr> 
</table>
<br>
<div style="position:absolute;top:145px;left:5px;height:636px;width:670px;z-index:1;">
 <img src="imagens_bb/bbformularioBoleto.gif" width="647" height="636" border="0" alt="">
</div>
<div style="position:absolute;top:161px;left:7px;height:22px;width:96px;z-index:2;">
 <img src="imagens_bb/bblogoBoleto.gif" width="150" height="22" border="0" alt="">
</div>
<div style="position:absolute;top:444px;left:7px;height:22px;width:96px;z-index:2;">
 <img src="imagens_bb/bblogoBoleto.gif" width="150" height="22" border="0" alt="">
</div>
<div style="position:absolute;top:127px;left:7px;z-index:2;" class="Titulo11">
 Corte na linha pontilhada
</div> 
<div style="position:absolute;top:138px;left:5px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:145px;left:549px;z-index:2;" class="Campo">
 <b>Recibo do Sacado</b>
</div>
<div style="position:absolute;top:167px;left:163px;z-index:2;" class="CampoTitulo">
 001-9
</div>
<div style="position:absolute;top:166px;left:210px;z-index:2;width:438px;text-align:right;" class="CampoTitulo">
 <layer name="helpns" width=438px><%=linha_digitavel%></layer>
</div>
<div style="position:absolute;top:450px;left:163px;z-index:2;" class="CampoTitulo">
 001-9
</div>
<div style="position:absolute;top:449px;left:210px;z-index:2;width:438px;text-align:right;" class="CampoTitulo">
 <layer name="helpns" width=438px><%=linha_digitavel%></layer>
</div>
<div style="position:absolute;top:184px;left:15px;z-index:2;" class="Titulo11">
 Cedente
</div>
<div style="position:absolute;top:184px;left:317px;z-index:2;" class="Titulo11">
 Código do Cedente
</div>
<div style="position:absolute;top:184px;left:438px;z-index:2;" class="Titulo11">
 Espécie
</div> 
<div style="position:absolute;top:184px;left:480px;z-index:2;" class="Titulo11">
 Quantidade
</div>
<div style="position:absolute;top:184px;left:536px;z-index:2;" class="Titulo11">
 Nosso número
</div>
<div style="position:absolute;top:209px;left:15px;z-index:2;" class="Titulo11">
 Número do documento
</div>
<div style="position:absolute;top:209px;left:135px;z-index:2;" class="Titulo11">
 Contrato
</div>
<div style="position:absolute;top:209px;left:214px;z-index:2;" class="Titulo11">
 CPF/CEI/CNPJ
</div>
<div style="position:absolute;top:209px;left:353px;z-index:2;" class="Titulo11">
 Vencimento
</div>
<div style="position:absolute;top:209px;left:480px;z-index:2;" class="Titulo11">
 Valor documento
</div>
<div style="position:absolute;top:234px;left:15px;z-index:2;" class="Titulo11">
 (-)Desconto/Abatimento
</div>
<div style="position:absolute;top:234px;left:135px;z-index:2;" class="Titulo11">
 (-)Outras opções
</div> 
<div style="position:absolute;top:234px;left:251px;z-index:2;" class="Titulo11">
 (+)Mora/Multa
</div>
<div style="position:absolute;top:234px;left:367px;z-index:2;" class="Titulo11">
 (+)Outros acréscimos
</div>
<div style="position:absolute;top:234px;left:480px;z-index:2;" class="Titulo11">
 (=)Valor cobrado
</div>
<div style="position:absolute;top:259px;left:15px;z-index:2;" class="Titulo11">
 Sacado
</div>
<div style="position:absolute;top:284px;left:15px;z-index:2;" class="Titulo11">
 Instruções
</div>
<div style="position:absolute;top:284px;left:574px;z-index:2;" class="Titulo11">
 Autenticação Mecânica
</div>
<div style="position:absolute;top:415px;left:7px;z-index:2;" class="Titulo11">
 Corte na linha pontilhada
</div>
<div style="position:absolute;top:426px;left:5px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:467px;left:15px;z-index:2;" class="Titulo11">
 Local de pagamento
</div> 
<div style="position:absolute;top:467px;left:480px;z-index:2;" class="Titulo11">
 Vencimento
</div>
<div style="position:absolute;top:492px;left:15px;z-index:2;" class="Titulo11">
 Cedente
</div>
<div style="position:absolute;top:492px;left:480px;z-index:2;" class="Titulo11">
 Agência/Código do cedente
</div>
<div style="position:absolute;top:517px;left:15px;z-index:2;" class="Titulo11">
 Data do documento
</div>
<div style="position:absolute;top:517px;left:133px;z-index:2;" class="Titulo11">
 Nº do documento
</div>
<div style="position:absolute;top:517px;left:295px;z-index:2;" class="Titulo11">
 Espécie DOC
</div>
<div style="position:absolute;top:517px;left:364px;z-index:2;" class="Titulo11">
 Aceite
</div>
<div style="position:absolute;top:517px;left:405px;z-index:2;" class="Titulo11">
 Data process.
</div>
<div style="position:absolute;top:517px;left:480px;z-index:2;" class="Titulo11">
 Nosso Número
</div>
<div style="position:absolute;top:542px;left:15px;z-index:2;" class="Titulo11">
 Uso do Banco/Convênio
</div>
<div style="position:absolute;top:542px;left:133px;z-index:2;" class="Titulo11">
 Carteira
</div>
<div style="position:absolute;top:542px;left:223px;z-index:2;" class="Titulo11">
 Espécie
</div>
<div style="position:absolute;top:542px;left:283px;z-index:2;" class="Titulo11">
 Quantidade
</div>
<div style="position:absolute;top:542px;left:405px;z-index:2;" class="Titulo11">
 xValor
</div>
<div style="position:absolute;top:542px;left:480px;z-index:2;" class="Titulo11">
 (=) Valor do documento
</div>
<div style="position:absolute;top:567px;left:15px;z-index:2;" class="Titulo11">
 Instrucoes
</div>
<div style="position:absolute;top:567px;left:480px;z-index:2;" class="Titulo11">
 (-) Desconto / Abatimento
</div>
<div style="position:absolute;top:592px;left:480px;z-index:2;" class="Titulo11">
 (-) Outras deduções
</div> 
<div style="position:absolute;top:618px;left:480px;z-index:2;" class="Titulo11">
 (+) Mora / Multa
</div>
<div style="position:absolute;top:643px;left:480px;z-index:2;" class="Titulo11">
 (+) Outros acréscimos
</div>
<div style="position:absolute;top:668px;left:480px;z-index:2;" class="Titulo11">
 (=) Valor cobrado
</div>
<div style="position:absolute;top:573px;left:463px;z-index:2;" class="Titulo11">
 27
</div>
<div style="position:absolute;top:620px;left:463px;z-index:2;" class="Titulo11">
 35
</div>
<div style="position:absolute;top:596px;left:463px;z-index:2;" class="Titulo11">
 19
</div>
<div style="position:absolute;top:693px;left:15px;z-index:2;" class="Titulo11">
 Sacado
</div>
<div style="position:absolute;top:739px;left:480px;z-index:2;" class="Titulo11">
 Cód. baixa
</div> 
<div style="position:absolute;top:740px;left:15px;z-index:2;" class="Titulo11">
 Sacador/Avalista
</div>
<div style="position:absolute;top:751px;left:470px;z-index:2;" class="Titulo11">
 Autenticação mecânica - Ficha de Compensação
</div>
<div style="position:absolute;top:197px;left:15px;z-index:2;" class="Campo">
 <%=cedente%>
</div>
<div style="position:absolute;top:197px;left:317px;z-index:2;width:120px;" class="Campo">
 <%=agencia_codigo%>
</div>
<div style="position:absolute;top:197px;left:438px;z-index:2;width:28px;" class="Campo">
 R$
</div>
<div style="position:absolute;top:197px;left:480px;z-index:2;width:50px;" class="Campo">
 0001
</div>
<div style="position:absolute;top:197px;left:531px;z-index:2;width:118px;text-align:right;" class="Campo">
 <%=nosso_numero%>
</div>
<div style="position:absolute;top:222px;left:15px;z-index:2;width:110px;" class="Campo">
 <%=right("0000000000"& numero_documento, 10)%>
</div>
<div style="position:absolute;top:222px;left:135px;z-index:2;width:70px;" class="Campo">
 <%=contrato%>
</div> 
<div style="position:absolute;top:222px;left:214px;z-index:2;width:125px;" class="Campo">
 <%=cpf_cnpj%>
</div>
<div style="position:absolute;top:222px;left:353px;z-index:2;width:118px;" class="Campo">
 <%=data_vencimento%>
</div>
<div style="position:absolute;top:222px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=valor%>
</div>
<div style="position:absolute;top:247px;left:15px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:133px;z-index:2;width:107px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:248px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:361px;z-index:2;width:108px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:247px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:272px;left:15px;z-index:2;" class="Campo">
 <%=nome_sacado%>
</div>
<div style="position:absolute;top:312px;left:15px;z-index:2;width:498px;text-align:justify;" class="Campo">
 <layer name="helpns" width=498px align="left"><%=instrucoes1%><br><%=instrucoes2%><br><%=instrucoes3%><br><%=instrucoes4%><br><%=instrucoes5%></layer>
</div> 
<div style="position:absolute;top:480px;left:15px;z-index:2;" class="Campo">
 Pagável em qualquer Banco até o vencimento
</div>
<div style="position:absolute;top:480px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=data_vencimento%>
</div>
<div style="position:absolute;top:505px;left:15px;z-index:2;" class="Campo">
 <%=cedente%>
</div>
<div style="position:absolute;top:505px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=agencia_codigo%>
</div>
<div style="position:absolute;top:530px;left:15px;z-index:2;width:110px;" class="Campo">
 <%=data_documento%>
</div>
<div style="position:absolute;top:530px;left:133px;z-index:2;width:160px;" class="Campo">
 <%=right("0000000000"& numero_documento, 10)%>
</div>
<div style="position:absolute;top:530px;left:295px;z-index:2;width:60px;" class="Campo">
 <%=especie_doc%>
</div>
<div style="position:absolute;top:530px;left:364px;z-index:2;width:35px;" class="Campo">
 <%=aceite%>
</div>
<div style="position:absolute;top:530px;left:405px;z-index:2;width:60px;" class="Campo">
 <%=data_processamento%>
</div> 
<div style="position:absolute;top:530px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=nosso_numero%> 
</div>
<div style="position:absolute;top:556px;left:15px;z-index:2;" class="Campo"> </div>
<div style="position:absolute;top:556px;left:133px;z-index:2;" class="Campo">
 <%=carteira%>
</div>
<div style="position:absolute;top:556px;left:223px;z-index:2;" class="Campo">
 <%=especie%>
</div>
<div style="position:absolute;top:556px;left:283px;z-index:2;" class="Campo"> </div>
<div style="position:absolute;top:556px;left:405px;z-index:2;width:65px;text-align:right;" class="Campo"></div>
<div style="position:absolute;top:556px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo">
 <%=valor%>
</div>
<div style="position:absolute;top:580px;left:15px;z-index:2;width:430px;text-align:justify;" class="Campo">
 <layer name="helpns" width=430px align="left"><%=instrucoes1%><br><%=instrucoes2%><br><%=instrucoes3%><br><%=instrucoes4%><br><%=instrucoes5%></layer>
</div>
<div style="position:absolute;top:580px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:605px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:631px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:656px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:581px;left:480px;z-index:2;width:169px;text-align:right;" class="Campo"> </div>
<div style="position:absolute;top:704px;left:15px;z-index:2;" class="Campo">
 <%=nome_sacado%>
</div>
<div style="position:absolute;top:717px;left:15px;z-index:2;" class="Campo">
 <%=endereco_sacado%>
</div>
<div style="position:absolute;top:830px;left:7px;z-index:2;" class="Titulo11">
Corte na linha pontilhada
</div>
<div style="position:absolute;top:827px;left:7px;z-index:2;" class="Titulo11">
 <img src="imagens_bb/bblinhaPontilhada.gif" width="650" height="5" border="0" alt="">
</div>
<div style="position:absolute;top:760px;left:12px;height:70px;z-index:2;" class="Titulo11">
 
 <table border=0 cellPadding=0 cellSpacing=0 width="666">
  <tr>
   <td colspan="2">
	<%

	
	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>
   </tr>
  </table>
 </div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por vicente386
      Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ?
      estou tentando fazer assim:
      <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
    • Por chinesedg
      Estou desenvolvendo um código para imobiliária mas não estou conseguindo fazer o pulo entre divs. Usando este código abaixo descaracteriza o layout da página pois o loop pega somente 1 <div class="events-grids"></div> e tem que ser dois sendo que no primeiro pega ids 1 2 3 e o segundo ids 456 e assim por diante. Na imagem penso vocês entenderem o que estou pedindo. Fui claro?
      Código:
      <div class="events">
              <div class="container">
              <?php
                  $conexao = bla bla bla
                      $banco = bla bla bla;
                  if (!$conexao) {
                      die("Connection failed: " . mysqli_connect_error());
                  }
                  $query = "SELECT * FROM imoveis";
                      $result = mysqli_query($conexao, $query);
                      if($result){
                          while($row = mysqli_fetch_array($result)){
                              $ref = $row["ref"];
                              .
                              .
      ?>
                  <div class="events-grids">
                      <div class="col-md-4 events-grid">
                          <div class="events-grid1 hvr-sweep-to-top">
                              <a href="imovel.php"><img src="images/6.jpg" alt=" " class="img-responsive" /></a>
                              <h4><a href="imovel.php"><?php echo "$bairro"; ?></a></h4>
                              <ul>
                                  <li><a href="imovel.php"><span class="glyphicon glyphicon-map-marker" aria-hidden="true"></span><?php echo "$cidade"; ?></a></li>
                              </ul>
                              <p>Quartos: <?php echo "$quartos"; ?> | Suites: <?php echo "$suites"; ?> | Banheiros: <?php echo "$banheiros"; ?> | Vagas: <?php echo "$vagas"; ?> | Condomínio: <?php echo "$condominio"; ?></p>
                              <h4><a href="imovel.php"><?php echo "$preco"; ?></a></h4>
                          </div>
                      </div>
                      
                  <?php
                      }
              }
              ?>
                  </div>            
              </div>
          </div>

    • Por Wilherme
      Boa tarde galera, preciso de uma ajuda,
       
      Tenho um gráfico no meu Power Bi porem apresenta o erro abaixo:
       

       
      já habilitei as funções porém ainda com erro.
       
       
      Obrigado.
    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.