public void CampoLivre_Banestes() { // Leia mais sobre esse teste: https://github.com/impactro/Boleto-Test/wiki/Criando-Layouts/_edit Boleto blt = new Boleto(); string cl = Banco_Banestes.CampoLivre(blt, Cedente.CodCedente, Cedente.Modalidade, "178"); Console.WriteLine("Linha Digitável Formatada: " + CobUtil.CampoLivreFormatado(cl, new int[] { 8, 11, 1, 3, 1, 1 })); // maximo 25 digitos Assert.IsTrue(cl == "0000017800006573315402141", "Linha invalida"); // Veja página 31 e 38 da documentação }
/// <summary> /// Gera o aquivo baseado nas coleção de todas informações passada até o momento /// </summary> /// <returns></returns> public override string Remessa() { string[] cCCDig = Cedente.Conta.Split('-'); regArqHeader[CNAB400Header1Banestes.CodCedente] = Cedente.CodCedente; regArqHeader[CNAB400Header1Banestes.Empresa] = Cedente.Cedente; regArqHeader[CNAB400Header1Banestes.Geracao] = DataHoje; // Limpa os objetos de saida/entrada Data.Clear(); Clear(); // o sequencial do header é sempre 1 (FIXO) Add(regArqHeader); // Proximo item SequencialRegistro = 2; BoletoInfo boleto; SacadoInfo sacado; Reg <CNAB400Remessa1Banestes> regBoleto; foreach (string n in this.Boletos.NossoNumeros) { boleto = Boletos[n]; sacado = boleto.Sacado; regBoleto = new Reg <CNAB400Remessa1Banestes>(); regBoleto[CNAB400Remessa1Banestes.TipoDOC] = Cedente.Tipo; regBoleto[CNAB400Remessa1Banestes.DOC] = Cedente.DocumentoNumeros; regBoleto[CNAB400Remessa1Banestes.CodCedente] = Cedente.CodCedente; if (boleto.BoletoID > 0) { regBoleto[CNAB400Remessa1Banestes.UsoEmpresa] = boleto.BoletoID; } string cDAC12 = Banco_Banestes.NossoNumero(ref boleto.NossoNumero); regBoleto[CNAB400Remessa1Banestes.NossoNumero] = boleto.NossoNumero + cDAC12; //if(boleto.ParcelaNumero>0 && boleto.ParcelaTotal>0) //{ // regBoleto[CNAB400Remessa1Banestes.Carne] = "A1"; // regBoleto[CNAB400Remessa1Banestes.CarneNumParcela] = boleto.ParcelaNumero; // regBoleto[CNAB400Remessa1Banestes.CarneQtdParcela] = boleto.ParcelaTotal; //} regBoleto[CNAB400Remessa1Banestes.Avalista_Tipo] = sacado.AvalistaTipo; regBoleto[CNAB400Remessa1Banestes.Avalista_Inscricao] = sacado.AvalistaNumeros; regBoleto[CNAB400Remessa1Banestes.Vencimento] = boleto.DataVencimento; regBoleto[CNAB400Remessa1Banestes.ValorDocumento] = boleto.ValorDocumento; regBoleto[CNAB400Remessa1Banestes.Especie] = (int)boleto.Especie; // 01-Duplicata Mercantil regBoleto[CNAB400Remessa1Banestes.Aceite] = boleto.Aceite; // N padrão regBoleto[CNAB400Remessa1Banestes.Emissao] = boleto.DataDocumento; regBoleto[CNAB400Remessa1Banestes.Instrucao1] = boleto.Instrucao1; regBoleto[CNAB400Remessa1Banestes.Instrucao2] = boleto.Instrucao2; // regBoleto[CNAB400Remessa1Banestes.Juros] = boleto.ValorMora; regBoleto[CNAB400Remessa1Banestes.DescontoData] = boleto.DataDesconto; regBoleto[CNAB400Remessa1Banestes.DescontoValor] = boleto.ValorDesconto; regBoleto[CNAB400Remessa1Banestes.Sacado_Tipo] = sacado.Tipo; regBoleto[CNAB400Remessa1Banestes.Sacado_Inscricao] = sacado.DocumentoNumeros; regBoleto[CNAB400Remessa1Banestes.Nome] = sacado.Sacado; regBoleto[CNAB400Remessa1Banestes.Endereco] = sacado.Endereco; regBoleto[CNAB400Remessa1Banestes.CEP] = sacado.CepNumeros; regBoleto[CNAB400Remessa1Banestes.Bairro] = sacado.Bairro; regBoleto[CNAB400Remessa1Banestes.Cidade] = sacado.Cidade; regBoleto[CNAB400Remessa1Banestes.Estado] = sacado.UF; regBoleto[CNAB400Remessa1Banestes.Sequencia] = SequencialRegistro++; // adiciona o boleto convertido em registro AddBoleto(regBoleto, boleto); AddOpcionais(boleto); } regArqTrailer[CNAB400ArquivoTrailer.Sequencia] = SequencialRegistro; Add(regArqTrailer); // Gera o Texto de saida da forma padrão return(this.Conteudo); }