BoletoNet / boletonet

Boleto.Net is a library developed for use in Brazil, given it has been programmed with Brazilian retail legislation and business rules for bank registered billing integration.
Apache License 2.0
478 stars 382 forks source link

Instrução de devolução da Caixa no arquivo de remessa - CNAB400 #523

Open robsonsilvar opened 7 years ago

robsonsilvar commented 7 years ago

Estou tentando setar uma instrução de devolução, com 29 dias, mas parece não ser possível pelo codigo da classe Banco_Caixa.cs, no seguinte bloco:

foreach (IInstrucao instrucao in boleto.Instrucoes)
                {
                    switch ((EnumInstrucoes_Caixa)instrucao.Codigo)
                    {
                        case EnumInstrucoes_Caixa.Protestar:
                            vInstrucao1 = "01";
                            prazoProtesto_Devolucao = instrucao.QuantidadeDias;
                            break;

                        default:
                            break;
                    }
                }

No meu código estou configurando dessa forma:

 //Protesto/devoluçao 
                var instrucao = new Instrucao_Caixa();
                instrucao.Codigo = (int)EnumInstrucoes_Caixa.DevolverAposNDias;
                instrucao.QuantidadeDias = 29;                        

                List<IInstrucao> instrucoes = new List<IInstrucao>();
                instrucoes.Add(instrucao);     

                DateTime dtVencimento = (DateTime)boleto.DataVencimento;
                boletos.Add(
                    new Boleto(new DateTime(dtVencimento.Year, dtVencimento.Month, dtVencimento.Day),
                                boleto.ValorTotal,
                                carteira,
                                numeroBoleto,
                                cedente,
                                especieDocumento)
                    {
                        NumeroDocumento = boleto.Recebimento.Id.ToString(),
                        Sacado = sacado,
                        Banco = banco,
                        ContaBancaria = contaBancaria,
                        DigitoNossoNumero = numeroBoleto,
                        Especie = "56",
                        PercMulta = 2,
                        JurosMora = 1,
                        Remessa = new Remessa() { CodigoOcorrencia = "1" }                                        
                        ,Instrucoes = instrucoes

                    }
                );

Alguém pode me confirmar se realmente isso é um bug ou se tem alguma forma de fazer o que estou querendo.

Resumindo, eu preciso que a instrução seja codigo 2 (devolução) e 29 dias nas seguintes posições do arquivo de remessa

a) Posição 157-158 informar "02" – Devolução b) Posição 392-393 prazo de devolução informar "29" dias de prazo

robsonsilvar commented 7 years ago

Alguem ?

robsonsilvar commented 7 years ago

Ninguem da suporte a esse framework?