Erro Remessa CEF

May 7, 2013 at 10:41 PM
Edited May 7, 2013 at 10:47 PM
Pessoal,

ao tentar gerar um aquivo de remessa para caixa, me retorna o erro :
Erro ao gerar SEGMENTO Q do arquivo de remessa
Erro durante a geração dos registros de DETALHE do arquivo de REMESSA.

veja o código :

BoletoNet.ArquivoRemessa remessa = new ArquivoRemessa(TipoArquivo.CNAB240);
Banco banco = new Banco(Convert.ToInt32(rConta["numeroBanco"].ToString()));

Cedente cedente = new Cedente(rConta["cpfCnpj"].ToString()
                                              , rConta["nome"].ToString()
                                              , rConta["agencia"].ToString()
                                              , rConta["digitoAgencia"].ToString()
                                              , rConta["numero"].ToString()
                                              , rConta["digitoConta"].ToString()
                                              , rConta["operacao"].ToString());
cedente.Codigo = Convert.ToInt32(rConta["codCadPessoa_Filial"].ToString());
cedente.Carteira = rConta["carteira"].ToString();

Endereco endCed = new Endereco();
endCed.Bairro = rConta["bairro"].ToString();
endCed.CEP = rConta["cep"].ToString();
endCed.Cidade = rConta["cidade"].ToString();
endCed.Complemento = rConta["complemento"].ToString();
endCed.Email = rConta["email"].ToString();
endCed.Logradouro = rConta["endereco"].ToString();
endCed.Numero = rConta["numero"].ToString();
endCed.UF = rConta["estado"].ToString();

cedente.Endereco = endCed;

Boletos boletos = new Boletos();

DataTable regCob = movBoleto.Buscar(Convert.ToInt32(this.Session["codigoEmpresa"].ToString())
                                                       , Convert.ToDateTime(tbDataRemessaInicio.Text)
                                                       , Convert.ToDateTime(tbDataRemessaFim.Text)
                                                       , Convert.ToInt32(tbContaCodigo.Text)
                                                      , ddlDataRemessa.SelectedValue);
if (regCob != null)
{
     foreach (DataRow dr in regCob.Rows)
     {
          Endereco end = new Endereco();
          end.Bairro = dr["bairro"].ToString();
          end.CEP = dr["cep"].ToString();
          end.Cidade = dr["cidade"].ToString();
          end.Complemento = dr["complemento"].ToString();
          end.Email = dr["email"].ToString();
          end.Logradouro = dr["endereco"].ToString();
          end.Numero = dr["numero"].ToString();
          end.UF = dr["estado"].ToString();

          Boleto bol = new Boleto(Convert.ToDateTime(dr["dataVencimento"].ToString())
                                             , Convert.ToDecimal(dr["valor"].ToString())
                                             , dr["Carteira"].ToString()
                                             , dr["nossoNumero"].ToString().Split('-')[0]
                                             , cedente);
          if (dr["mensagem1"].ToString() != "")
          {
              Instrucao instr = new Instrucao(banco.Codigo);
              instr.Descricao = dr["mensagem1"].ToString();
              bol.Instrucoes.Add(instr);
           }
           bol.Aceite = "S";
           bol.Especie = "DM";
           bol.PercJurosMora = 2;
           bol.Banco = banco;
           bol.NumeroDocumento = dr["numeroDocumento"].ToString();
           bol.Sacado = new Sacado(dr["cpfCnpj"].ToString(), dr["nomeAgente"].ToString(), end);
           bol.Valida();
           boletos.Add(bol);
     }
}
remessa.GerarArquivoRemessa("0", boletos[0].Banco, cedente, boletos, rdr, 1);
Response.Clear();
Response.Buffer = true;
Response.ContentType = "text/plain";
Response.AddHeader("content-disposition", "attachment;filename=Remessa.txt");
Response.Charset = "";
Response.BinaryWrite(rdr.ToArray());
Response.End();