Ir para conteúdo

Arquivado

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

paulo_roll

[]Boleto Itaú (nosso número)

Recommended Posts

Boa noite.

já estudei tudo que tem direito sobre boleto bancário.

mas ouvi dizer que o nosso número tem um padrão.

gostaria de saber que padrão é esse do banco itaú para carteira

não registrada.

para gerar esse número, fica ameu critério ou a critério do banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite meu caro amigo... bom, se você ja estudou tudo sobre boleto, está de parabéns.Sobre o nosso número, como o nome já diz, é um numero que é nosso, ou seja, uma quantidade de campos destinado ao nosso controle, podemos colocar o que quizer-mos nessa quantiade de caracteres, portanto que seja numerico. Ex. Ele pode ser a tua chave primária da tabela de títulos, pode ser o codigo do usuário, entao quando o boleto é pago no banco, você vai receber o arquivo RETORNO.txt, esse numeo vai vir e daí você sabe quem pagou.Se você não fizer nenhum tipo de controle no arquivo de retorno, podes colocar o nosso numero como 0012345 (Observar a qtd de caracteres para o N.N que o banco libera.)Se o banco te liberou 8 caracteres para o N.N, é o caso do Banrisul, eu preencho com zeros a esquerda, pois a chave da minha tabela títulos está em 5. Ex: 00026324. Isto é regra.Agora basta achar os dígitos verificadores e concatenar no final do N.N, colocar na função que gera o código de barras e deu pra bola.Os digitos verificadores são calculados pelo Módulo 10 e Módulo 11, cada banco decide como vai ser a regra pra geração desses dígitos.Na sua pergunta, você incluiu uma frase dizendo o N.N tem um padrão, realmente tem, mas os digitos verificadores são defenidos pelo banco, e a quantidade de caracteres também.Esse numero é seu, para controle.Qualquer dúvida, posta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela dica.

mas aí ficou mais uma dúvida.

Conversei com o gerente e eles não fornecem a página asp

com esses cálculos de módulos para gerar o código de barras.

mas eu achei um boleto itaú no www.superasp.com.br (e na busca digitei boleto).

1 - como saber se a rotina que gera o código de barras é válido?

2 - onde recorrer para achar uma página asp de outros bancos com essa rotinas?

a única coisa que sei fazer é configurar e não criar um gera boleto desde o zero. creio que

seja assim com a maioria.

agradeço pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, no manual de boletos do banco que você pegou tem. Como comentei, cada banco tem uma certa regra. Pra que serve essa regra ? Pra ser diferente do outro banco. Só pra isso, mas nada.Dá uma olhada no algorítmo dos Módulos que você pegou nesse código do superasp. Dependendo da documentação que você pegou do banco, tem que fazer umas atualizações, pois de tempos em tempos alguns bancos mudam a rotina.Mas se você sabe programar é mamão com açúcar. Basta fazer um algorítmo que chegue ao resultado que eles querem.Se você tem dúvidas, coloca aí pra gente fazer o download do manual, e coloca só os 2 Módulos que possam ter no código que você pegou. Daí faço uma análise pra ti e vejo se tem que fazer alguma alteração.OBS: Não coloca o programa inteiro pra não encher de código, beleza ?Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem. Eu não sei dizer qual parte do código você está se referindo, mas o código a seguir é do funcoes.incseria possível você me enviar o boleto do itaú e de outros bancos para meu e-mail?paulo_roll@hotmail.comtenho que apresentar boletos válidos na empresa para coseguir o emprego amanhã ou depois de amanhã.agradeço desde já a atenção.

<%Function I25Encode(StringNumber)   Dim asPattern(), sSTART, sSTOP   Redim asPattern(10)   ' Padrões de Inicio e fim    sSTART = "NNNN"   sSTOP  = "WNN"   ' Padrões do código de barras    asPattern(0) = "NNWWN"   asPattern(1) = "WNNNW"   asPattern(2) = "NWNNW"   asPattern(3) = "WWNNN"   asPattern(4) = "NNWNW"   asPattern(5) = "WNWNN"   asPattern(6) = "NWWNN"   asPattern(7) = "NNNWW"   asPattern(8) = "WNNWN"   asPattern(9) = "NWNWN"   If (Len(StringNumber) Mod 2) <> 0 Then      ' O número de caracteres no       ' argumento devem ser diferentes       I25Encode = ""      Exit Function   End If         If Not IsNumeric(StringNumber) Then      ' Argumento deve ser numérico       I25Encode = ""      Exit Function   Else      If (InStr(StringNumber, ".") <> 0) Or _         (InStr(StringNumber, ",") <> 0) Then         ' O argumento é numero mais contem          ' caracteres invalidos para nós          I25Encode = ""         Exit Function      End If   End If   Dim sEncodedSTR, sUnit   Dim iCharRead,   sDigit1, sDigit2, i   sEncodedSTR = ""   For iCharRead = 1 To Len(StringNumber) Step 2       sDigit1 = asPattern( Asc( _                 Mid( StringNumber, iCharRead, 1 ) ) - 48 )       sDigit2 = asPattern( Asc( Mid( _                 StringNumber, iCharRead + 1, 1 ) ) - 48 )       sUnit = ""       For i = 1 To 5           sUnit = sUnit & Mid( sDigit1, i, 1 ) & _                   Mid( sDigit2, i, 1 )       Next       sEncodedSTR = sEncodedSTR & sUnit   Next   I25Encode = sSTART & sEncodedSTR & sSTOPEnd FunctionFunction Formata_Data(strData)dia = day(strdata)mes = month(strdata)ano = year(strdata)if dia < 9 then dia = "0" & diaif mes < 9 then mes = "0" & mesFormata_Data = dia & "/" & mes & "/" & anoend functionFunction Calculo_DV10(strNumero)fator = 2total = 0For i = Len(strNumero) To 1 Step -1	numero = Mid(strNumero, i, 1) * fator	If numero > 9 Then		numero = Cint(Left(numero, 1)) + Cint(Right(numero, 1))	End If	total = total + numero	if fator = 2 then		fator = 1	else		fator = 2	end ifNextresto = total Mod 10resto = 10 - restoif resto = 10 then	Calculo_DV10 = 0else	Calculo_DV10 = restoend ifEnd FunctionFunction calcula_DV_CodBarras(sequencia)fator = 2total = 0For i = 43 To 1 step -1	numero = Mid(sequencia, i, 1)	If fator > 9 Then		fator = 2	End If	numero = numero * fator	total = total + numero	fator = fator + 1Nextresto = total mod 11resultado = 11 - restoIf resultado = 10 Or resultado = 0 Then    calcula_DV_CodBarras = 1Else    calcula_DV_CodBarras = resultadoEnd IfEnd FunctionFunction Monta_CodBarras()database = CDate("7/10/1997")fator = DateDiff("d", database, dt_venc)valor = Int(valor_doc * 100)while len(valor) < 10    valor = "0" & valorwendcodigo_sequencia = banco & moeda & fator & valor & carteira _					& nossonumero & dv_nossonumero & agencia & conta & dv_conta & "000"dvcb = calcula_DV_CodBarras(codigo_sequencia)Monta_CodBarras = Left(codigo_sequencia, 4) & dvcb & Right(codigo_sequencia, 39)End FunctionFunction Linha_Digitavel(sequencia_codigo_barra) seq1 = left(sequencia_codigo_barra,4) & mid(sequencia_codigo_barra,20,5)seq2 = mid(sequencia_codigo_barra,25,10)seq3 = mid(sequencia_codigo_barra,35,10)seq4 = mid(sequencia_codigo_barra,6,14)dvcb = mid(sequencia_codigo_barra,5,1)dv1 = Calculo_DV10(seq1)dv2 = Calculo_DV10(seq2)dv3 = Calculo_DV10(seq3)seq1 = Left(seq1 & dv1, 5) & "." & Mid(seq1 & dv1, 6, 5)seq2 = Left(seq2 & dv2, 5) & "." & Mid(seq2 & dv2, 6, 6)seq3 = Left(seq3 & dv3, 5) & "." & Mid(seq3 & dv3, 6, 6)Linha_Digitavel = seq1 & " " & seq2 & " " & seq3 & " " & dvcb & " " & seq4End Function%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite...

 

Entao .... no codigo q você me enviou tem essa função

Function Calculo_DV10(strNumero)

Veja, ela calcula o DV (Dígito Verificador)

 

e tem essa outra que eu tenho quase certeza que é referente ao Módulo 11

Function calcula_DV_CodBarras(sequencia)

Eu tenho o código que gera o boleto do Itaú, e é exatamente igual. Também peguei no superasp.

Agora basta trocar os dados que forem necessários, abrir uma conta com o serviço de cobrança direta. Gerar um boleto de um real, ir lá e pagar o título e ver se entrou na conta.

 

Estou montando o boleto do Banrisul, vou publicar pro pessoal quando eu fizer o teste de pagar e ver se no arquivo retorno veio o crédito. Mas vai levar mais alguns dias ainda. Quem sabe na proxima segunda vou ver se funcina.

 

Se eu puder te ajudar em mais alguma coisa, posta aí.

 

Falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

OBRIGADO PELA AJUDA DATASET.

então esse boleto do itaú está exato?

somente basta manipular as variáveis da página boleto.asp?

agradeço, vou apresentar isso hoje no emprego e eles vão

ficar mais confiantes em mim graças a sua ajuda e a do fórum. tive que ler tudo sobre boletos,

mas quanto a página funcoes.inc, preciso depois entender o funcionamento de cada função, mas de

imediato era saber se esse boleto itaú roda. eu não tenho como testar outros boletos ainda,

porque não tenho conta em nenhum banco.

se você quiser mais boletos, tem no site www.amigoswm.com (e digite na busca virtuastore).

lá tem boleto itaú, bradesco e caixa econômica, nesse script da loja e as configurações ficam no config.asp

e a página boleto_do_banco.asp.

valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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