Closed wafgomes closed 7 years ago
No manual diz que tem que passar com o digito
Agora não sei porque nao esta batendo
certo, isso pode ser válido para o arquivo de remessa (ainda não testei!). mas não estava funcionando para o boleto.
não encontrei ninguém que já utiliza esse boleto para confirmar isso, o fato é que para o boleto acabei alterando o método
protected function gerarNossoNumero() { $numero_boleto = $this->getNumero(); $nossoNumero = Util::numberFormatGeral($numero_boleto, 13); //$nossoNumero .= Util::modulo11($numero_boleto); return $nossoNumero; }
preciso verificar com a remessa, ainda não gerei nenhum arquivo pois hoje é registrado direto pelo próprio site do banco, sem o envio de arquivo. depois adiciono mais informações.
Pelo que entendi lendo as documentações do boleto o numero é de 12 casas + DV e em todos os lugares do codigo de barras ele pede o NN de 13 posições, acredito que seja com o DV mesmo que ele vai no codigo de barras
no santander essa carteira o nosso número vai sempre com 13 posições mesmo. o que eu verifiquei foi que o primeiro boleto, emitido pelo site, o nosso numero era 0000000000001, não havia nenhum DV e a sequencia dos outros boletos foram apenas somando 1 .
0000000000002 0000000000003 0000000000004
sem utilizar o DV no nosso numero, o boleto emitido pelo sistema do banco e o boleto emitido pelo pacote ficam exatamente iguais
não é nenhuma ciência comprovada, apenas registrei aqui pois é assim que está funcionando corretamente aqui
Entendi. Na verdade o problema seria que na linha digitavel seria para usar somente o numero e nao o nosso numero... vou olhar no manual do boleto pra ver se acho alguma informação
Pelo que me parece na linha digitavel tem que ir com dv sim
Veja os 12 numero + dv (2)
A menos que meu manual estava antigo, tenha mudado algo, não sei, você não tem como pedir um manual de boleto + remessa para seu gerente, ai agente consegue conferir isso??
como falei antes não tenho certeza absoluta sobre isso, mas estou usando como passei anteriormente. a partir dessa semana vou utilizar em homologação.
consigo pedir o manual para o gerente sim, quando tiver envio aqui.
Wagner Andrade wafgomes@gmail.com
Em 26 de junho de 2017 09:45, Eduardo Gusmão notifications@github.com escreveu:
Pelo que me parece na linha digitavel tem que ir com dv sim
[image: image] https://user-images.githubusercontent.com/2566340/27539730-fb9770d8-5a53-11e7-8a77-2e546238380f.png Veja os 12 numero + dv (2)
A menos que meu manual estava antigo, tenha mudado algo, não sei, você não tem como pedir um manual de boleto + remessa para seu gerente, ai agente consegue conferir isso??
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/eduardokum/laravel-boleto/issues/160#issuecomment-311048599, or mute the thread https://github.com/notifications/unsubscribe-auth/AD-6lZXop_pinsi-WhDbPXWNjJOwPUjaks5sH6fvgaJpZM4N1o1Y .
Blza so pra ter certeza.
vlw
44308.pdf segue o manual do boleto. consta a mesma informação que tu passou
Pessoal, homologuei junto ao Santander e realmente a linha digitavel, carteira 101, correta é gerada apartir da função
$numero_boleto = $this->getNumero(); $nossoNumero = Util::numberFormatGeral($numero_boleto, 13); //$nossoNumero .= Util::modulo11($numero_boleto); return $nossoNumero;
Observação: O método acima é usado para exibir o boleto na tela, usando o xml online, não testei para remessas.
@eullercdr Estou com um problema na linha digitavel do Santander tbm. Poderia por gentileza encaminha a função completa? No momento utilizo essa abaixo mas tem algo de errado. function formula() { var linhaDigitavel = ''; var codigoBarras = chamarFormula.texto('codigoBarras'); var parteCdBarras = funcoes.texto.cortar(codigoBarras, 0, 4) + funcoes.texto.cortar(codigoBarras, 19, 24);
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 0, 4);
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 19, 20);
linhaDigitavel += '.';
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 20, 24);
linhaDigitavel += funcoes.moduloDez.calcularModuloDez(parteCdBarras);
linhaDigitavel += ' ';
parteCdBarras = funcoes.texto.cortar(codigoBarras, 24, 34);
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 24, 29);
linhaDigitavel += '.';
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 29, 34);
linhaDigitavel += funcoes.moduloDez.calcularModuloDez(parteCdBarras);
linhaDigitavel += ' ';
parteCdBarras = funcoes.texto.cortar(codigoBarras, 34, 44);
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 34, 39);
linhaDigitavel += '.';
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 39, 44);
linhaDigitavel += funcoes.moduloDez.calcularModuloDez(parteCdBarras);
linhaDigitavel += ' ';
linhaDigitavel += funcoes.texto.cortar(codigoBarras, 4, 5);
linhaDigitavel += ' ';
parteCdBarras = funcoes.texto.cortar(codigoBarras, 5, 19);
linhaDigitavel += parteCdBarras;
return linhaDigitavel;
}
Tive problema em utilizar o último commit https://github.com/eduardokum/laravel-boleto/commit/6afcb1fe6e9270dcc4d5fc90c9c6dedb206587a5
No boleto Santander o nosso número tem 13 dígitos e percebi que ao passar os dados para gerar o boleto um ultimo digito era sempre adicionado ao final, exemplo:
nosso número: 1 nosso numero após gerar boleto: 0000000000018
por fim, isso altera o código de barras e a linha digitável.
para resolver o problema fiz as seguintes alterações: arquivo src\Boleto\Banco\Santander.php - linha 128: alterado do segundo parâmetro do método numberFormatGeral de 12 para 13 linha 129: excluída
nos testes que fiz comparando boletos emitidos pelo site do banco e pelo pacote, ambos estavam iguais e a linha digitável e código de barras batendo.
busquei informações no grupo, pesquisei aqui em issues e no grupo do Telegram mas não consegui nenhuma informação.
não sei se a alteração é valida e serve para todas as carteiras do Santander, ao menos até onde testei está tudo ok, utilizando carteira 101, cnab240
não vou enviar nenhuma correção pois não sei como fazer, e também não sei o motivo de no nosso número o último digito utilizar o modulo 11
se alguém tiver mais informações ou quiser utilizar essa solução estou deixando registrado aqui.