private string ObtenerTareas(string sPSN, string sPT)
    {
        StringBuilder sb       = new StringBuilder();
        string        sDisplay = "";
        //string sFechaAux = "";
        bool bEstadoLectura = false;

        try
        {
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]).AddMonths(1).AddDays(-1));
            //SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]));
            SqlDataReader dr = Consumo.ObtenerTareasImpMasiva_T((hdnIdUsuario.Text != "0") ? int.Parse(hdnIdUsuario.Text) : (int)Session["UsuarioActual"], int.Parse(sPT), Fechas.AnnomesAFecha((int)Session["UMC_IAP"]), (hdnInicioImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnInicioImpu.Text), (hdnFinImpu.Text == "") ? null : (DateTime?)DateTime.Parse(hdnFinImpu.Text));

            while (dr.Read())
            {
                bEstadoLectura = false;

                #region Creación tabla HTML
                sb.Append("<tr id='" + dr["t332_idtarea"].ToString() + "' ");
                sb.Append("bd='' ");
                sb.Append("tipo=" + dr["tipo"].ToString() + " ");
                sb.Append("PSN=" + sPSN + " ");
                sb.Append("PT=" + sPT + " ");
                sb.Append("F=" + dr["t334_idfase"].ToString() + " ");
                sb.Append("A=" + dr["t335_idactividad"].ToString() + " ");
                sb.Append("T=" + dr["t332_idtarea"].ToString() + " ");
                sb.Append("estado=" + dr["t332_estado"].ToString() + " ");

                sb.Append("ImpFes=" + dr["t323_regfes"].ToString() + " ");
                sb.Append("NOJC=" + dr["t323_regjornocompleta"].ToString() + " ");
                sb.Append("Obligaest=" + dr["t331_obligaest"].ToString() + " ");
                //sb.Append("ete=" + dr["t336_ete"].ToString() + " ");

                //sFechaAux = dr["t336_ffe"].ToString();
                //if (sFechaAux != "") sFechaAux = DateTime.Parse(sFechaAux).ToShortDateString();
                //sb.Append("ffe='" + sFechaAux + "' ");

                //sb.Append("Comentario=\"" + Utilidades.escape(dr["t336_comentario"].ToString()) + "\" ");

                if ((int)dr["t332_idtarea"] > 0)
                {
                    if ((int)dr["t335_idactividad"] > 0)
                    {
                        sDisplay = "none";
                    }
                    else
                    {
                        sDisplay = "table-row";
                    }

                    sb.Append("style='display: " + sDisplay + "; height:22px; cursor:pointer;' ");
                    sb.Append("bd='' desplegado=0 nivel=" + dr["nivel"].ToString() + " >");//exp=4

                    sb.Append("<td");

                    switch ((int)dr["t332_estado"]) //Estado
                    {
                    case 0:                         //Paralizada
                    case 2:                         //Pendiente
                        bEstadoLectura = true;
                        //sb.Append(" style='cursor:default;'");
                        break;

                    case 1:    //Activo
                        //sb.Append(" class='MA' ondblclick=\"aceptarClick(this)\"");
                        break;

                    case 3:    //Finalizada
                    case 4:    //Cerrada
                        if ((int)dr["t332_impiap"] == 0)
                        {
                            bEstadoLectura = true;      //si impiap = 0, lectura
                            //sb.Append(" style='cursor:default;'");
                        }
                        break;
                    }
                    if (dr["t301_estado"].ToString() == "C")
                    {
                        bEstadoLectura = true;
                    }

                    if (!bEstadoLectura)
                    {
                        sb.Append(" class='MA' ondblclick=\"aceptarClick(this)\"");
                    }
                    else
                    {
                        sb.Append(" style='cursor:default;'");
                    }

                    sb.Append("><IMG class=N" + dr["nivel"].ToString() + " src='../../../../images/imgSeparador.gif' style='width:9px;cursor:pointer;margin-left:3px;'><IMG class='ICO' src='../../../../images/imgTareaOff.gif'>");

                    switch ((int)dr["nivel"])
                    {
                    case 3: sb.Append("<nobr class='NBR W460 "); break;

                    case 4: sb.Append("<nobr class='NBR W445 "); break;

                    case 5: sb.Append("<nobr class='NBR W430 "); break;
                    }

                    switch ((int)dr["t332_estado"]) //Estado
                    {
                    case 0:                         //Paralizada
                        sb.Append(" paralizada");
                        break;

                    case 1:                                 //Activo
                        if ((int)dr["t331_obligaest"] == 1) //OBLIGAEST
                        {
                            sb.Append(" tooltip ");
                        }
                        break;

                    case 2:    //Pendiente
                        sb.Append(" pendiente ");
                        break;

                    case 3:    //Finalizada
                        sb.Append(" finalizada ");
                        break;

                    case 4:    //Cerrada
                        sb.Append(" cerrada ");
                        break;
                    }

                    sb.Append("' onmouseover='TTip(event)'>" + int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + " - " + dr["denominacion"].ToString() + "</nobr></td>");
                }
                else if ((int)dr["t335_idactividad"] > 0)
                {
                    if ((int)dr["t334_idfase"] > 0)
                    {
                        sb.Append(" style='DISPLAY: none; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    }
                    else
                    {
                        sb.Append(" style='DISPLAY: table-row; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    }
                    sb.Append("<td><IMG class=N" + dr["nivel"].ToString() + " onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer; margin-left:3px;'><IMG class='ICO' src='../../../../images/imgActividadOff.gif'>");
                    switch ((int)dr["nivel"])
                    {
                    case 3: sb.Append("<nobr class='NBR W360' onmouseover='TTip(event)'>"); break;

                    case 4: sb.Append("<nobr class='NBR W345' onmouseover='TTip(event)'>"); break;
                    }
                    sb.Append(dr["denominacion"].ToString() + "</nobr></td>");
                }
                else if ((int)dr["t334_idfase"] > 0)
                {
                    sb.Append(" style='DISPLAY: table-row; height:22px;' bd='' desplegado=1 nivel=" + dr["nivel"].ToString() + " exp=3>");
                    sb.Append("<td><IMG class=N" + dr["nivel"].ToString() + " onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;margin-left:3px;'><IMG class='ICO' src='../../../../images/imgFaseOff.gif'><nobr class='NBR W190' onmouseover='TTip(event)'>" + dr["denominacion"].ToString() + "</nobr></td>");
                }

                sb.Append("</tr>" + (char)10);
                #endregion
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las tareas.", ex));
        }
    }