BoletoNet / BoletoNetCore

Versão do BoletoNet para .NET Core
MIT License
185 stars 117 forks source link

Instruções na Caixa não estão sendo geradas #337

Open keniquestores opened 1 month ago

keniquestores commented 1 month ago

Me deparei com uma situação das instruções não estarem sendo inseridas no banco Caixa. Eu olhei os commits, vi que foi feito um ajuste no dia 04/03/2024:

SHA-1: 62db8d03f290703185cb638bc11523bcfd1d9502

Essa alteração foi feita no método FormataNossoNumero. Ali foi adicionado isso:

boleto.ImprimirMensagemInstrucao = true; boleto.ImprimirValoresAuxiliares = false;

Meu problema está no seguinte. Quando eu alimento o objeto Boleto, e dou um ValidarDados(), ele faz no final isso: Banco.ValidaBoleto(this); Banco.FormataNossoNumero(this); BoletoNetCore.Banco.FormataCodigoBarra(this); BoletoNetCore.Banco.FormataLinhaDigitavel(this); BoletoNetCore.Banco.FormataMensagemInstrucao(this);

Ai ele só vai gerar as instruções, se tiver o campo ImprimirValoresAuxiliares como true; Porém, no Banco.FormataNossoNumero(this), como visto acima, ele força o ImprimirValoresAuxiliares como false.

Eu até consigo resolver isso com um workaround, porém questiono se essa implementação está certa, e qual era o problema que tinha na Caixa passando esses campos diferente do que foi proposto ali?

Agradeço desde já a atenção.

carloscds commented 1 month ago

@keniquestores pode corrigir/mehorar e enviar um PR ?

keniquestores commented 1 month ago

Claro que posso @carloscds , só gostaria de antes entender qual seria o bug que foi mencionado para fazer algo sem risco e entender a problemática. Se isso realmente for necessário por algum motivo, dai eu avalio e altero o local, pois vejo que está no lugar errado, pois ali é um método para FormataNossoNumero.

carloscds commented 1 month ago

@keniquestores Olhando para o commit que você mencionou, a implementacao correta e ter a instrucao independente do ValorAuxiliar, logicamente respeitando o layout de cada banco. Tem que o9lhar mais profundamente o uso deste ImprimirValoresAuxiliares , pois ele nao deveria nem estar no FormataNossoNumnero.