eduardokum / laravel-boleto

Pacote para gerar boletos e remessas
MIT License
606 stars 394 forks source link

Remessa Sicoob Cnab240 #337

Closed karlasantos closed 6 years ago

karlasantos commented 6 years ago

Bom dia, iniciei o processo de homologação no Sicoob e estava retornando erro na quantidade de registros do lote. O Sicoob informou que na quantidade de registros do lote é incluída a quantidade de registros que tem até chegar ao trailler do lote, que seria a quantidade de linhas até o trailer de lote. Para testar eu modifiquei a quantidade de registros do trailer do lote no método trailerLote(), da classe Bancoob, multiplicando a quantidade de boletos por 3 que é a quantidade de linhas que cada registro do boleto ocupa no lote e a remessa foi aceita. Não sei se essa informação muda do Bancoob pro Sicoob, se muda acredito que teria que adicionar um atributo para fazer a diferenciação na contagem.

guicouto commented 6 years ago

Bom dia Karla, Quais são os segmentos que você está utilizando? Essa classe do CNAB 240 do Sicoob, fui eu quem implementei e homologuei. Não tive esse tipo de problema, relacionado ao trailler do arquivo. Consegue enviar essa remessa para conferirmos?

eduardokum commented 6 years ago

Bom dia tem razão esta utilizando a conta com count($this->aRegistros) + 2 e isso pode dar valor errado pois o aRegistro é uma matriz, os registros ficam em aRegistros['detalhe'] esse valor acredito que deva dar sempre 7 por sera sempre 5 + 2 ...

na trailerLote teria que colocar

$this->add(18, 23, Util::formatCnab('9', count($this->aRegistros[self::DETALHE]), 6));

que seria o numero de arquivo de detalhes se um boleto tiver os segmentos P Q R ou so P Q ele ira somar correto

e no trailer

$this->add(24, 29, Util::formatCnab('9', count($this->aRegistros[self::DETALHE]) + 4, 6));

que seria o numero de registros de boleto + header + headerLote + trailerLote + trailer.

Isso resolveria o problema sera?

karlasantos commented 6 years ago

@guicouto estou usando P, Q e R, até amanhã consigo enviar a remessa aqui. Mas acredito que a solução do @eduardokum resolva, porque na linha 337 na classe Bancoob está $this->add(18, 23, Util::formatCnab('9', count($this->boletos) + 2, 6)); O que eu fiz temporariamente foi multiplicar por 3 que é o número da quantidade de segmentos usados. Vou testar a solução do Eduardo, mandar pra homologação e aviso aqui se deu certo depois.

eduardokum commented 6 years ago

Mandei em develop, depois veja se der algum problema, ai voce abre essa issui denovo.

fillipenorton commented 5 years ago

Olá, @karlasantos

Você conseguiu resolver este problema com essas conclusões daqui?

Grato

karlasantos commented 5 years ago

Olá @fillipenorton. Sim, a solução do Eduardo funcionou para mim.