jspdeveloper wrote:

> galera,
> sei q eh meio que off topic mas acho q alguem poderia me passar o segredo do
> codigo de barras em boleto bancario.
> 
> abaixo esta o meu servlet q retorna um codigo de barras onde
> codigo de barras = x + dvMod11(x)
> http://164.41.67.135/servlets/BarCodeServlet?x=510646565000000090
> 
> eu ja´ peguei a documentacao do banco do brasil e tambem a documentacao da
> febraban, mas nao estou entendendo bulhufas em como implementar aquele
> numero gigantesco que fica ao lado da logo do banco.
> ex: 00199.1388 90000.000001 00913.889218 2 12980000003200
> alguem pode me dizer como eu crio este numero?

Acho que o documento CBR 643 do Banco do Brasil explica tudo. Tá junto á 
explicação do Barcode..

001 // codigo do banco
9 // dvMod11 código do Banco
se me lembro bem 9138 é código dá agencia

90000.000001 são campo tão até campo tão do ´campo livre´ do código de 
barras

009138218 (..) 1298 são agencia + conta + dv conta (se me lembro bem)
ae vai..

o 2 sozinho é o DV do códugo de barras (acho que é o quinto charactere 
do c de b.

00000003200 é o valor

o ultimo digito de cada bloco xxx.xxx é o dv do bloco

é por ai.. mas tá na docs..

> 
> 
> de brinde mando minha classe que calcula digitos para modulo 10 e 11.
> se ela estiver errada me reportem
> 
> 
> package uni.duni.te;
> 
> public class DigitoVerificador {
> 
>   /**
>    * Constructor
>    */
>   public DigitoVerificador() {
>   }
> 
>    // comente o main. ele soh serve para testar a classe.
>   public static void main(String[] args) {
>     DigitoVerificador teste= new DigitoVerificador();
>  long volta = 0;
> 
>     volta=teste.CalculaModulo11("32198798798798798798798798377778759");
>     System.out.println("Mod11 de 32198798798798798798798798377778759");
>     System.out.println("o resultado e "+volta);
> 
> 
> volta=teste.CalculaModulo11("20097987987987987777779879879876575765765170000
> 01");
>     System.out.println("Mod11 de
> 2009798798798798777777987987987657576576517000001");
>     System.out.println("o resultado e "+volta);
> 
>  volta=teste.CalculaModulo11("20017000002");
>     System.out.println("Mod11 de 20017000002");
>     System.out.println("o resultado e "+volta);
> 
> 
> 
> volta=teste.CalculaModulo10("8220000215048200974123220154098290108605940");
>     System.out.println("Mod10 de
> 8220000215048200974123220154098290108605940");
>     System.out.println("o resultado e "+volta);
>   }
> 
> 
>   public long CalculaModulo11(String Entrada){
>       long Soma=0;
>       long multi=2;
>       long Saida=0;
>       int tamanho=Entrada.length()-1;
> 
>       long Resto;
> 
>       while(tamanho >= 0){
>         //System.out.println("numero"+Entrada.charAt(tamanho)+" de index
> "+tamanho);
>         Soma=Soma+(Long.parseLong(String.valueOf(Entrada.charAt(tamanho)))*
> multi);
>         //System.out.println("a soma e "+Soma);
>         multi=multi+1;
>         tamanho=tamanho-1;
>         if(multi==10)
>         multi=2;
>       }
>       Resto=Soma%11;
>       if( Resto==0 || Resto==1)
>       Saida=0;
>       else
>       Saida=11-Resto;
>       return Saida;
>   }
> 
> 
>   public long CalculaModulo10(String Entrada){
>       long Soma=0;
>       long multi=2;
>       long Saida=0;
>       int tamanho=Entrada.length()-1;
>       long inttemp;
>       long Resto;
> 
>       while(tamanho >= 0){
>         //System.out.println("numero"+Entrada.charAt(tamanho)+" de index
> "+tamanho);
> 
> inttemp=Long.parseLong(String.valueOf(Entrada.charAt(tamanho)))*multi;
> 
>         if(inttemp>=10)
>         inttemp=inttemp-9;
>         Soma=Soma+inttemp;
>         //System.out.println("a soma e "+Soma);
>         multi=multi-1;
>         tamanho=tamanho-1;
>         if(multi==0)
>         multi=2;
>       }
>       Resto=Soma%10;
>       Saida=10-Resto;
>       return Saida;
>   }
> 
> 
> }
> 
> 
> 
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 
> 


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a