Ir para conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membros, 0 visitantes, 0 membros anônimos

Foto
- - - - -

[]Boleto Itaú (nosso número)

  • Por favor, faça o login para responder
6 respostas neste tópico

#1 paulo_roll

paulo_roll
  • Members
  • 291 posts

Postado 14 abril 2007 - 07:37

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?

  • 0

Publicidade

#2 dataset

dataset

    DataSet

  • Members
  • 593 posts

Postado 14 abril 2007 - 09:43

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í.
  • 0

#3 paulo_roll

paulo_roll
  • Members
  • 291 posts

Postado 16 abril 2007 - 01:09

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.

  • 0

#4 dataset

dataset

    DataSet

  • Members
  • 593 posts

Postado 16 abril 2007 - 02:15

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.
  • 0

#5 paulo_roll

paulo_roll
  • Members
  • 291 posts

Postado 16 abril 2007 - 04:33

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.[codebox]<%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%>[/codebox]
  • 0

#6 dataset

dataset

    DataSet

  • Members
  • 593 posts

Postado 16 abril 2007 - 07:33

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
  • 0

#7 paulo_roll

paulo_roll
  • Members
  • 291 posts

Postado 17 abril 2007 - 03:45

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...

  • 0




Publicidade

/ins>