private string ObtenerEmpresas(string sActiva)
    {
        try
        {
            bool?bActiva;
            if (sActiva == "0")
            {
                bActiva = null;
            }
            else
            {
                bActiva = true;
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("<table id='tblDatos' class='texto MA' style='WIDTH: 640px;'  mantenimiento='0'>");
            sb.Append("<colgroup><col style='width:530px'/><col style='width:110px;'/></colgroup>");
            sb.Append("<tbody>");
            //SqlDataReader dr = EMPRESA.Catalogo(null, "", "", null, null, null, "", "", null, 2, 0);
            SqlDataReader dr = EMPRESA.Catalogo(bActiva);

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["T313_IDEMPRESA"].ToString() + "' onclick=\"mm(event)\" ondblclick=\"Detalle(this)\" style='height:16px;' >");

                if (bool.Parse(dr["t313_estado"].ToString()))
                {
                    sb.Append("<td style='padding-left:5px;'>" + dr["T313_DENOMINACION"].ToString() + "</td>");
                    sb.Append("<td>" + dr["t302_codigoexterno"].ToString() + "</td>");
                }
                else
                {
                    sb.Append("<td style='padding-left:5px;color:gray'>" + dr["T313_DENOMINACION"].ToString() + "</td>");
                    sb.Append("<td style='color:gray'>" + dr["t302_codigoexterno"].ToString() + "</td>");
                }

                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las empresas", ex));
        }
    }
    protected string obtenerEmpresa(bool?bActivas)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            if (bActivas == false)
            {
                bActivas = null;
            }

            SqlDataReader dr = EMPRESA.Catalogo(bActivas);

            sb.Append("<div style='background-image:url(../../Images/imgFT18.gif);width: 396px;'>");
            sb.Append("<table id='tblDatos' class='texto MA' style='width: 396px;'>");
            sb.Append("<colgroup><col style='width:396px;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                if (bool.Parse(dr["t313_estado"].ToString()))
                {
                    sb.Append("<tr id='" + dr["T313_IDEMPRESA"].ToString() + "' onclick='ms(this)' ondblclick='aceptarClick(this.rowIndex)'>");
                    sb.Append("<td>" + dr["T313_DENOMINACION"].ToString() + "</td>");
                }
                else
                {
                    sb.Append("<tr id='" + dr["T313_IDEMPRESA"].ToString() + "' onclick='ms(this)' ondblclick='aceptarClick(this.rowIndex)'>");
                    sb.Append("<td style='color:gray'>" + dr["T313_DENOMINACION"].ToString() + "</td>");
                }

                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            sb.Append("</div>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener las empresas", ex));
        }
    }
    public void ObtenerDatosFiltros()
    {
        SqlDataReader dr = EMPRESA.Catalogo(true);

        cboEmpresa.AppendDataBoundItems = true;
        cboEmpresa.DataValueField       = "T313_IDEMPRESA";
        cboEmpresa.DataTextField        = "T313_DENOMINACION";
        cboEmpresa.DataSource           = dr;
        cboEmpresa.DataBind();
        dr.Close();
        dr.Dispose();

        SqlDataReader dr1 = OFICINA.Catalogo(null, "", 2, 0);

        cboOficina.AppendDataBoundItems = true;
        cboOficina.DataValueField       = "T010_IDOFICINA";
        cboOficina.DataTextField        = "T010_DESOFICINA";
        cboOficina.DataSource           = dr1;
        cboOficina.DataBind();
        dr1.Close();
        dr1.Dispose();
    }
    private string ObtenerTipoConcepto(string sTipoBusqueda, string sCadena)
    {
        string sResul   = "";
        string sTootTip = "";

        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            SqlDataReader             dr = null;

            switch (int.Parse(hdnIdTipo.Value))
            {
            case 1:             // Ambito
                break;

            case 2:             // Responsable de proyecto
                break;

            case 3:             // Naturaleza
                dr = NATURALEZA.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 4:             // Modelo de contratación
                dr = MODALIDADCONTRATO.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 5:             // Horizontal
                dr = HORIZONTAL.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 6:             // Sector
                dr = SECTOR.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 7:             // Segmento
                dr = SEGMENTO.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 8:             // Cliente
                dr = CLIENTE.SelectByNombre(sCadena, sTipoBusqueda, false, false, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 9:             // Contrato
                dr = CONTRATO.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 10:            // Cualificador de proyectos a nivel de NODO
                dr = CDP.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 11:            // Cualificador de proyectos a nivel de SUPERNODO1
                dr = CSN1P.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 12:            // Cualificador de proyectos a nivel de SUPERNODO2
                dr = CSN2P.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 13:            // Cualificador de proyectos a nivel de SUPERNODO3
                dr = CSN3P.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 14:            // Cualificador de proyectos a nivel de SUPERNODO4
                dr = CSN4P.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 17:            // Proveedores
                //dr = PROVEEDOR.Catalogo(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                dr = PROVEEDOR.SelectByNombre(null, sCadena, 2, 0, sTipoBusqueda, false);
                break;

            case 18:        // Centros de responsabilidad
                if (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion())
                {
                    dr = NODO.CatalogoAdministrador(sCadena, sTipoBusqueda);
                }
                else
                if (hdnCaso.Value == "1")
                {
                    dr = NODO.ObtenerNodosUsuarioEsRespDelegColab(null, (int)Session["UsuarioActual"], sCadena, sTipoBusqueda);
                }
                else
                {
                    dr = NODO.ObtenerNodosUsuarioSegunVisionProyectosECO(null, (int)Session["UsuarioActual"], false);
                }
                break;

            case 36:
                dr = NODO.CatalogoAdministrador(sCadena, sTipoBusqueda);
                break;

            case 22:            // Sociedades que facturan
                //dr = EMPRESA.Catalogo(null, "", "", null, null, null, "", "", null, 2, 0);
                dr = EMPRESA.Catalogo(null);
                break;

            case 23:            // Roles
                dr = ROL.Catalogo();
                break;

            case 25:            // Centro de trabajo
                dr = CENTROTRAB.Obtener();
                break;

            case 26:            // Oficina
                dr = OFICINA.Catalogo();
                break;

            case 34:            // Pais
                dr = SUPER.DAL.PAIS.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 35:            // Provincia
                dr = SUPER.DAL.PROVINCIA.CatalogoDenominacion(sCadena, sTipoBusqueda, int.Parse(Session["UsuarioActual"].ToString()));
                break;

            case 37:            // Organización comercial
                dr = SUPER.BLL.OrganizacionComercial.Catalogo(null, true);
                break;

            case 38:            // Soporte administrativo
                dr = SUPER.Capa_Negocio.SOPORTEADM.Catalogo();
                break;

            case 40:        // Criterios estadísticos económicos empresariales
                dr = CEC.Catalogo();
                break;

            case 41:        // Valores de criterios estadísticos económicos empresariales
                dr = VCEC.Catalogo();
                break;
            }

            sb.Append("<table id='tblDatos' class='texto MAM' style='WIDTH: 350px;'>" + (char)10);
            sb.Append("<colgroup><col style='width:350px;' /></colgroup>" + (char)10);
            sb.Append("<tbody>");

            while (dr.Read())
            {
                switch (int.Parse(hdnIdTipo.Value))
                {
                case 3:         // Naturalezas
                case 4:         // Modelo de contratación
                case 5:         // Horizontal
                case 6:         // Sector
                case 7:         // Segmento
                case 9:         // Contrato
                case 17:        // Proveedores
                case 23:        // Roles
                case 25:        // Centro de trabajo
                case 26:        // Oficina
                case 34:        // País
                case 35:        // Provincia
                case 40:        // Criterios estadísticos económicos empresariales
                case 41:        // Valores de criterios estadísticos económicos empresariales


                    sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "' title='" + dr["DENOMINACION"].ToString() + "' ");
                    if (int.Parse(hdnIdTipo.Value) == 41)
                    {
                        sb.Append("ceec=" + dr["DENOMINACION"].ToString() + " ");
                    }
                    sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'>");
                    sb.Append("<td style='padding-left:5px;'><nobr class='NBR W320'>" + dr["DENOMINACION"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                    break;

                case 8:         // Cliente
                    //sb.Append("<tr id='" + dr["t302_idcliente"].ToString() + "' ");
                    //sb.Append("onclick='mmse(this)' ondblclick='insertarItem(this)' onmousedown='DD(this)' style='height:20px;'>");
                    //sb.Append("<td>" + dr["t302_denominacion"].ToString() + "</td>");
                    //sb.Append("</tr>" + (char)10);

                    sb.Append("<tr id='" + dr["t302_idcliente"].ToString() + "' title='" + dr["t302_denominacion"].ToString() + "' ");

                    if ((bool)dr["t302_estado"])
                    {
                        sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'");
                    }
                    else
                    {
                        sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;color:gray;'");
                    }
                    //else sb.Append(" onmousedown='eventos(this);' style='height:20px;color:gray;'");

                    sb.Append("><td><img src='../../../../images/img" + dr["tipo"].ToString() + ".gif' ");
                    if (dr["tipo"].ToString() == "M")
                    {
                        sb.Append("style='margin-right:5px;'");
                    }
                    else
                    {
                        sb.Append("style='margin-left:15px;margin-right:5px;'");
                    }
                    sb.Append("><nobr class='NBR W310'>" + dr["t302_denominacion"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);

                    break;

                case 10:        // Cualificador de proyectos a nivel de NODO
                case 11:        // Cualificador de proyectos a nivel de SUPERNODO1
                case 12:        // Cualificador de proyectos a nivel de SUPERNODO2
                case 13:        // Cualificador de proyectos a nivel de SUPERNODO3
                case 14:        // Cualificador de proyectos a nivel de SUPERNODO4
                    sTootTip = "";
                    if (Utilidades.EstructuraActiva("SN4") && int.Parse(hdnIdTipo.Value) <= 14)
                    {
                        sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["t394_denominacion"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN3") && int.Parse(hdnIdTipo.Value) <= 13)
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["t393_denominacion"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN2") && int.Parse(hdnIdTipo.Value) <= 12)
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["t392_denominacion"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN1") && int.Parse(hdnIdTipo.Value) <= 11)
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["t391_denominacion"].ToString() + "<br>";
                    }
                    if (int.Parse(hdnIdTipo.Value) <= 10)
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label> " + dr["t303_denominacion"].ToString();
                    }

                    sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "' title='" + dr["DENOMINACION"].ToString() + "' ");
                    sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' ");
                    sb.Append("style='height:20px;noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle'>  Estructura] body=[" + sTootTip + "] hideselects=[off]\">");

                    sb.Append("<td><nobr class='NBR W320'>" + dr["DENOMINACION"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                    break;

                case 18:        // Centros de responsabilidad
                case 36:
                    sTootTip = "";
                    if (Utilidades.EstructuraActiva("SN4"))
                    {
                        sTootTip = "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["DES_SN4"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN3"))
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["DES_SN3"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN2"))
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["DES_SN2"].ToString() + "<br>";
                    }
                    if (Utilidades.EstructuraActiva("SN1"))
                    {
                        sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["DES_SN1"].ToString() + "<br>";
                    }
                    sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label> " + dr["DENOMINACION"].ToString();

                    sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "' title='" + dr["DENOMINACION"].ToString() + "' ");
                    sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' ");
                    sb.Append("style='height:20px;noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle'>  Estructura] body=[" + sTootTip + "] hideselects=[off]\">");

                    sb.Append("<td><nobr class='NBR W320'>" + dr["DENOMINACION"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                    break;

                case 22:        // Empresas que facturan
                    if (bool.Parse(dr["t313_estado"].ToString()))
                    {
                        sb.Append("<tr id='" + dr["t313_idempresa"].ToString() + "' title='" + dr["t313_denominacion"].ToString() + "' ");
                        sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'>");
                        sb.Append("<td><nobr class='NBR W320'>" + dr["t313_denominacion"].ToString() + "</nobr></td>");
                    }
                    else
                    {
                        sb.Append("<tr id='" + dr["t313_idempresa"].ToString() + "' title='" + dr["t313_denominacion"].ToString() + "' ");
                        sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'>");
                        sb.Append("<td style='color:gray'><nobr class='NBR W320'>" + dr["t313_denominacion"].ToString() + "</nobr></td>");
                    }

                    sb.Append("</tr>" + (char)10);
                    break;

                case 37:        // Organización comercial
                    sb.Append("<tr id='" + dr["ta212_idorganizacioncomercial"].ToString() + "' title='" + dr["ta212_denominacion"].ToString() + "' ");
                    if (int.Parse(hdnIdTipo.Value) == 41)
                    {
                        sb.Append("ceec=" + dr["ta212_denominacion"].ToString() + " ");
                    }
                    sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'>");
                    sb.Append("<td style='padding-left:5px;'><nobr class='NBR W320'>" + dr["ta212_denominacion"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                    break;

                case 38:        // Soporte administrativo
                    sb.Append("<tr id='" + dr["NUM_EMPLEADO"].ToString() + "' title='" + dr["profesional"].ToString() + "' ");
                    sb.Append("onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' style='height:20px;'>");
                    sb.Append("<td style='padding-left:5px;'><nobr class='NBR W320'>" + dr["profesional"].ToString() + "</nobr></td>");
                    sb.Append("</tr>" + (char)10);
                    break;
                }
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();
        }
        catch (System.Exception objError)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al leer : " + sTitulo, objError);
        }
        return(sResul);
    }