openboleto / OpenCnabPHP

Biblioteca multibanco para geração e leitura de arquivos Cnab240 e Cna400 de remessa e retorno
MIT License
192 stars 117 forks source link

Função set_nosso_numero_dv do Sicoob (B756) - 0 Sendo interpretado como False #93

Open NeverMores2 opened 6 years ago

NeverMores2 commented 6 years ago

Boa tarde, Verificando o set_nosso_numero_dv do banco SICOOB ( B756 ) vi que quando o nosso número dv é 0 ele é interpretado como FALSO, sendo assim quando vamos gerar o arquivo com $arquivo->getText() me é gerado um erro falando que nosso_numero_dv é vazio ou nulo, fiz um teste fazendo um cast direto na linha 94 do Registro3P assim : $this->data['nosso_numero_dv'] = (string)$Dv; E então o problema foi resolvido.

Haveria possibilidade e verificar isto por favor ? Obrigado Grato por sua atenção.

unixelias commented 6 years ago

Boa tarde @NeverMores2 obrigado por relatar esse erro. Eu fiz uns testes aqui e pra mim não neu diferença alguma, mas eu uso Linux, então não sei se pode haver algum problema com codificação.

Observei também o manual do SICOOB e o campo correspondente é tem formato Alfanumérico, então acho que essa alteração não modificaria, mas será necessário realizar testes de homologação.

Note que nessa linha, onde o $arquivo->getText() é chamado há uma observação quanto à compatibilidade com o UTF-8. // observar a header do seu php para não gerar conflitos de codificação de caracteres; Você chegou a realizar esses testes sem o utf8_decode() ?