public Resultado GerarTxt(String Mesref, String Anoref, String caminho_arquivo)
        {
            Resultado res = new Resultado();

            List <AAT_TBL_EMPRESTIMO_DESCONTO_view> lst_emp_des = base.GetWhere(Util.String2Short(Anoref), Util.String2Short(Mesref), null, null, null, null, null, null).ToList();

            String strConteudo = "";

            if (lst_emp_des.Count > 0)
            {
                foreach (AAT_TBL_EMPRESTIMO_DESCONTO_view emp_dec in lst_emp_des)
                {
                    if (emp_dec.VLR_DIVIDA_POSS > 0 &&
                        (emp_dec.COD_STATUS == 2 || emp_dec.COD_STATUS == 4))
                    {
                        switch (emp_dec.NUM_IDNTF_RPTANT)
                        {
                        case 0:
                            strConteudo += "020";
                            strConteudo += "00000000000";
                            strConteudo += "A";
                            strConteudo += emp_dec.COD_EMPRS.ToString().PadLeft(3, '0');
                            strConteudo += emp_dec.NUM_RGTRO_EMPRG.ToString().PadLeft(10, '0');
                            strConteudo += emp_dec.NUM_DIGVR_EMPRG.ToString().PadLeft(1, '0');
                            strConteudo += "000000000000";
                            strConteudo += Anoref.PadLeft(4, '0') + Mesref.PadLeft(2, '0');
                            strConteudo += "20301";
                            strConteudo += FormataDecimals(emp_dec.VLR_CARGA ?? 0).PadLeft(13, '0');
                            strConteudo += "00000000000000000000000000000000000";
                            break;

                        default:
                            strConteudo += "020";
                            strConteudo += (emp_dec.NUM_CPF ?? 0).ToString().PadLeft(11, '0');
                            strConteudo += "P";
                            strConteudo += "000";
                            strConteudo += "0000000000";
                            strConteudo += "0";
                            strConteudo += "000000000000";     // filler
                            strConteudo += Anoref.PadLeft(4, '0') + Mesref.PadLeft(2, '0');
                            strConteudo += "20301";
                            strConteudo += FormataDecimals(emp_dec.VLR_CARGA ?? 0).PadLeft(13, '0');
                            strConteudo += "00000000000000000000000000000000000";     // filler
                            break;
                        }
                        strConteudo += Environment.NewLine;
                    }
                }
            }

            if (!String.IsNullOrEmpty(strConteudo))
            {
                Util.String2File(strConteudo, caminho_arquivo);
                foreach (AAT_TBL_EMPRESTIMO_DESCONTO_view emp_dec in lst_emp_des.Where(e => e.COD_STATUS == 2))
                {
                    emp_dec.COD_STATUS = 4; // TXT Gerado
                    base.SaveData(emp_dec);
                }
                res.Sucesso("Arquivo gerado com sucesso.");
            }
            else if (lst_emp_des.Count == 0)
            {
                res.Alert("Não foram encontrados registros para exportar.");
            }
            else
            {
                res.Erro("Erro ao gerar o arquivo.");
            }

            return(res);
        }