Ir para conteúdo

POWERED BY:

Arquivado

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

André Severino

Alguém já fez boleto bancário ?

Recommended Posts

Bom dia pessoal, peguei um script pronto do boletophp.com.br , até ae tudo bem, refiz as alterações conforme o manual do campo

PORÉM...

 

Tem uma parte que ele fala que o módulo tem que ser de 2 a 9 e a função do script está de 9 a 2. O resto eu consegui alterar normalmente só este detalhe que eu não consegui. Será que alguém poderia me ajudar. O código da função está abaixo

 

function modulo_11_invertido($num)  // Calculo de Modulo 11 "Invertido" (com pesos de 9 a 2  e não de 2 a 9)
{ 
   $ftini = 2;
   $fator = $ftfim = 9;
   $soma = 0;
	
   for ($i = strlen($num); $i > 0; $i--) 
   {
      $soma += substr($num,$i-1,1) * $fator;
	  if(--$fator < $ftini) 
	     $fator = $ftfim;
    }
	
    $digito = $soma % 11;
	
	if($digito > 9) 
	   $digito = 0;
	
	return $digito;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo já fiz sim do bradesco. Não tive que alterar nada disto. Utilizei o Manual de Cobrança escrituraria deles.

E utilizei o código do projeto boletophp.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi Periscuelo, mas no manual deles, tem essa parte do cálculo do digito verificador onde fala se tem que ser de 2 a 9 ou de 9 a 2 ?

Porque no meu manual veio falando o seguinte... Tem que somar da direita para a esquerda(invertido) no módulo 11 onde soma-se de 9 a 2

Entendeu? Eu enviei mesmo assim para ver se passa na homologação mais acho meio improvável.

 

O boleto é do banco Santander com carteira 102

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então André, no manual do bradesco também fala que é invertido.

 

Porém o modulo11 do layout do bradesco do boleto php já é invertido.

Da uma olhada na função para o boleto do bradesco, derepente da pra

você copiar de la.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza vou fazer desta forma, realmente o do Santander já vem invertido, o que vem de diferente é isto.

 

function modulo_11_invertido($num)  // Calculo de Modulo 11 "Invertido" (com pesos de 9 a 2  e não de 2 a 9)
{ 
   $ftini = 2;
   $fator = $ftfim = 9;
   $soma = 0;
	
   for ($i = strlen($num); $i > 0; $i--) 
   {
      $soma += substr($num,$i-1,1) * $fator;
	  if(--$fator < $ftini) 
	     $fator = $ftfim;
    }
	
    $digito = $soma % 11;
	
	if($digito > 9) 
	   $digito = 0;
	
	return $digito;
}

Entendeu ? E no manual do Santander vem falando que o peso tem que ser de 2 a 9, por isso queria inverter isso na função :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom André pela explicação da função "modulo_11_invertido com pesos de 9 a 2 e não de 2 a 9"

presume-se que a inversão do módulo consiste em usar de 9 a 2 ao invés de 2 a 9.

 

Logo se a função invertida trabalha desta forma, a lógica é que a função normal "modulo_11"

trabalhe de 2 a 9.

 

Ou estou errado?

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então essa é a minha dúvida, por exemplo de 2 a 9 seria da esquerda p/ a direita certo? Não precisava ser invertido.

Mas no item que do manual está assim.

 

Utilizar o módulo 11 - peso de 2 a 9 - para o cálculo deste DV.

Multiplicar da direita para a esquerda, de 2 até 9, até o final do número, reiniciando em 2 se necessário.....

 

Entendeu ? Eu acho que é invertido por isto este comentário na função 9 a 2. Mas eu segui o exemplo do manual sabe? O fator de vencimento eu copiei do manual, nosso numero, etc... Todos os exemplos que ele fez bateu corretamente com o código, apenas esse digito verificador do códigos de barras do módulo 11 não deu certo.

 

Mas acredito que esteja certo. Teria como você consultar seu manual do bradesco ou disponibilizar p/ mim ler ? Assim eu verificaria como está o cálculo do modulo 11 do bradesco e baixaria o código do boleto do bradesco p/ comparar as funções?

Compartilhar este post


Link para o post
Compartilhar em outros sites

André você está confundindo as instruções do manual de como fazer o calculo do modulo 11 com oque a função do boletophp faz ou qual função usar.

O fato do manual explicar como você deve fazer o cálculo não significa que a função de modulo 11 do boletophp esteja errada.

 

Já que você não está entendendo o que faz a função modulo 11 do boletophp, aconselho você a fazer sua própria função do modulo 11 para entender como funciona e assim certificar-se de que esta correto.

 

O boletophp que você baixou é o mesmo que o meu e tem as funções de todos os boletos para todos os bancos.

Basta verificar as diferenças nos códigos de cada um.

 

Quanto ao manual do bradesco eu só tenho o mesmo impresso.

 

E não havia nada de errado nas funções do boletophp quando fui desenvolver o boleto.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Periscuelo, é que eu achei que eu estava usando um modo diferente do boleto.

Mas vou esperar a homologação para ver o que pode estar acontecendo.

 

No caso quando você enviou a massa de boletos para a verificação, ele foi homologado corretamente de primeira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim André, foi homologado de primeira.

 

Com o manual na mão e um sistema destes

o máximo que da pra errar são valores de layout

como exibir um valor desnecessário ou esquecer de informar

o banco preferencial para pagamento, coisas assim.

 

Cálculos e códigos de barra dificilmente se erra.

 

O que eu achei um pouco complicado foi entender os campos do manual

que muitas vezes não conhecemos. Mas um suporte do banco ou alguém do

departamento financeiro que conheça de boletos ajuda muito.

 

Abraços.

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.