Closed karlasantos closed 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?
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?
@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.
Mandei em develop, depois veja se der algum problema, ai voce abre essa issui denovo.
Olá, @karlasantos
Você conseguiu resolver este problema com essas conclusões daqui?
Grato
Olá @fillipenorton. Sim, a solução do Eduardo funcionou para mim.
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.