Пример #1
0
        private int BB_Registro5_Opcional(CNAB cnab, BoletoInfo boleto)
        {
            // Apenas mostrando de forma simples, que nem todos os boletos precisariam ter o registro opcional
            if (boleto.BoletoID % 2 == 0) // no caso somente os boletos de numero impar teriam o registro
            {
                return(0);                // informa que não foi inserido nenhum registro opcional, assim a numero de sequencia do registro permanece o mesmo
            }
            // Define as informações do registro opcional 5 para registro de valores de multa
            var regR = new Reg <CNAB400Remessa5BB>();

            // Os valores default nem precisa definir
            regR[CNAB400Remessa5BB.CodigoMulta] = 1;                                 // Coloque o que quiser(logico de acordo com a documentação)
            regR[CNAB400Remessa5BB.DataMulta]   = boleto.DataVencimento.AddDays(15); // 15 dias após o vencimento
            regR[CNAB400Remessa5BB.ValorMulta]  = boleto.ValorDocumento * 0.02;      // 2% do valor do documento
            regR[CNAB400Remessa5BB.Sequencial]  = cnab.SequencialRegistro;           // Já como esse evento é chamado por ultimo, ele está no valor correto, mas se precisar adicionar mais que 1 registro ai tem que adicionar +N, e retornar sempre o numero de registros incluidos

            cnab.Add(regR);

            return(1); // Nomero de registro opcionais incluidos
        }
Пример #2
0
        private int Caixa_SegmentoR_Opcional(CNAB cnab, BoletoInfo boleto)
        {
            // Apenas mostrando de forma simples, que nem todos os boletos precisariam ter o registro opcional
            if (boleto.BoletoID % 2 == 0) // no caso somente os boletos de numero impar teriam o registro
            {
                return(0);                // informa que não foi inserido nenhum registro opcional, assim a numero de sequencia do registro permanece o mesmo
            }
            // Define as informações do segmento opcional R (da mesma forma pode ser criado qualquer tipo de registro opcional)
            var regR = new Reg <CNAB240SegmentoRCaixa>();

            regR[CNAB240SegmentoRCaixa.Lote]       = cnab.SequencialLote; // o número da sequencia só é alterado quando sair deste evento
            regR[CNAB240SegmentoRCaixa.Nregistro]  = cnab.SequencialRegistro;
            regR[CNAB240SegmentoRCaixa.email]      = "*****@*****.**";
            regR[CNAB240SegmentoRCaixa.Informacao] = "info...";
            cnab.Add(regR);

            // regX[CNAB240SegmentoXCaixa.Lote] = cnab.SequencialLote + 1; // Se houver mais registros o numero sequencial deve ser incrementadp
            // cnab.Add(regX); // E neste caso o retorno teria que ser 2 (numero de itens adicionados)

            return(1); // Nomero de registro opcionais incluidos
        }