private string ObtenerTareas2(string sPE, string sPT, string sF, string sA)
    {
        StringBuilder sb = new StringBuilder();
        SqlDataReader dr;

        try
        {
            if (sPT == "")
            {
                dr = TAREAPSP.CatalogoPE(int.Parse(sPE), (int)Session["UsuarioActual"]);
            }
            else
            {
                if (sF == "")
                {
                    if (sA == "")
                    {
                        dr = TAREAPSP.CatalogoPT(int.Parse(sPT));
                    }
                    else
                    {
                        dr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
                else
                {
                    if (sA == "")
                    {
                        dr = TAREAPSP.CatalogoF(int.Parse(sF));
                    }
                    else
                    {
                        dr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
            }
            sb.Append("<div style='background-image:url(../../../../Images/imgFT16.gif); width: 460px;'>");
            sb.Append("<table id='tblOpciones2' class='texto MANO' style='width: 460px;' mantenimiento='0'>");
            sb.Append("<colgroup><col style='width:445px;' /><col style='width:15px'/></colgroup>");//style='padding-left:5px'
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t332_idtarea"].ToString() + "' ");
                if ((bool)dr["t332_notif_prof"])
                {
                    sb.Append(" notif='S' ");
                }
                else
                {
                    sb.Append(" notif='N' ");
                }
                sb.Append("onClick='mm(event)' style='height:16px' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] ");
                sb.Append("header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[");
                sb.Append("<label style='width:60px'>P.T.&nbsp;:</label>" + dr["t331_despt"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Fase&nbsp;:</label>" + dr["t334_desfase"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Actividad&nbsp;:</label>" + dr["t335_desactividad"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Tarea&nbsp;:</label>" + int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + " " + dr["t332_destarea"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W430'>" + dr["t332_destarea"].ToString() + "</nobr></td>");
                sb.Append("<td><input type='checkbox' style='width:15' class='checkTabla' checked='true'></td></tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("<tbody>");
            sb.Append("</table></div>");
            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las tareas ", ex));
        }
    }
    private string ObtenerTareas(string sPE, string sPT, string sF, string sA)
    {// Devuelve el código HTML del catalogo de tareas
        StringBuilder sb = new StringBuilder();
        string        sDes;
        SqlDataReader rdr;

        try
        {
            if (sPT == "")
            {
                rdr = TAREAPSP.CatalogoPE(int.Parse(sPE), (int)Session["UsuarioActual"]);
            }
            else
            {
                if (sF == "")
                {
                    if (sA == "")
                    {
                        rdr = TAREAPSP.CatalogoPT(int.Parse(sPT));
                    }
                    else
                    {
                        rdr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
                else
                {
                    if (sA == "")
                    {
                        rdr = TAREAPSP.CatalogoF(int.Parse(sF));
                    }
                    else
                    {
                        rdr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
            }
            sb.Append("<div style='background-image:url(../../../../../Images/imgFT16.gif); width:440px;'>");
            sb.Append("<table id='tblOpciones' class='texto MAM' style='width: 440px;' mantenimiento='0'>");
            sb.Append("<colgroup><col style='width:440px' /></colgroup>");
            sb.Append("<tbody id='tBodyTareas'>");
            while (rdr.Read())
            {
                sDes = int.Parse(rdr["t332_idtarea"].ToString()).ToString("#,###") + "-" + rdr["t332_destarea"].ToString();
                sb.Append("<tr id='" + rdr["t332_idtarea"].ToString() + "' est='" + rdr["t332_estado"].ToString());
                sb.Append("' onclick='mm(event)' onmousedown='DD(event);' ");
                sb.Append("ondblclick=\"convocar(this.id,children[0].innerText,this.getAttribute('est'));\" style='height:16px'>");
                sb.Append("<td style='padding-left:5px'><label class=texto id='lbl' style='width:435px;text-overflow:ellipsis;overflow:hidden'");

                if (sDes.Length > 80)
                {
                    sb.Append(" title='" + sDes + "'");
                }

                sb.Append("><NOBR>" + sDes + "</NOBR></label></td></tr>");
            }
            sb.Append("</tbody></table></div>");
            rdr.Close(); rdr.Dispose();
            //this.strTablaHTMLPersonas = sb.ToString();
            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las personas ", ex));
        }
    }
    private string ObtenerTareas(string sPE, string sPT, string sF, string sA)
    {// Devuelve el código HTML del catalogo de tareas
        StringBuilder sb = new StringBuilder();
        string        sId;
        SqlDataReader dr;

        try
        {
            if (sPT == "")
            {
                dr = TAREAPSP.CatalogoPE(int.Parse(sPE), (int)Session["UsuarioActual"]);
            }
            else
            {
                if (sF == "")
                {
                    if (sA == "")
                    {
                        dr = TAREAPSP.CatalogoPT(int.Parse(sPT));
                    }
                    else
                    {
                        dr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
                else
                {
                    if (sA == "")
                    {
                        dr = TAREAPSP.CatalogoF(int.Parse(sF));
                    }
                    else
                    {
                        dr = TAREAPSP.CatalogoA(int.Parse(sA));
                    }
                }
            }
            sb.Append("<div style='background-image:url(../../../../Images/imgFT16.gif); width:460px'>");
            sb.Append("<table id='tblOpciones' class='texto MANO' style='width: 460px; table-layout:fixed;' mantenimiento='0'>");
            sb.Append("<colgroup><col style='width: 460px;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sId = dr["t332_idtarea"].ToString();
                sb.Append("<tr id='" + sId + "' onClick='ms(this);getRecursos(this.id)' style='height:16px'");
                sb.Append(" style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] ");
                sb.Append("header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[");
                sb.Append("<label style='width:60px'>P.T.&nbsp;:</label>" + dr["t331_despt"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Fase&nbsp;:</label>" + dr["t334_desfase"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Actividad&nbsp;:</label>" + dr["t335_desactividad"].ToString().Replace((char)34, (char)39));
                sb.Append("<br><label style='width:60px'>Tarea&nbsp;:</label>" + int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###"));
                sb.Append(" " + dr["t332_destarea"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W445'>" + dr["t332_destarea"].ToString() + "</nobr></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table></div>");

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