impactro / Boleto-Test

Testes funcionais de compatibilidade para validação das rotinas de remessa e retorno
2 stars 2 forks source link

Remessa da caixa CNAB240 não gera juros e multas #1

Closed diogolovizon closed 8 years ago

diogolovizon commented 8 years ago

Versão da DLL 2.16..2.3

Exemplo do segmento P:

001300001P 01030980646838000000000001400000000000068811220688 2501201600000000008790000000 01N07122015126012016000000000000000000000000000000000000000000000000000000000000000000000688 3001039090000000000

posição 118 com código 1 posição 119 a 126 data dos juros posição 127 a 141 está zerado

Código usado:

 if (codigoBanco == "104")
 {
          boleto.SetRegEnumValue(CNAB240SegmentoPCaixa.ProtestoPrazo, 15);
          boleto.SetRegEnumValue(CNAB240SegmentoPCaixa.Juros, 1);
          boleto.SetRegEnumValue(CNAB240SegmentoPCaixa.JurosMora, 0.26); 

           if (boleto.Instrucao1 == 6)
                    boleto.DiasBaixa = 0;

            if (oConfig.BaixaDevolucao != 0)
            {
                     boleto.SetRegEnumValue(CNAB240SegmentoPCaixa.BaixaDevolucaoCodigo, 0);
boleto.SetRegEnumValue(CNAB240SegmentoPCaixa.BaixaDevolucaoPrazo, 15);
          }
 }

Manual do banco: http://prntscr.com/a6n8mu

impactro commented 8 years ago

Ola Diogo, obrigado por perceber exatamente o problema.

Realmente você tem razão, fiz alguns testes e percebi que o campo "JurosMora" estava configurado como sendo inteiro, e aproveitei e dei uma revisada em outros campos e achei mais alguns com o mesmo problema e já corrigi todos, eram campos poucos usados por isso ninguem nunca tinha percebido.

Atualizei o exemplo abaixo com os seus parâmetros e você pode notar que agora sim vai funciona https://github.com/impactro/Boleto-Test/blob/master/Caixa.cs#L51

Atualizei os fontes existentes no google drive, basta baixar e compilar, logo mais devo atualizar a versão demo aqui do github também.

diogolovizon commented 8 years ago

Obrigado pela correção e pode contar comigo para ajudar a melhorar esta ótima ferramenta!