public string getDatos()
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table class='texto MANO' id='tblDatos' style='width: 350px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:150px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");


            SqlDataReader dr = SEGMESPROYECTOSUBNODO.ObtenerMesesParaClonado(null, int.Parse(Session["ID_PROYECTOSUBNODO"].ToString()), (Session["MONEDA_VDP"] == null) ? Session["MONEDA_PROYECTOSUBNODO"].ToString() : Session["MONEDA_VDP"].ToString());

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' anomes='" + dr["t325_anomes"].ToString() + "' estado='" + dr["t325_estado"].ToString() + "' style='height:20px;' ");
                sb.Append("onclick='ms(this);seleccionarMes(this.rowIndex);' >");
                if (dr["t325_estado"].ToString() == "C")
                {
                    sb.Append("<td style='color:red'>");
                }
                else
                {
                    sb.Append("<td style='color:#009900;padding-left:5px;font-weight:bold;'>");
                }
                sb.Append(Fechas.AnnomesAFechaDescLarga((int)dr["t325_anomes"]) + "</td>");
                if (decimal.Parse(dr["Consumos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Consumos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Produccion"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + decimal.Parse(dr["Produccion"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'></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 los meses abiertos", ex));
        }
    }
    protected void ObtenerHistoria(int nIdNodo)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            SqlDataReader dr = HISTORIALGASTOSFINANCIEROS.CatalogoPorNodo(null, nIdNodo);

            sb.Append("<table id='tblDatos' style='width: 700px;'>");
            sb.Append("<colgroup><col style='width:100px;' /><col style='width:100px;' /><col style='width:50px;' /><col style='width:450px;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr style='height: 20px;'>");
                sb.Append("<td style='text-align:center'>" + Fechas.AnnomesAFechaDescLarga((int)dr["t469_anomes"]) + "</td>");
                sb.Append("<td style='text-align:center'>" + DateTime.Parse(dr["t469_fecha"].ToString()).ToShortDateString() + "</td>");
                sb.Append("<td style='text-align:right'>" + double.Parse(dr["t469_interesGF"].ToString()).ToString("N") + "</td>");
                sb.Append("<td style='padding-left:10px;'>" + dr["Profesional"].ToString() + "</td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            strTablaHTML = sb.ToString();
        }
        catch (Exception ex)
        {
            sErrores = Errores.mostrarError("Error al obtener la relación de preferencias.", ex);
        }
    }
    private string PonerMes2(int iMes)
    {
        StringBuilder sb   = new StringBuilder();
        string        sMes = Fechas.AnnomesAFechaDescLarga(iMes);

        sb.Append("<tr t='MM' onclick='mm(event)' style='height:20px'>");
        sb.Append("<td colspan=4>" + Fechas.AnnomesAFechaDescLarga(iMes) + "</td></tr>");
        return(sb.ToString());
    }
示例#4
0
    private string ObtenerHistoricoMoneda()
    {
        string sAux = "";

        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' style='WIDTH: 300px;' mantenimiento='1'>");
            sb.Append("<colgroup>");

            sb.Append("<col style='width:180px;' />"); //Denominación
            sb.Append("<col style='width:120px;' />"); //Tipo de cambio
            sb.Append("</colgroup>");
            sb.Append("<tbody>");


            SqlDataReader dr = TIPOCAMBIOMENSUAL.Catalogo(hdnID.Text);

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t699_anomes"].ToString() + "' style='height:20px;cursor:pointer;' onclick='ms(this)' bd=''>");

                #region Creación tabla HTML

                sb.Append("<td style='text-align:center;'>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t699_anomes"].ToString())) + "</td>");

                sb.Append("<td style='text-align:left;'>");//CELL   2
                sAux = double.Parse(dr["t699_tipocambio"].ToString()).ToString("##,##0.0000");

                sb.Append("<input type='text' maxlength='9' style='width:80px' ");
                if (int.Parse(dr["t699_anomes"].ToString()) >= int.Parse((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString()))
                {
                    sb.Append(" class='txtNumV' value=\"" + sAux + "\">");
                }
                else
                {
                    sb.Append(" class='txtNumL' onfocus='fn(this,5, 4)' value=\"" + sAux + "\" onKeyUp='mod(this);'>");
                }

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

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

                #endregion
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener el histórico de monedas", ex));
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            try
            {
                if (Session["IDRED"] == null)
                {
                    try
                    {
                        Response.Redirect("~/SesionCaducadaModal.aspx", true);
                    }
                    catch (System.Threading.ThreadAbortException) { return; }
                }
                // Leer Agenda USA
                hdnProy.Text = Request.QueryString["nProy"].ToString();

                if (Request.QueryString["bNueva"] != "true")
                {
                    hdnID.Text = Request.QueryString["ID"].ToString();
                    AGENDAUSA oAGENDAUSA = AGENDAUSA.Select(null, int.Parse(hdnID.Text));

                    this.lblMes.InnerHtml = Fechas.AnnomesAFechaDescLarga(int.Parse(oAGENDAUSA.t641_anomes.ToString()));
                    txtConsumos.Text      = oAGENDAUSA.t641_consumos;
                    txtProduccion.Text    = oAGENDAUSA.t641_produccion;
                    txtFacturacion.Text   = oAGENDAUSA.t641_facturacion;
                    txtOtros.Text         = oAGENDAUSA.t641_otros;
                    iFecha = int.Parse(oAGENDAUSA.t641_anomes.ToString());
                }


                string[] aTabla = Regex.Split(obtenerComunicaciones(int.Parse(hdnProy.Text)), "@#@");
                if (aTabla[0] == "OK")
                {
                    strTablaHTML = aTabla[1];
                }
                else
                {
                    sErrores += Errores.mostrarError(aTabla[1]);
                }
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener los datos de la comunicación", ex);
            }

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
    private string PonerMes(int iMes, string sDias)
    {
        StringBuilder sb = new StringBuilder();

        if (sDias != "")
        {
            sDias = sDias.Substring(0, sDias.Length - 2);
            string sMes = Fechas.AnnomesAFechaDescLarga(iMes);
            sb.Append("<tr t='PM' onclick='mm(event)' style='height:20px'><td colspan=2></td>");
            sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga(iMes) + "</td>");
            //sb.Append("<td><NOBR class='NBR W410'>" + sDias + "</NOBR></td></tr>");
            sb.Append("<td>" + sDias + "</td></tr>");
        }
        return(sb.ToString());
    }
示例#7
0
    private string ObtenerMeses(string sPSN, string sEstProy)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<table id='tblDatos' class='texto' style='width: 260px; text-align:left' mantenimiento='1'>");
        sb.Append("<colgroup><col style='width:20px;' /><col style='width:180px;' /><col style='width:60px;' /></colgroup>");
        sb.Append("<tbody>");
        SqlDataReader dr = SEGMESPROYECTOSUBNODO.SelectByT305_idproyectosubnodo(null, int.Parse(sPSN));

        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' bd='' estado='" + dr["t325_estado"].ToString() + "' style='height:20px'>");
            sb.Append("<td><img src='../../../../images/imgFN.gif'></td>");
            sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t325_anomes"].ToString())) + "</td>");
            if (sEstProy == "A")
            {//Solo permito cambiar estado del mes en proyectos abiertos
                //sb.Append("<td><img src='../../../../images/imgFN.gif' onclick=\"mfa(this,'U')\"></td></tr>");
                if (dr["t325_estado"].ToString() == "A")
                {
                    sb.Append("<td style='text-align:center;' class='MA' title='Mes abierto'><img src='../../../../images/imgMesAbierto.gif' ondblclick='setEstado(this)'/></td></tr>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;' class='MA' title='Mes cerrado'><img src='../../../../images/imgMesCerrado.gif' ondblclick='setEstado(this)'/></td></tr>");
                }
            }
            else
            {
                if (dr["t325_estado"].ToString() == "A")
                {
                    sb.Append("<td style='text-align:center;' title='Mes abierto'><img src='../../../../images/imgMesAbierto.gif' onclick=\"alert('El estado del proyecto no permite la modificación de meses')\"></td></tr>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;' title='Mes cerrado'><img src='../../../../images/imgMesCerrado.gif' onclick=\"alert('El estado del proyecto no permite la modificación de meses')\"></td></tr>");
                }
            }
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");
        //strTablaHtml = sb.ToString();
        return(sb.ToString());
    }
示例#8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                Master.bEstilosLocales   = true;
                Master.bFuncionesLocales = true;
                Master.TituloPagina      = "Tabla Dinamica Servidor V4";
                Master.FuncionesJavaScript.Add("Javascript/draganddrop.js");
                //Master.FuncionesJavaScript.Add("Javascript/jquery.js");
                Master.FuncionesJavaScript.Add("Capa_Presentacion/Pruebas/TablaDinamica4/Functions/ColumnDrag.js");
                //Master.FuncionesJavaScript.Add("Capa_Presentacion/Pruebas/TablaDinamica4/Functions/resizable-tables.js");
                //Master.FuncionesJavaScript.Add("Capa_Presentacion/Pruebas/TablaDinamica4/Functions/colResizable-1.3.min.js");

                //Master.FicherosCSS.Add("Capa_Presentacion/Pruebas/TablaDinamica4/css/main.css");
                Master.FuncionesJavaScript.Add("Capa_Presentacion/Pruebas/TablaDinamica4/Functions/jquery.js");
                Master.FuncionesJavaScript.Add("Capa_Presentacion/Pruebas/TablaDinamica4/Functions/colResizable-1.3.source.js");

                hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString();
                txtDesde.Text = Fechas.AnnomesAFechaDescLarga(int.Parse(hdnDesde.Text));
                hdnHasta.Text = (DateTime.Now.Year * 100 + DateTime.Now.Month).ToString();
                txtHasta.Text = Fechas.AnnomesAFechaDescLarga(int.Parse(hdnHasta.Text));

                lblMonedaImportes.InnerText = Session["DENOMINACION_VDC"].ToString();
                lblNodo.InnerText           = Estructura.getDefLarga(Estructura.sTipoElem.NODO);

                //1º Se indican (por este orden) la función a la que se va a devolver el resultado
                //   y la función que va a acceder al servidor
                string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
                string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
                //2º Se "registra" la función que va a acceder al servidor.
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
            }
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al cargar los datos", ex);
        }
    }
示例#9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                Master.nBotonera         = 45;
                Master.nResolucion       = 1280;
                Master.bFuncionesLocales = true;
                Master.TituloPagina      = "Cambio de estructura de usuarios";
                Master.FuncionesJavaScript.Add("Javascript/draganddrop.js");
                Master.FuncionesJavaScript.Add("Javascript/boxover.js");

                rdbAmbito.Items[1].Text = Estructura.getDefLarga(Estructura.sTipoElem.NODO);
                //02/02/2016 Victor, sacar el mes del último mes fcerrado de la empresa
                //txtMesValor.Text = Fechas.AnnomesAFechaDescLarga(Fechas.FechaAAnnomes(DateTime.Now));
                PARAMETRIZACIONSUPER oPar = PARAMETRIZACIONSUPER.Select(null);
                txtMesValor.Text = Fechas.AnnomesAFechaDescLarga(Fechas.AddAnnomes(oPar.t725_ultcierreempresa_ECO, 1));

                hdnMesValor.Text = Fechas.FechaAAnnomes(DateTime.Now).ToString();

                if (CAMBIOESTRUCTURAUSUARIO.bHayAparcadas(null))
                {
                    sHayAparcadas = "true";
                }
            }
        }
        catch (Exception ex)
        {
            Master.sErrores += Errores.mostrarError("Error al cargar los datos", ex);
        }
        //1º Se indican (por este orden) la función a la que se va a devolver el resultado
        //   y la función que va a acceder al servidor
        string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
        string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

        //2º Se "registra" la función que va a acceder al servidor.
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
    }
示例#10
0
    protected string ObtenerBonos(string sUsuario, string sSoloVigentes)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' class='texto MA' style='width: 500px;'>");
            sb.Append("<colgroup>");
            sb.Append("  <col style='width:300px;' />");
            sb.Append(" <col style='width:100px;' />");
            sb.Append(" <col style='width:100px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            SqlDataReader dr = BONO_TRANSPORTE.ObtenerParaAsignacion(null, int.Parse(sUsuario), (sSoloVigentes == "1") ? true : false);
            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t655_idbono"].ToString() + "' ");
                sb.Append("fivb='" + dr["t657_desde"].ToString() + "' ");
                sb.Append("ffvb='" + dr["t657_hasta"].ToString() + "' ");
                sb.Append("ondblclick='aceptarClick(this.rowIndex)' style='height:16px'>");
                sb.Append("<td style='padding-left:3px;'>" + dr["t655_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga((int)dr["t657_desde"]) + "</td>");
                sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga((int)dr["t657_hasta"]) + "</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 la relación de bonos de transporte.", ex));
        }
    }
    private string CatalogoNodos(int nAnoMesActual)
    {
        string        sUltCierre, sUltCierreEco, sUltTraspasoIAP;
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' class='texto' style='WIDTH: 970px;'>");
            sb.Append("<colgroup>");
            sb.Append("     <col style='width:70px;' />");
            sb.Append("     <col style='width:70px;' />");
            sb.Append("     <col style='width:40px;' />");
            sb.Append("     <col style='width:340px;' />");
            sb.Append("     <col style='width:40px;' />");
            sb.Append("     <col style='width:90px;' />");
            sb.Append("     <col style='width:90px;' />");
            sb.Append("     <col style='width:70px;' />");
            sb.Append("     <col style='width:70px;' />");
            sb.Append("     <col style='width:90px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>" + (char)10);
            SqlDataReader dr = NODO.CatalogoCierreMensual(nAnoMesActual);
            while (dr.Read())
            {
                sUltCierre = dr["t303_ultcierreiap"].ToString();
                if (sUltCierre != "")
                {
                    sUltCierre = Fechas.AnnomesAFechaDescLarga(int.Parse(sUltCierre));
                }

                sb.Append("<tr id='" + dr["t303_idnodo"].ToString() + "' ");
                sb.Append("uc='" + dr["t303_ultcierreiap"].ToString() + "' ");
                sb.Append("npma=" + dr["num_proy_meses_abiertos"].ToString() + " ");
                sb.Append("utpn=" + dr["t303_utpnIAP"].ToString() + " ");
                if ((bool)dr["t303_cierreIAPestandar"])
                {
                    sb.Append(" m='1'");
                }
                else
                {
                    sb.Append(" m='0'");
                }

                sUltCierreEco = dr["t303_ultcierreeco"].ToString();
                if (sUltCierreEco != "")
                {
                    sUltCierreEco = Fechas.AnnomesAFechaDescLarga(int.Parse(sUltCierreEco));
                }

                sb.Append(" uce='" + dr["t303_ultcierreeco"].ToString() + "'");
                if ((bool)dr["t303_cierreECOestandar"])
                {
                    sb.Append(" me='1'");
                }
                else
                {
                    sb.Append(" me='0'");
                }
                sb.Append(" style='height:16px'>");

                sb.Append("<td align='center'><input type='checkbox' class='checkTabla'");
                if ((bool)dr["t303_cierreIAPestandar"])
                {
                    sb.Append(" checked='true' ");
                }
                sb.Append("onclick='setIAP(this)'></td>");

                sb.Append("<td align='center'><input type='checkbox' class='checkTabla'");
                if ((bool)dr["t303_cierreECOestandar"])
                {
                    sb.Append(" checked='true' ");
                }
                sb.Append("onclick='setECO(this)'></td>");

                sb.Append("<td style=\"border-right:'';text-align:right;\">" + dr["t303_idnodo"].ToString() + "</td>");
                sb.Append("<td style='padding-left:10px;text-align:left;'><div class='NBR W330'>" + dr["t303_denominacion"].ToString() + "</div></td>");
                if ((int)dr["num_proy_meses_abiertos"] > 0)
                {
                    sb.Append("<td style='padding-right:5px;text-align:right;' class='MA' ondblclick='getPMA(this);'>" + dr["num_proy_meses_abiertos"].ToString() + "</td>");
                }
                else
                {
                    sb.Append("<td style='padding-right:5px;text-align:right;'></td>");
                }
                sb.Append("<td align='center'>" + sUltCierre + "</td>");
                sb.Append("<td align='center'>" + sUltCierreEco + "</td>");

                sb.Append("<td align='center'><input type='checkbox' class='checkTabla'");
                if ((bool)dr["t303_autotraspasoIAP"])
                {
                    sb.Append(" checked='true' ");
                }
                //sb.Append("onclick='setAutoTraspIAP(this)'></td>");
                sb.Append("></td>");

                sb.Append("<td align='center'><input type='checkbox' class='checkTabla' ></td>");

                sUltTraspasoIAP = dr["t303_utpnIAP"].ToString();
                if (sUltTraspasoIAP != "")
                {
                    sUltTraspasoIAP = Fechas.AnnomesAFechaDescLarga(int.Parse(sUltTraspasoIAP));
                }
                sb.Append("<td style=\"border-right:'';text-align:right;\">" + sUltTraspasoIAP + "</td>");
                sb.Append("</tr>" + (char)10);
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los nodos.", ex));
        }
    }
示例#12
0
    //private string ObtenerMonedas(Nullable<bool> t422_estadovisibilidad)
    private string ObtenerMonedas(string t422_estadovisibilidad)
    {
        string sFecha, sAux = "";

        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append(@"<table id='tblDatos' style='width:970px; text-align:left;' mantenimiento='1'>
                    <colgroup>
                        <col style='width:200px;' />
                        <col style='width:230px;' />
                        <col style='width:70px;' />
                        <col style='width:70px;' />
                        <col style='width:120px;' />
                        <col style='width:70px;' />
                        <col style='width:70px;' />
                        <col style='width:70px;' />
                        <col style='width:70px;' />
                    </colgroup>
                <tbody>");

            //DataTable dt = MONEDA.ObtenerTipoCambioBCE();
            SqlDataReader dr = MONEDA.CatalogoMan((t422_estadovisibilidad == "1") ? true : false);

            while (dr.Read())
            {
                //string sCodEstado = dr["estado"].ToString();

                sb.Append("<tr id='" + dr["t422_idmoneda"].ToString() + "' ");
                if (dr["t422_idmoneda"].ToString() != "EUR")
                {
                    sb.Append(" onclick='ms(this)' ");
                }
                sFecha = "";
                if (dr["t422_anomessiguiente"] == System.DBNull.Value)
                {
                    sFecha = "";
                }
                else
                {
                    sFecha = dr["t422_anomessiguiente"].ToString();
                }

                sb.Append("fecha='" + sFecha + "' ");
                sb.Append("bd=''>");

                #region Creación tabla HTML

                sb.Append("<td>");// Denominación
                sb.Append("<nobr class='NBR W190' onmouseover='TTip(event)'>" + dr["t422_denominacion"].ToString() + "</nobr>");
                sb.Append("</td>");

                sb.Append("<td>");//Ver importes en
                if (dr["t422_idmoneda"].ToString() == "EUR")
                {
                    sb.Append("<nobr class='NBR W220' onmouseover='TTip(event)' style='margin-left:2px;'>" + dr["t422_denominacionimportes"].ToString() + "</nobr>");
                }
                else
                {
                    sb.Append("<input type='text' maxlength='50' class='txtL' style='width:220px;' value='" + dr["t422_denominacionimportes"].ToString() + " ' onKeyUp='mod(this);' />");
                }
                sb.Append("</td>");

                //sb.Append("<td>");//Actual
                sAux = "";
                if (dr["t422_tipocambio"] == System.DBNull.Value)
                {
                    sAux = "";
                }
                else
                {
                    sAux = double.Parse(dr["t422_tipocambio"].ToString()).ToString("##,##0.0000");
                }

                if (dr["t422_idmoneda"].ToString() == "EUR")
                {
                    sb.Append("<td style='text-align:right;'>");//Actual
                    sb.Append("<nobr class='NBR W60' style='margin-right:3px;'>" + sAux + "</nobr>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'>");//Actual
                    sb.Append("<input type='text' maxlength='9' class='txtNumL' onfocus='fn(this,5, 4)' style='width:60px' value=\"" + sAux + "\" onKeyUp='mod(this);'>");
                }
                sb.Append("</td>");

                sb.Append("<td style='text-align:right;'>");//Siguiente
                sAux = "";
                if (dr["t422_tipocambiosiguiente"] == System.DBNull.Value)
                {
                    sAux = "";
                }
                else
                {
                    sAux = double.Parse(dr["t422_tipocambiosiguiente"].ToString()).ToString("##,##0.0000");
                }

                if (dr["t422_idmoneda"].ToString() == "EUR")
                {
                    sb.Append("<nobr class='NBR W60'>" + sAux + "</nobr>");
                }
                else
                {
                    sb.Append("<input type='text' maxlength='9' class='txtNumL' onfocus='fn(this,5, 4)' style='width:60px' value=\"" + sAux + "\" onKeyUp='mod(this);'>");
                }
                sb.Append("</td>");

                sb.Append("<td title='Mes y año'>"); //A partir de

                sFecha = "";
                if (dr["t422_anomessiguiente"] == System.DBNull.Value)
                {
                    sFecha = "";
                }
                else
                {
                    sFecha = Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t422_anomessiguiente"].ToString()));
                }

                if (dr["t422_idmoneda"].ToString() == "EUR")
                {
                    sb.Append("<nobr class='NBR W90'>" + sFecha + "</nobr>");
                }
                else
                {
                    sb.Append("<input type='text' class='txtFecL' style='width:90px;text-align:center;' value='" + sFecha + "' readonly onclick='getMesValor(this)' />");
                }

                sb.Append("<image style='cursor:pointer;width:16px;visibility:");
                if (sFecha != "")
                {
                    sb.Append("visible;");
                }
                else
                {
                    sb.Append("hidden;");
                }
                sb.Append("vertical-align:middle;' src='../../../images/imgBorrar.gif' onclick='borrarFecha(this)' style='cursor:pointer'></image>");
                sb.Append("</td>");

                sb.Append("<td style='text-align:right;'>");//TCOD
                sb.Append((dr["tipocambio_bce_diario"] != DBNull.Value) ? double.Parse(dr["tipocambio_bce_diario"].ToString()).ToString("##,##0.0000") : "");
                sb.Append("</td>");

                sb.Append("<td style='text-align:right;'>");//TCOM
                sb.Append((dr["tipocambio_bce_medio_mensual"] != DBNull.Value) ? double.Parse(dr["tipocambio_bce_medio_mensual"].ToString()).ToString("##,##0.0000") : "");
                sb.Append("</td>");

                sb.Append("<td style='text-align:center;'>"); //Gestión
                if (dr["t422_idmoneda"].ToString() != "EUR")
                {
                    sb.Append("<input type='checkbox' style='width:15px; cursor:pointer'");
                    sb.Append(" id='chkGestion' class='checkTabla'");
                    if ((bool)dr["t422_estado"])
                    {
                        sb.Append(" checked");
                    }
                    sb.Append(" onclick=\"cont(this);\">");
                }
                sb.Append("</td>");

                sb.Append("<td style='text-align:center;'>"); //Visibilidad
                if (dr["t422_idmoneda"].ToString() != "EUR")
                {
                    sb.Append("<input type='checkbox' style='width:15px; cursor:pointer'");
                    sb.Append(" id='chkVisibilidad' class='checkTabla'");
                    if ((bool)dr["t422_estadovisibilidad"])
                    {
                        sb.Append(" checked");
                    }
                    sb.Append(" onclick=\"cont(this);\">");
                }
                sb.Append("</td>");
                sb.Append("</tr>");

                #endregion
            }
            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 monedas", ex));
        }
    }
    public void DetalleCorreoUSA(int idcomunicacion, string sCaso)
    {
        string sVigencia = "";
        string sEstado   = "";
        int    iFecha    = 0;

        ESPACIOCOMUNICACION oESPACIOCOMUNICACION = ESPACIOCOMUNICACION.Select(null, idcomunicacion);

        sb.Append("</br></br><table id='tblContenido' style='WIDTH:1200px' class='texto' border='0' cellspacing='0' cellpadding='0'>");
        sb.Append("<tr><td style='width:120px; vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Proyecto:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(int.Parse(oESPACIOCOMUNICACION.t301_idproyecto.ToString()).ToString("###,###") + " - " + oESPACIOCOMUNICACION.t301_denominacion + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Autor:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(oESPACIOCOMUNICACION.autor + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Fecha de aviso:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(oESPACIOCOMUNICACION.t639_fechacom.ToShortDateString() + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Partidas contables:</LABEL>");
        sb.Append("</td><td>");

        string sPartidasConta = "";

        if ((bool)oESPACIOCOMUNICACION.t639_consumo)
        {
            sPartidasConta += "Consumo, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_produccion)
        {
            sPartidasConta += "Producción, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_facturacion)
        {
            sPartidasConta += "Facturación, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_facturacion)
        {
            sPartidasConta += "Otros, ";
        }

        if (sPartidasConta.Length > 0)
        {
            sPartidasConta = sPartidasConta.Substring(0, sPartidasConta.Length - 2);
        }

        sb.Append(sPartidasConta + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Vigencia:</LABEL>");
        sb.Append("</td><td style='vertical-align:top;'>");

        if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto)
        {
            sVigencia = "Todo el proyecto";
        }
        else
        {
            sVigencia = Fechas.AnnomesAFechaDescLarga((int)oESPACIOCOMUNICACION.t639_vigenciadesde) + " - " + Fechas.AnnomesAFechaDescLarga((int)oESPACIOCOMUNICACION.t639_vigenciahasta);
        }

        sb.Append(sVigencia + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Estado:</LABEL>");
        sb.Append("</td><td>");

        iFecha = DateTime.Now.Year * 100 + DateTime.Now.Month;

        if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto)
        {
            sEstado = "Abierto";
        }
        else if (iFecha >= int.Parse(oESPACIOCOMUNICACION.t639_vigenciadesde.ToString()) && iFecha <= int.Parse(oESPACIOCOMUNICACION.t639_vigenciahasta.ToString()))
        {
            sEstado = "Abierto";
        }
        else
        {
            sEstado = "Cerrado";
        }

        sb.Append(sEstado + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Descripción:</LABEL>");
        sb.Append("</td><td>");
        sTexto = oESPACIOCOMUNICACION.t639_descripcion;

        sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39);

        sb.Append(sTexto + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Observaciones:</LABEL>");
        sb.Append("</td><td>");
        sTexto = oESPACIOCOMUNICACION.t639_observaciones;

        sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39);

        sb.Append(sTexto + "</br></br>");
        sb.Append("</td></tr>");
        sb.Append("<tr><td colspan='2' class='punteado'>&nbsp;");
        sb.Append("</td></tr>");

        sb.Append("</table>");
    }
示例#14
0
    private string getPreferencia(string sIdPrefUsuario)
    {
        StringBuilder sb            = new StringBuilder();
        int           idPrefUsuario = 0; //, nConceptoEje=0;

        try
        {
            bHayPreferencia = false;
            SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "")? null:(int?)int.Parse(sIdPrefUsuario),
                                                          (int)Session["IDFICEPI_PC_ACTUAL"], 37);
            if (dr.Read())
            {
                bHayPreferencia = true;

                sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //1
                sb.Append(dr["cboDisponibilidad"].ToString() + "@#@");  //2
                sb.Append(dr["CerrarAuto"].ToString() + "@#@");         //3
                sb.Append(dr["ActuAuto"].ToString() + "@#@");           //4
                sb.Append(dr["OpcionPeriodo"].ToString() + "@#@");      //5
                sb.Append(dr["chkMisProyectos"].ToString() + "@#@");    //6

                idPrefUsuario    = int.Parse(dr["t462_idPrefUsuario"].ToString());
                nUtilidadPeriodo = int.Parse(dr["OpcionPeriodo"].ToString());
            }

            dr.Close();
            //dr.Dispose();

            if (bHayPreferencia == false)
            {
                return("OK@#@NO@#@");
            }

            #region Fechas
            switch (nUtilidadPeriodo)
            {
            case 1:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                    //7
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@");  //8
                sb.Append((DateTime.Now.Year * 100 + 12).ToString() + "@#@");                   //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 12) + "@#@"); //10
                break;

            case 2:
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //7
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //8
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //10
                break;

            case 3:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                                    //7
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@");                  //8
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //10
                break;

            case 4:
                sb.Append("199001" + "@#@");                                                                    //7
                sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@");                                       //8
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //10
                break;

            case 5:
                sb.Append("199001" + "@#@");                              //7
                sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@"); //8
                sb.Append("207812" + "@#@");                              //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(207812) + "@#@"); //10
                break;

            default:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                         //7
                sb.Append(mes[0] + " " + DateTime.Now.Year.ToString() + "@#@");                      //8
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");        //9
                sb.Append(mes[DateTime.Now.Month - 1] + " " + DateTime.Now.Year.ToString() + "@#@"); //10
                break;
            }
            #endregion

            #region HTML, IDs
            //int nNivelMinimo = 0;
            //bool bAmbito = false;
            string[] aID = null;
            dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario);
            while (dr.Read())
            {
                switch (int.Parse(dr["t441_concepto"].ToString()))
                {
                case 1:
                    aID = Regex.Split(dr["t441_valor"].ToString(), "-");

                    if (strIDsAmbito != "")
                    {
                        strIDsAmbito += ",";
                    }
                    strIDsAmbito += aID[1];

                    aNodos = PREFUSUMULTIVALOR.SelectNodosAmbito(null, aNodos, int.Parse(aID[0]), int.Parse(aID[1]));
                    //aSubnodos = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1]));
                    strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:18px;' idAux='";
                    //strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]);
                    strHTMLAmbito += NODO.fgGetCadenaID(aID[0], aID[1]);
                    strHTMLAmbito += "'><td>";

                    switch (int.Parse(aID[0]))
                    {
                    case 1: strHTMLAmbito += "<img src='../../../../images/imgSN4.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;

                    case 2: strHTMLAmbito += "<img src='../../../../images/imgSN3.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;

                    case 3: strHTMLAmbito += "<img src='../../../../images/imgSN2.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;

                    case 4: strHTMLAmbito += "<img src='../../../../images/imgSN1.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;

                    case 5: strHTMLAmbito += "<img src='../../../../images/imgNodo.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;

                    case 6: strHTMLAmbito += "<img src='../../../../images/imgSubNodo.gif' style='margin-left:2px; margin-right:4px; vertical-align:middle; border:0px; height:16px;'>"; break;
                    }

                    strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 2:
                    if (strIDsResponsable != "")
                    {
                        strIDsResponsable += ",";
                    }
                    strIDsResponsable  += dr["t441_valor"].ToString();
                    strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 23:
                    if (strIDsRol != "")
                    {
                        strIDsRol += ",";
                    }
                    strIDsRol  += dr["t441_valor"].ToString();
                    strHTMLRol += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 24:
                    if (strIDsSupervisor != "")
                    {
                        strIDsSupervisor += ",";
                    }
                    strIDsSupervisor  += dr["t441_valor"].ToString();
                    strHTMLSupervisor += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 25:
                    if (strIDsCentroTrabajo != "")
                    {
                        strIDsCentroTrabajo += ",";
                    }
                    strIDsCentroTrabajo  += dr["t441_valor"].ToString();
                    strHTMLCentroTrabajo += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 26:
                    if (strIDsOficina != "")
                    {
                        strIDsOficina += ",";
                    }
                    strIDsOficina  += dr["t441_valor"].ToString();
                    strHTMLOficina += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 27: if (strIDsProfesional != "")
                    {
                        strIDsProfesional += ",";
                    }
                    strIDsProfesional  += dr["t441_valor"].ToString();
                    strHTMLProfesional += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion


            //for (int i = 0; i < aSubnodos.Count; i++)
            //{
            //    if (i > 0) sSubnodos += ",";
            //    sSubnodos += aSubnodos[i];
            //}

            for (int i = 0; i < aNodos.Count; i++)
            {
                if (i > 0)
                {
                    sNodos += ",";
                }
                sNodos += aNodos[i];
            }

            sb.Append(sNodos + "@#@");               //11
            sb.Append(strHTMLAmbito + "@#@");        //12
            sb.Append(strIDsAmbito + "@#@");         //13
            sb.Append(strHTMLRol + "@#@");           //14
            sb.Append(strIDsRol + "@#@");            //15
            sb.Append(strHTMLSupervisor + "@#@");    //16
            sb.Append(strIDsSupervisor + "@#@");     //17
            sb.Append(strHTMLCentroTrabajo + "@#@"); //18
            sb.Append(strIDsCentroTrabajo + "@#@");  //19
            sb.Append(strHTMLOficina + "@#@");       //20
            sb.Append(strIDsOficina + "@#@");        //21
            sb.Append(strHTMLProfesional + "@#@");   //22
            sb.Append(strIDsProfesional + "@#@");    //23
            //sb.Append((bHayPreferencia) ? "S@#@" : "N@#@"); //24
            sb.Append(strHTMLResponsable + "@#@");   //24
            sb.Append(strIDsResponsable + "@#@");    //25
            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false));
        }
    }
    public string getDatosDialogo(bool bSoloTextos, int nIdDialogo, bool bEsGestor)
    {
        string sResultado = "";

        try
        {
            DataSet ds = DIALOGOALERTAS.ObtenerDialogoAlerta(nIdDialogo, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()), bEsGestor);
            #region Datos cabecera del diálogo
            if (!bSoloTextos)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataRow oFila = ds.Tables[0].Rows[0];
                    txtIdDialogo.Text = ((int)oFila["t831_iddialogoalerta"]).ToString("#,###");
                    if (oFila["t831_flr"] != DBNull.Value)
                    {
                        txtFLR.Text = ((DateTime)oFila["t831_flr"]).ToShortDateString();
                    }
                    txtProyecto.Text = ((int)oFila["t301_idproyecto"]).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString();

                    string sTooltip = "<label style=width:70px;>Proyecto:</label>" + ((int)oFila["t301_idproyecto"]).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString().Replace("\"", "&#34;").Replace(((char)39).ToString(), "&#39;"); //(char)34, (char)39
                    sTooltip += "<br><label style=width:70px;>Responsable:</label>" + oFila["Responsable"].ToString().Replace("\"", "&#34;");
                    sTooltip += "<br><label style=width:70px;>Interlocutor:</label>" + oFila["Interlocutor"].ToString().Replace("\"", "&#34;");
                    sTooltip += "<br><label style=width:70px;>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + oFila["t303_denominacion"].ToString().Replace("\"", "&#34;").Replace(((char)39).ToString(), "&#39;");
                    sTooltip += "<br><label style=width:70px;>Cliente:</label>" + oFila["t302_denominacion"].ToString().Replace("\"", "&#34;").Replace(((char)39).ToString(), "&#39;");

                    txtProyecto.Attributes.Add("onmouseover", "showTTE('" + Utilidades.escape(sTooltip) + "');");
                    txtProyecto.Attributes.Add("onmouseout", "hideTTE();");


                    txtAsunto.Text             = oFila["t820_denominacion"].ToString();
                    txtEstado.Text             = oFila["t827_denominacion"].ToString();
                    txtEstado.ToolTip          = oFila["t827_descripcion"].ToString();
                    hdnIdEstado.Value          = oFila["t827_idestadodialogoalerta"].ToString();
                    hdnEntePromotor.Value      = oFila["t831_entepromotor"].ToString();
                    hdnIdResponsableProy.Value = oFila["t314_idusuario_responsable"].ToString();
                    txtMes.Text        = (oFila["t831_anomesdecierre"] != DBNull.Value)? Fechas.AnnomesAFechaDescLarga((int)oFila["t831_anomesdecierre"]) :"";
                    hdnIdDAlerta.Value = oFila["t820_idalerta"].ToString();
                    //if (oFila["t314_idusuario_responsable"].ToString() == Session["UsuarioActual"].ToString())
                    //    sEsResponsableProyecto = "true";
                    if ((bool)oFila["bInterlocutor"])
                    {
                        sEsInterlocutorProyecto = "true";
                    }
                }
            }
            #endregion

            #region Textos del diálogo
            StringBuilder sb         = new StringBuilder();
            DateTime      dtAux      = DateTime.Parse("01/01/1900");
            string        sCellWidth = "";

            sb.Append("<table id='tblTextos' class='texto' style='width:880px; background-color:#ece4de' cellspacing='0' cellpadding='0' border='0'>");
            sb.Append(@"<colgroup>
                            <col style='width:60px;' />
                            <col style='width:160px;' />
                            <col style='width:220px;' />
                            <col style='width:220px;' />
                            <col style='width:160px;' />
                            <col style='width:60px;' />
                        </colgroup>");

            foreach (DataRow oFila in ds.Tables[1].Rows)
            {
                sCellWidth = (oFila["t832_texto"].ToString().Length > 40) ? "455px" : (oFila["t832_texto"].ToString().Length * 11).ToString() + "px";

                if (((DateTime)oFila["t832_fechacreacion"]).ToShortDateString() != dtAux.ToShortDateString())
                {
                    dtAux = (DateTime)oFila["t832_fechacreacion"];
                    sb.Append("<tr>");
                    sb.Append("<td colspan='6' style='padding-top:4px;'>");
                    sb.Append("<div style='margin-left:270px; width:300px; height:34px; background-image:url(../../../../Images/imgFondoFecha.gif);background-repeat:no-repeat; text-align:center; padding-top:8px; font-size:13pt;'>" + ((DateTime)oFila["t832_fechacreacion"]).ToLongDateString() + "</div>");
                    sb.Append("</td>");
                    sb.Append("</tr>");
                }

                sb.Append("<tr>");
                if (oFila["t832_posicion"].ToString() == "I")
                {
                    sb.Append("<td style='vertical-align:bottom; padding-bottom: 10px;'>");

                    if (oFila["t001_idficepi"] == DBNull.Value)
                    {
                        sb.Append(@"<img src='../../../../Images/imgDiamanteDialogo.png' style='width:60px; height:90px;' border='0' />");
                    }
                    else
                    {
                        sb.Append(@"<img src='" + (((int)oFila["tiene_foto"] == 0) ? "../../../../Images/imgSmile.gif" : "../../../Inicio/ObtenerFotoByFicepi.aspx?nF=" + oFila["t001_idficepi"].ToString()) + @"' style='width:60px; height:auto;' border='0' />");
                    }
                    sb.Append(@"<nobr class='NBR W60' style='text-align:center' title='" + oFila["Profesional"].ToString() + @"'>" + oFila["t001_nombre"].ToString() + @"</nobr>");

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

                    sb.Append("<td colspan='3' style='padding-left:5px;'>");
                    sb.Append(@"<table class='texto' style='float:left; margin-bottom:20px;' cellspacing='0' cellpadding='0' border='0'>
                            <tr style='height:9px;'>
                                <td background='../../../../Images/Tabla/ConvIzda/1.gif' style='width:34px;'></td>
                                <td background='../../../../Images/Tabla/ConvIzda/2.gif' style='width:" + sCellWidth + @";'></td>
                                <td background='../../../../Images/Tabla/ConvIzda/3.gif' style='width:81px; height:9px;background-repeat:no-repeat;'></td>
                            </tr>
                            <tr>
                                <td background='../../../../Images/Tabla/ConvIzda/4.gif' style='width:34px;'>&nbsp;</td>
                                <td background='../../../../Images/Tabla/ConvIzda/5.gif' style='font-size:11pt; width:" + sCellWidth + @";'>
                                    <!-- Inicio del contenido propio de la tabla -->
                                    " + oFila["t832_texto"].ToString().Replace(((char)10).ToString(), "<br>") + @"
                                    <!-- Fin del contenido propio de la tabla -->
                                </td>
                                <td background='../../../../Images/Tabla/ConvIzda/6.gif' style='width:81px;background-repeat:repeat-y;'></td>
                            </tr>
                            <tr style='height:55px;'>
                                <td background='../../../../Images/Tabla/ConvIzda/7.gif' style='width:34px;'></td>
                                <td background='../../../../Images/Tabla/ConvIzda/8.gif' style='width:" + sCellWidth + @";'></td>
                                <td background='../../../../Images/Tabla/ConvIzda/9.gif' style='width:81px; font-size:13pt; vertical-align:top; padding-left:15px; padding-top:10px; background-repeat:no-repeat;'>" + Fechas.HoraACadenaLarga((DateTime)oFila["t832_fechacreacion"]) + @"</td>
                            </tr>
                        </table>");
                    sb.Append("</td>");
                    sb.Append("<td colspan='2'></td>");
                }
                else //lado derecho
                {
                    sb.Append("<td colspan='2'></td>");
                    sb.Append("<td colspan='3' style='text-align:right; padding-right:5px;'>");// vertical-align: text-bottom;
                    //sb.Append("<img src='../../../../Images/imgW2.gif' />");

                    sb.Append(@"<table class='texto' style='table-layout:fixed; float:right; margin-bottom:20px;' cellspacing='0' cellpadding='0' border='0'>
                        <tr style='height:11px;'>
                            <td background='../../../../Images/Tabla/ConvDcha/1.gif' style='width:80px;'></td>
                            <td background='../../../../Images/Tabla/ConvDcha/2.gif' style='width:" + sCellWidth + @";'></td>
                            <td background='../../../../Images/Tabla/ConvDcha/3.gif' style='width:37px;'></td>
                        </tr>
                        <tr>
                            <td background='../../../../Images/Tabla/ConvDcha/4.gif' style='width:80px;'>&nbsp;</td>
                            <td background='../../../../Images/Tabla/ConvDcha/5.gif' style='font-size:11pt; text-align: left;width:" + sCellWidth + @";'>
                                <!-- Inicio del contenido propio de la tabla -->" +
                              oFila["t832_texto"].ToString().Replace(((char)10).ToString(), "<br>") + @"
                                <!-- Fin del contenido propio de la tabla -->
                            </td>
                            <td background='../../../../Images/Tabla/ConvDcha/6.gif' style='width:37px;'></td>
                        </tr>
                        <tr style='height:54px;'>
                            <td background='../../../../Images/Tabla/ConvDcha/7.gif' 
                                style='width:80px; font-size:13pt; vertical-align:top; padding-top:10px;'>
                                <span style='margin-right:15px;'>" + Fechas.HoraACadenaLarga((DateTime)oFila["t832_fechacreacion"]) + @"</span></td>
                            <td background='../../../../Images/Tabla/ConvDcha/8.gif' style='width:" + sCellWidth + @";'></td>
                            <td background='../../../../Images/Tabla/ConvDcha/9.gif' style='width:37px;'></td>
                        </tr>
                        </table>");

                    sb.Append("</td>");
                    sb.Append("<td style='vertical-align:bottom; padding-bottom: 10px;'>");

                    if (oFila["t001_idficepi"] == DBNull.Value)
                    {
                        sb.Append(@"<img src='../../../../Images/imgDiamanteDialogo.png' style='width:60px; height:90px;' border='0' />");
                    }
                    else
                    {
                        sb.Append(@"<img src='" + (((int)oFila["tiene_foto"] == 0) ? "../../../../Images/imgSmile.gif" : "../../../Inicio/ObtenerFotoByFicepi.aspx?nF=" + oFila["t001_idficepi"].ToString()) + @"' style='width:60px; height:auto;' border='0' />");
                    }
                    sb.Append(@"<nobr class='NBR W60' style='text-align:center' title='" + oFila["Profesional"].ToString() + @"'>" + oFila["t001_nombre"].ToString() + @"</nobr>");
                    sb.Append("</td>");
                }
                sb.Append("</tr>");
            }
            ds.Dispose();
            sb.Append("</table>");

            sResultado = "OK@#@" + sb.ToString();

            #endregion
        }
        catch (Exception ex)
        {
            sResultado = "Error@#@" + Errores.mostrarError("Error al obtener los datos del diálogo.", ex);
        }
        return(sResultado);
    }
    private string obtenerDatos(string sDesde, string sHasta, string sNivelEstructura,
                                string sCategoria, string sCualidad, string sClientes,
                                string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato,
                                string sContrato, string sIDEstructura, string sSectores, string sSegmentos,
                                string sComparacionLogica,
                                string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN)
    {
        int           nWidthTabla     = 470; //370+100
        int           nColumnasACrear = 0;
        StringBuilder sb = new StringBuilder();
        StringBuilder sbColgroupTitulo = new StringBuilder();
        StringBuilder sbTitulo         = new StringBuilder();
        StringBuilder sbResultado      = new StringBuilder();
        string        sTablaTitulo     = "";
        string        sTablaContenido  = "";
        string        sTablaResultado  = "";
        decimal       nRatio           = 0;

        string sColor = "";

        try
        {
            sbColgroupTitulo.Append("<colgroup>");
            sbColgroupTitulo.Append("<col style='width:350px;' />");
            sbColgroupTitulo.Append("<col style='width:120px;' />");

            DataSet ds = ConsultasPGE.ObtenerDatosFichaEconomica((int)Session["UsuarioActual"],
                                                                 int.Parse(sDesde), int.Parse(sHasta),
                                                                 (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura),
                                                                 sCategoria,
                                                                 sCualidad,
                                                                 sClientes,
                                                                 sResponsables,
                                                                 sNaturalezas,
                                                                 sHorizontal,
                                                                 sModeloContrato,
                                                                 sContrato,
                                                                 sIDEstructura,
                                                                 sSectores,
                                                                 sSegmentos,
                                                                 (sComparacionLogica == "1")? true:false,
                                                                 sCNP,
                                                                 sCSN1P,
                                                                 sCSN2P,
                                                                 sCSN3P,
                                                                 sCSN4P,
                                                                 sPSN,
                                                                 Session["MONEDA_VDC"].ToString()
                                                                 );

            bool bTitulos = false;
            int  i        = 0;
            foreach (DataRow oFila in ds.Tables[0].Rows)
            {
                if (!bTitulos)
                {
                    sbTitulo.Append("<tr class='TBLINI'>");
                    sbTitulo.Append("<td></td>");
                    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (x == 4)
                        {
                            string[] aNomMeses = Regex.Split(ds.Tables[0].Columns[x].ColumnName, "-");
                            sbTitulo.Append("<td>");
                            sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[0].ToString())));
                            sbTitulo.Append(" - ");
                            sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[1].ToString())));
                            sbTitulo.Append("</td>");
                        }
                        else
                        {
                            sbColgroupTitulo.Append("<col style='width:100px;' />");
                            sbTitulo.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>");
                            nColumnasACrear++;
                        }
                    }
                    sbTitulo.Append("</tr>");
                    bTitulos = true;
                }

                if (oFila["t454_idformula"].ToString() != "3" &&
                    oFila["t454_idformula"].ToString() != "1" &&
                    oFila["t454_idformula"].ToString() != "2" &&
                    oFila["t454_idformula"].ToString() != "8"
                    )
                {
                    switch (oFila["nivel"].ToString())
                    {
                    case "1":
                        sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' ");
                        //sb.Append(" style='display:block; height: 20px' nivel='1' desplegado='1'>");
                        sb.Append(" style='display:table-row; height: 20px' nivel='1' desplegado='1'>");
                        if (oFila["t454_idformula"].ToString() != "5")
                        {
                            sb.Append("<td style='text-align:left;'><IMG class=NSEG1 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'>");
                        }
                        else
                        {
                            sb.Append("<td style='text-align:left;'><IMG class=NSEG1 src='../../../../images/imgSeparador.gif' style='width:9px;'>");
                        }

                        sb.Append("<nobr class='NBR' style='width:320px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                        break;

                    case "2":
                        sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' ");
                        sb.Append(" style='display:none; height: 20px' nivel='2' desplegado='1'>");
                        if (oFila["t454_idformula"].ToString() == "33" || oFila["t454_idformula"].ToString() == "34")
                        {
                            sb.Append("<td style='text-align:left;'><IMG class=NSEG2 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'>");
                        }
                        else
                        {
                            sb.Append("<td style='text-align:left;'><IMG class=NSEG2 src='../../../../images/imgSeparador.gif' style='width:9px;'>");
                        }

                        sb.Append("<nobr class='NBR' style='width:300px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                        break;

                    case "3":
                        sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' ");
                        sb.Append(" style='display:none; height:20px;' nivel='3'>");
                        sb.Append("<td style='text-align:left;'><IMG class=NSEG3 src='../../../../images/imgSeparador.gif'>");
                        sb.Append("<nobr class='NBR' style='width:280px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                        break;
                    }

                    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0)
                        {
                            sColor = "red";
                        }
                        else
                        {
                            sColor = "black";
                        }
                        sb.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>");
                    }
                    sb.Append("</tr>");
                }
                else
                {
                    if (oFila["t454_idformula"].ToString() == "8")
                    {
                        sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height:17px' class='TBLFIN'>");
                        sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>");
                        for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                        {
                            if (decimal.Parse(oFila.ItemArray[x].ToString()) == 0)
                            {
                                nRatio = 0;
                            }
                            else
                            {
                                nRatio = decimal.Parse(ds.Tables[0].Rows[i - 1].ItemArray[x].ToString()) * 100 / decimal.Parse(oFila.ItemArray[x].ToString());
                            }
                            if (nRatio < 0)
                            {
                                sColor = "red";
                            }
                            else
                            {
                                sColor = "black";
                            }
                            sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>");
                        }
                        sbResultado.Append("</tr>");
                    }
                    else
                    {
                        sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>");
                        if (oFila["t454_idformula"].ToString() == "3")
                        {
                            sbResultado.Append("<td style='text-align:left;'><nobr class='NSEG1'>" + oFila["t454_literal"].ToString() + " / </nobr><span style='color:red'>Facturación anticipada</span></td>");
                        }
                        else
                        {
                            sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                        }
                        for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                        {
                            if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0)
                            {
                                sColor = "red";
                            }
                            else
                            {
                                sColor = "black";
                            }
                            sbResultado.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>");
                        }
                        sbResultado.Append("</tr>");
                    }
                }

                i++;
            }
            ds.Dispose();

            nWidthTabla      = nWidthTabla + nColumnasACrear * 100;
            sTablaContenido  = "<table id='tblDatos' class='texto' style='width:" + nWidthTabla.ToString() + "px; ' cellpadding='0'>";
            sTablaContenido += sbColgroupTitulo.ToString();
            sTablaContenido += "</colgroup>";
            sTablaContenido += sb.ToString();
            //sTablaContenido += "</tbody>";
            sTablaContenido += "</table>";

            sTablaTitulo  = "<table id='tblTitulo' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>";
            sTablaTitulo += sbColgroupTitulo.ToString();
            sTablaTitulo += "</colgroup>";
            sTablaTitulo += sbTitulo.ToString();
            sTablaTitulo += "</table>";

            sTablaResultado  = "<table id='tblResultado' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>";
            sTablaResultado += sbColgroupTitulo.ToString();
            sTablaResultado += "</colgroup>";
            sTablaResultado += sbResultado.ToString();
            sTablaResultado += "</table>";

            return("OK@#@" + sTablaTitulo + "@#@" + sTablaContenido + "@#@" + sTablaResultado);
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex));
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            Master.nBotonera = 8;
            Master.FuncionesJavaScript.Add("Javascript/boxover.js?14112017");
            Master.FuncionesJavaScript.Add("Javascript/fechas.js");
            Master.TituloPagina        = "Consulta de mis notas";
            Master.bFuncionesLocales   = true;
            Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click);

            if (!Page.IsCallback)
            {
                if (Request.QueryString["so"] != null)
                {
                    if (Session["GVT_FILTROSSOLICITUDESADM"] != null)
                    {
                        Session["GVT_FILTROSSOLICITUDESADM"] = null;
                    }

                    hdnDesde.Text = (DateTime.Today.AddMonths(-1).Year * 100 + DateTime.Today.AddMonths(-1).Month).ToString();
                    txtDesde.Text = mes[DateTime.Today.AddMonths(-1).Month - 1] + " " + DateTime.Today.AddMonths(-1).Year.ToString();

                    hdnHasta.Text = (DateTime.Today.Year * 100 + DateTime.Today.Month).ToString();
                    txtHasta.Text = mes[DateTime.Today.Month - 1] + " " + DateTime.Today.Year.ToString();
                }
                else
                {
                    string[] aFiltros = (string[])Session["GVT_FILTROSSOLICITUDESADM"];
                    chkEstadoT.Checked = (aFiltros[0].IndexOf("T") > -1) ? true : false;
                    chkEstadoS.Checked = (aFiltros[0].IndexOf("S") > -1) ? true : false;
                    chkEstadoN.Checked = (aFiltros[0].IndexOf("N") > -1) ? true : false;
                    chkEstadoR.Checked = (aFiltros[0].IndexOf("R") > -1) ? true : false;
                    chkEstadoA.Checked = (aFiltros[0].IndexOf("A") > -1) ? true : false;
                    chkEstadoB.Checked = (aFiltros[0].IndexOf("B") > -1) ? true : false;
                    chkEstadoL.Checked = (aFiltros[0].IndexOf("L") > -1) ? true : false;
                    chkEstadoO.Checked = (aFiltros[0].IndexOf("O") > -1) ? true : false;
                    chkEstadoC.Checked = (aFiltros[0].IndexOf("C") > -1) ? true : false;
                    chkEstadoX.Checked = (aFiltros[0].IndexOf("X") > -1) ? true : false;

                    chkMotivo1.Checked = (aFiltros[1].IndexOf("1") > -1) ? true : false;
                    chkMotivo4.Checked = (aFiltros[1].IndexOf("4") > -1) ? true : false;
                    chkMotivo2.Checked = (aFiltros[1].IndexOf("2") > -1) ? true : false;
                    chkMotivo5.Checked = (aFiltros[1].IndexOf("5") > -1) ? true : false;
                    chkMotivo3.Checked = (aFiltros[1].IndexOf("3") > -1) ? true : false;
                    chkMotivo6.Checked = (aFiltros[1].IndexOf("6") > -1) ? true : false;

                    hdnDesde.Text = aFiltros[2].ToString();
                    txtDesde.Text = Fechas.AnnomesAFechaDescLarga(int.Parse(aFiltros[2]));

                    hdnHasta.Text = aFiltros[3].ToString();
                    txtHasta.Text = Fechas.AnnomesAFechaDescLarga(int.Parse(aFiltros[3]));

                    txtConcepto.Text          = aFiltros[4];
                    hdnIdProyectoSubNodo.Text = aFiltros[5];
                    txtReferencia.Text        = aFiltros[6];
                    txtProyecto.Text          = aFiltros[7];

                    hdnIdAprobador.Text    = aFiltros[8];
                    txtAprobador.Text      = aFiltros[9];
                    hdnIdBeneficiario.Text = aFiltros[10];
                    txtBeneficiario.Text   = aFiltros[11];

                    hdnCR.Text  = aFiltros[12];
                    txtCR.Text  = aFiltros[13];
                    hdnCli.Text = aFiltros[14];
                    txtCli.Text = aFiltros[15];
                }

                //1º Se indican (por este orden) la función a la que se va a devolver el resultado
                //   y la función que va a acceder al servidor
                string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
                string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
                //2º Se "registra" la función que va a acceder al servidor.
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
            }
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al cargar la página.", ex);
        }
    }
    public string getDatos()
    {
        string sMoneda = (Session["MONEDA_VDP"] == null) ? Session["MONEDA_PROYECTOSUBNODO"].ToString() : Session["MONEDA_VDP"].ToString();

        if (sMoneda == "")
        {
            sMoneda = "EUR";
        }
        int idPSN = int.Parse(Session["ID_PROYECTOSUBNODO"].ToString());

        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table class='texto' id='tblDatos' style='width: 600px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:40px;' />");
            sb.Append("<col style='width:160px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");


            SqlDataReader dr = SEGMESPROYECTOSUBNODO.ObtenerMesesAbiertosParaBorrado(null, idPSN, sMoneda);

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' bd='' style='height:20px;'>");
                sb.Append("<td style='padding-left:5px; text-align:center;'><input type='checkbox' class='checkTabla' ></td>");//onclick='bCambios=true;'
                sb.Append("<td style='padding-left:5px;' >" + Fechas.AnnomesAFechaDescLarga((int)dr["t325_anomes"]) + "</td>");
                if (decimal.Parse(dr["Consumos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Consumos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Produccion"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Produccion"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Ingresos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Ingresos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Cobros"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + decimal.Parse(dr["Cobros"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'></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 los meses abiertos", ex));
        }
    }
示例#19
0
    private string GetProfesionales(int idPSN, bool bModoLectura)
    {
        StringBuilder sb = new StringBuilder();

        //string sAux = "", sTexto = "";

        sb.Append("<table id='tblDatos'");
        if (bModoLectura)
        {
            sb.Append(" class='texto' style='width:900px;'>");
        }
        else
        {
            sb.Append(" class='texto MANO' style='width:900px;'>");
        }
        sb.Append("<colgroup>");
        sb.Append(" <col style='width:15px;' />");
        sb.Append(" <col style='width:20px;' />");
        sb.Append(" <col style='width:300px;' />");
        sb.Append(" <col style='width:65px;' />");
        sb.Append(" <col style='width:65px;' />");
        sb.Append(" <col style='width:255px;' />");
        sb.Append(" <col style='width:90px;' />");
        sb.Append(" <col style='width:90px;' />");
        sb.Append("</colgroup>");

        SqlDataReader dr = USUARIOPSN_BONOTRANS.ObtenerProfesionales(null, idPSN);

        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t314_idusuario"].ToString() + "' bd='' ");
            sb.Append("tipo='" + dr["tipo"].ToString() + "' ");
            sb.Append("sexo='" + dr["t001_sexo"].ToString() + "'");
            sb.Append("bono='" + dr["t655_idBono"].ToString() + "' ");
            sb.Append("bonoNew='" + dr["t655_idBono"].ToString() + "' ");
            sb.Append("fiab='" + dr["t665_anomesdesde"].ToString() + "' ");
            sb.Append("ffab='" + dr["t665_anomeshasta"].ToString() + "' ");
            sb.Append("desnodo=\"" + Utilidades.escape(dr["t303_denominacion"].ToString()) + "\" ");
            sb.Append("desempresa=\"" + Utilidades.escape(dr["empresa"].ToString()) + "\" ");
            sb.Append("desofi=\"" + Utilidades.escape(dr["T010_DESOFICINA"].ToString()) + "\" ");
            if (bModoLectura)
            {
                sb.Append("style='height:20px' >");
            }
            else
            {
                sb.Append("style='height:20px' >");
            }
            //sb.Append("style='height:20px' onclick='ms(this);'>");

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

            sb.Append("<td><nobr class='NBR W290'>" + dr["profesional"].ToString() + "</nobr></td>");
            sb.Append("<td>" + ((DateTime)dr["t330_falta"]).ToShortDateString() + "</td>");
            sb.Append("<td>" + ((dr["t330_fbaja"] == DBNull.Value) ? "" : ((DateTime)dr["t330_fbaja"]).ToShortDateString()) + "</td>");
            if (bModoLectura)
            {
                sb.Append("<td><nobr class='NBR W200' >" + dr["t655_denominacion"].ToString() + "</nobr></td>");
            }
            else
            {
                sb.Append("<td style='vertical-align:super'><nobr class='NBR W200 MA' ondblclick='getBono(this)'>" + dr["t655_denominacion"].ToString() + "</nobr></td>");
            }

            if (dr["t665_anomesdesde"].ToString() != "")
            {
                sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t665_anomesdesde"].ToString())) + "</td>");
            }
            else
            {
                sb.Append("<td></td>");
            }

            if (dr["t665_anomeshasta"].ToString() != "")
            {
                sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t665_anomeshasta"].ToString())) + "</td>");
            }
            else
            {
                sb.Append("<td></td>");
            }
            //if (dr["t655_idBono"].ToString() != "")
            //{
            //    sTexto = dr["t665_comentario"].ToString();
            //    sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "</br>").Replace((char)34, (char)39);
            //    sTexto = Utilidades.unescape(sTexto);
            //    //sb.Append("<td onmouseover='TTip()'><nobr class='NBR' style='width:103px'>" + dr["t665_comentario"].ToString() + "</nobr></td>");
            //    sb.Append("<td><image style='width:16px;' class='MA' ondblclick='cargarObserva(this.parentNode.parentNode);' src='../../../../images/imgComentario.gif'></image></td>");
            //    sb.Append("<td><nobr class='NBR' style='noWrap:true; width:83px; height:16px' margin-left:5px; ");
            //    if (dr["t665_comentario"].ToString() != "")
            //        sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[</br>" + sTexto + "] hideselects=[off]\" ");
            //    sb.Append(">" + Utilidades.escape(dr["t665_comentario"].ToString()) + "</nobr></td>");
            //}
            //else
            sb.Append("</tr>");
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</table>");
        strTablaHtml = sb.ToString();

        return("OK@#@" + sb.ToString());
    }
示例#20
0
    private void cargarNodos()
    {
        try
        {
            StringBuilder sb       = new StringBuilder();
            SqlDataReader dr       = NODO.CatalogoGastosFinancieros();
            string        sTootTip = "";

            sb.Append("<table id='tblNodos' class='texto MANO' style='width: 970px;'>");
            sb.Append("<colgroup><col style='width:50px;' /><col style='width:70px;' /><col style='width:380px;' /><col style='width:340px;' /><col style='width:40px; text-align:right; padding-right:2px;' /><col style='width:90px;  text-align:center;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sTootTip = "";
                if (Utilidades.EstructuraActiva("SN4"))
                {
                    sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO4) + ":</label> " + dr["t394_denominacion"].ToString() + "<br>";
                }
                if (Utilidades.EstructuraActiva("SN3"))
                {
                    sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO3) + ":</label> " + dr["t393_denominacion"].ToString() + "<br>";
                }
                if (Utilidades.EstructuraActiva("SN2"))
                {
                    sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO2) + ":</label> " + dr["t392_denominacion"].ToString() + "<br>";
                }
                if (Utilidades.EstructuraActiva("SN1"))
                {
                    sTootTip += "<label style='width:60px'>" + Estructura.getDefCorta(Estructura.sTipoElem.SUPERNODO1) + ":</label> " + dr["t391_denominacion"].ToString();
                }

                sb.Append("<tr id='" + dr["t303_idnodo"].ToString() + "' style='height:20px;' onclick=\"ms(this);AccionBotonera('historial', 'H');\">");
                if ((bool)dr["t303_defectocalcularGF"])
                {
                    sb.Append("<td style='text-align:center;'><input type='checkbox' class='check' checked onclick='setEstadistica()'></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;'><input type='checkbox' class='check' onclick='setEstadistica()'></td>");
                }
                sb.Append("<td style='text-align:right;padding-right:3px'>" + dr["t303_idnodo"].ToString() + "</td>");
                sb.Append("<td style='padding-left:8px'><div class='NBR W340' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle'>  Estructura] body=[" + sTootTip + "] hideselects=[off]\">" + dr["t303_denominacion"].ToString() + "</div></td>");
                sb.Append("<td><div class='NBR W330'>" + dr["t313_denominacion"].ToString() + "</div></td>");
                sb.Append("<td>" + double.Parse(dr["t303_interesGF"].ToString()).ToString("N") + "</td>");
                if (dr["t469_anomes"].ToString() != "")
                {
                    sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga((int)dr["t469_anomes"]) + "</td>");
                }
                else
                {
                    sb.Append("<td></td>");
                }
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            strTablaHTML = sb.ToString();
        }
        catch (Exception ex)
        {
            Master.sErrores += Errores.mostrarError("Error al cargar los nodos", ex);
        }
    }
    private void obtenerGrafico(int iAnoMes)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            string sAux, sAnoMesAux, sAnoMesIni, sAnoMesFin;
            int    iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), iPropias = 0, iAjenas = 0, nOcupacion = 0, nOcupacionMax = 0, iLargura = 0, iLarguraAjena = 0, iAnoMesAux, iAnoMesFin;

            sAnoMesIni = iAnoMesIni.ToString();
            DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4));
            iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1);
            sAnoMesFin = iAnoMesFin.ToString();
            DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4));

            sb.Append("<table id='tblDatos' class='texto MANO' style='WIDTH: 960px; table-layout:fixed;' cellSpacing='0' border='0'>");
            sb.Append("<colgroup>");
            sb.Append(" <col style='width:90px;'/>");
            sb.Append(" <col style=\"width:870px;;\" />");
            sb.Append("</colgroup>");
            sb.Append("<tr style=\"height:20px;cursor:default;\">");
            sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'>&nbsp;</td>");
            sb.Append("<td>&nbsp;</td></tr>");

            #region Cargo array de 13 meses con el nº de conexiones propias por mes
            ArrayList slLista = new ArrayList();
            iAnoMesAux = iAnoMesIni;
            for (int iFila = 0; iFila < 13; iFila++)
            {
                sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux);
                string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() };
                slLista.Add(aDatosAux);
                iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1);
            }
            SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo);
            while (dr.Read())
            {
                nOcupacion = int.Parse(dr["npropias"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[1] = dr["npropias"].ToString();
                        break;
                    }
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion
            #region Cargo array de 13 meses con el nº de conexiones ajenas por mes
            SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo);
            while (dr2.Read())
            {
                nOcupacion = int.Parse(dr2["najenas"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[2] = dr2["najenas"].ToString();
                        break;
                    }
                }
            }
            dr2.Close();
            dr2.Dispose();
            #endregion
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                sAux       = ((string[])slLista[iFila])[0];//Añomes en formato corto
                iPropias   = int.Parse(((string[])slLista[iFila])[1]);
                iAjenas    = int.Parse(((string[])slLista[iFila])[2]);
                sAnoMesAux = ((string[])slLista[iFila])[3];//Añomes en formato numerico

                nOcupacion = iPropias;
                //if (iAjenas > iPropias)
                //    nOcupacion = iAjenas;
                iLargura      = flGetWidth(nOcupacion, nOcupacionMax);
                iLarguraAjena = flGetWidth(iAjenas, nOcupacionMax);
                sb.Append("<tr id=" + sAnoMesAux + " iPropias=" + iPropias.ToString() + " iAjenas=" + iAjenas.ToString() + " style=\"height:20px; background-color:White;\" onclick='buscar(this.id)'>");
                sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'>" + sAux + "</td>");
                sb.Append("<td style=\"background-image:url('../../../Images/imgGanttBG175.gif')\">");
                if (iLargura != 0 || iLarguraAjena != 0)
                {
                    sb.Append("<span style='height:18px;noWrap:true;'>");
                    sb.Append("<img src='../../../Images/imgGanttR.gif' style='vertical-align:middle;height:12px;width:" + iLargura.ToString() + "px;margin:0px;border:0px;display:block;' />");
                    sb.Append("<img src='../../../Images/imgAR.gif' style='vertical-align:middle;height:5px;width:" + iLarguraAjena.ToString() + "px;margin:0px;border:0px;display:block;' />");
                    sb.Append("</span>");
                    sb.Append("<label style='margin-left:10px;color:red;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iPropias.ToString() + "</label>");
                    sb.Append("<label style='margin-left:20px;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iAjenas.ToString() + "</label>");
                }
                else
                {
                    sb.Append("&nbsp;");
                }
                sb.Append("</td></tr>");
            }
            sb.Append("<tr style=\"height:20px;\">");
            sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black; border-top-style:solid; border-top-width:2px; border-top-color: Black;'>&nbsp;</td>");
            sb.Append("<td style=\" border-top-style:solid; border-top-width:2px; border-top-color: Black;\">&nbsp;</td></tr>");
            sb.Append("</table>");

            strTablaHTMLGrafico = sb.ToString();
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad propio.", ex);
        }
    }
    public void ObtenerAlertas()
    {
        StringBuilder sb = new StringBuilder();

        #region Cabecera tabla HTML
        sb.Append(@"<table id='tblOtrasAlertas' style='width:500px;' border='1'>
            <colgroup>
                <col style='width: 215px;' />
                <col style='width: 25px;' />
                <col style='width: 100px;' />
                <col style='width: 120px;' />
                <col style='width: 40px;' />
            </colgroup>");
        #endregion

        DataSet ds = PSNALERTAS.ObtenerCatalogoByDialogo(int.Parse(hdnIdDialogo.Value), int.Parse(Session["UsuarioActual"].ToString()));
        int     i  = 0;
        foreach (DataRow oFila in ds.Tables[0].Rows)
        {
            if (i == 0)
            {
                txtAsunto.Text         = oFila["t820_denominacion"].ToString();
                chkHabilitada.Checked  = (bool)oFila["t830_habilitada"];
                txtIniStby.Text        = (oFila["t830_inistandby"] != DBNull.Value) ? Fechas.AnnomesAFechaDescLarga((int)oFila["t830_inistandby"]) : "";
                txtFinStby.Text        = (oFila["t830_finstandby"] != DBNull.Value) ? Fechas.AnnomesAFechaDescLarga((int)oFila["t830_finstandby"]) : "";
                hdnGrupoOC.Value       = oFila["grupoOC"].ToString();
                this.hdnTipoOCFA.Value = oFila["t820_tipo"].ToString();

                ObtenerMotivos(this.hdnTipoOCFA.Value);

                this.hdnMotivoOCFA.Value = oFila["t840_idmotivo"].ToString();
                if (this.hdnMotivoOCFA.Value == "" && (hdnGrupoOC.Value == "1"))
                {
                    //Si el dialogo es de OC o FA y no tiene asignado motivo busco si existe un dialogo anterior cerrado del que heredar el motivo por defecto
                    this.hdnMotivoOCFA.Value = PSNALERTAS.MotivoCierreDefecto(null, int.Parse(oFila["t305_idproyectosubnodo"].ToString()), int.Parse(oFila["t820_idalerta"].ToString()));
                }
                cboMotivo.SelectedValue = this.hdnMotivoOCFA.Value;

                if ((bool)oFila["t830_habilitada"])
                {
                    txtIniStby.Style.Add("cursor", "pointer");
                    txtIniStby.Attributes.Add("onclick", "getPeriodo(this.parentNode.parentNode)");
                    txtFinStby.Style.Add("cursor", "pointer");
                    txtFinStby.Attributes.Add("onclick", "getPeriodo(this.parentNode.parentNode)");
                }
                chkSeguimiento.Checked = (oFila["t830_txtseguimiento"].ToString() != "") ? true : false;
                imgSegAlertaActual.Style.Add("visibility", (oFila["t830_txtseguimiento"].ToString() != "") ? "visible" : "hidden");

                trAlertaActual.Attributes.Add("idPSN", oFila["t305_idproyectosubnodo"].ToString());
                trAlertaActual.Attributes.Add("idAlerta", oFila["t820_idalerta"].ToString());
                trAlertaActual.Attributes.Add("inistandby", oFila["t830_inistandby"].ToString());
                trAlertaActual.Attributes.Add("finstandby", oFila["t830_finstandby"].ToString());
                trAlertaActual.Attributes.Add("seg", Utilidades.escape(oFila["t830_txtseguimiento"].ToString()));

                sTooltipInfoProy  = "<label style=width:80px;>Proyecto:</label>" + ((int)ds.Tables[1].Rows[0]["t301_idproyecto"]).ToString("#,###") + " - " + ds.Tables[1].Rows[0]["t301_denominacion"].ToString();
                sTooltipInfoProy += "<br><label style=width:80px;>Responsable:</label>" + ds.Tables[1].Rows[0]["Responsable"].ToString();
                sTooltipInfoProy += "<br><label style=width:80px;>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + ds.Tables[1].Rows[0]["t303_denominacion"].ToString();
                sTooltipInfoProy += "<br><label style=width:80px;>Cliente:</label>" + ds.Tables[1].Rows[0]["t302_denominacion"].ToString();

                sTooltipInfoProy = Utilidades.escape(sTooltipInfoProy);
            }
            else
            {
                sb.Append("<tr bd='' idPSN='" + oFila["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("idAlerta='" + oFila["t820_idalerta"].ToString() + "' ");
                sb.Append("a=" + (((bool)oFila["t830_habilitada"]) ? "1" : "0") + " ");
                sb.Append("inistandby='" + oFila["t830_inistandby"].ToString() + "' ");
                sb.Append("finstandby='" + oFila["t830_finstandby"].ToString() + "' ");
                sb.Append("seg=\"" + Utilidades.escape(oFila["t830_txtseguimiento"].ToString()) + "\">");

                sb.Append("<td style='text-align:left;'><nobr class='NBR W200' onmouseover='TTip(event)'>" + oFila["t820_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><input type='checkbox' class='check' " + (((bool)oFila["t830_habilitada"]) ? "checked" : "") + " onclick='setHabilitada(this);' style='cursor:pointer;' /></td>");
                //if ((bool)oFila["t830_habilitada"])
                //{
                //    sb.Append("<td style='cursor:pointer;' onclick='getPeriodo(this.parentNode)'>" + ((oFila["t830_inistandby"] != DBNull.Value) ? Fechas.AnnomesAFechaDescLarga((int)oFila["t830_inistandby"]) : "") + "</td>");
                //    sb.Append("<td style='cursor:pointer;' onclick='getPeriodo(this.parentNode)'>" + ((oFila["t830_finstandby"] != DBNull.Value) ? Fechas.AnnomesAFechaDescLarga((int)oFila["t830_finstandby"]) : "") + "</td>");
                //}
                //else
                //{
                sb.Append("<td style='text-align:left;'></td>");
                sb.Append("<td style='text-align:left;'></td>");
                //}
                sb.Append("<td>");
                sb.Append("<input type='checkbox' class='check' " + ((oFila["t830_txtseguimiento"].ToString() != "") ? "checked" : "") + " onclick='setSeguimiento()' style='cursor:pointer;' />");
                sb.Append("<img src='../../../../images/imgSeguimiento.png' onclick='ModificarSeguimiento(this)' style='cursor:pointer;vertical-align:middle; margin-left:2px; border: 0px;visibility:" + ((oFila["t830_txtseguimiento"].ToString() != "") ? "visible" : "hidden") + "; width:16px; height:16px;' />");
                sb.Append("</td>");

                sb.Append("</tr>");
            }
            i++;
        }
        ds.Dispose();

        sb.Append("</table>");
        strTablaHTMLAlertas = sb.ToString();
    }
    private string getPreferencia(string sIdPrefUsuario)
    {
        StringBuilder sb = new StringBuilder();
        int           idPrefUsuario = 0, nConceptoEje = 0;
        int           nOpcion = 1;

        try
        {
            SqlDataReader dr = PREFERENCIAUSUARIO.Obtener(null, (sIdPrefUsuario == "") ? null : (int?)int.Parse(sIdPrefUsuario),
                                                          (int)Session["IDFICEPI_PC_ACTUAL"], 13);
            if (dr.Read())
            {
                bHayPreferencia = true;

                sb.Append(dr["t462_idPrefUsuario"].ToString() + "@#@"); //1
                sb.Append(dr["Estado"].ToString() + "@#@");             //2
                sb.Append(dr["categoria"].ToString() + "@#@");          //3
                sb.Append(dr["cualidad"].ToString() + "@#@");           //4
                sb.Append(dr["CerrarAuto"].ToString() + "@#@");         //5
                sb.Append(dr["ActuAuto"].ToString() + "@#@");           //6
                sb.Append(dr["OperadorLogico"].ToString() + "@#@");     //7
                sb.Append(dr["OpcionPeriodo"].ToString() + "@#@");      //8
                idPrefUsuario    = int.Parse(dr["t462_idPrefUsuario"].ToString());
                nUtilidadPeriodo = int.Parse(dr["OpcionPeriodo"].ToString());
            }
            dr.Close();
            //dr.Dispose();

            #region Fechas
            switch (nUtilidadPeriodo)
            {
            case 1:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                    //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@");  //10
                sb.Append((DateTime.Now.Year * 100 + 12).ToString() + "@#@");                   //11
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 12) + "@#@"); //12
                break;

            case 2:
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //10
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //11
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12
                break;

            case 3:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                                    //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + 1) + "@#@");                  //10
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //11
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12
                break;

            case 4:
                sb.Append("199001" + "@#@");                                                                    //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@");                                       //10
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");                   //11
                sb.Append(Fechas.AnnomesAFechaDescLarga(DateTime.Now.Year * 100 + DateTime.Now.Month) + "@#@"); //12
                break;

            case 5:
                sb.Append("199001" + "@#@");                              //9
                sb.Append(Fechas.AnnomesAFechaDescLarga(199001) + "@#@"); //10
                sb.Append("207812" + "@#@");                              //11
                sb.Append(Fechas.AnnomesAFechaDescLarga(207812) + "@#@"); //12
                break;

            default:
                sb.Append((DateTime.Now.Year * 100 + 1).ToString() + "@#@");                         //9
                sb.Append(mes[0] + " " + DateTime.Now.Year.ToString() + "@#@");                      //10
                sb.Append((DateTime.Now.Year * 100 + DateTime.Now.Month).ToString() + "@#@");        //11
                sb.Append(mes[DateTime.Now.Month - 1] + " " + DateTime.Now.Year.ToString() + "@#@"); //12
                break;
            }
            #endregion

            #region HTML, IDs
            int      nNivelMinimo = 0;
            bool     bAmbito      = false;
            string[] aID          = null;
            dr = PREFUSUMULTIVALOR.Obtener(null, idPrefUsuario);
            while (dr.Read())
            {
                switch (int.Parse(dr["t441_concepto"].ToString()))
                {
                case 1:
                    if (!bAmbito)
                    {
                        bAmbito      = true;
                        nNivelMinimo = 6;
                    }
                    aID = Regex.Split(dr["t441_valor"].ToString(), "-");
                    if (int.Parse(aID[0]) < nNivelMinimo)
                    {
                        nNivelMinimo = int.Parse(aID[0]);
                    }

                    if (strIDsAmbito != "")
                    {
                        strIDsAmbito += ",";
                    }
                    strIDsAmbito += aID[1];

                    aSubnodos      = PREFUSUMULTIVALOR.SelectSubnodosAmbito(null, aSubnodos, int.Parse(aID[0]), int.Parse(aID[1]));
                    strHTMLAmbito += "<tr id='" + aID[1] + "' tipo='" + aID[0] + "' style='height:16px;' idAux='";
                    strHTMLAmbito += SUBNODO.fgGetCadenaID(aID[0], aID[1]);
                    strHTMLAmbito += "'><td>";

                    switch (int.Parse(aID[0]))
                    {
                    case 1: strHTMLAmbito += "<img src='../../../../images/imgSN4.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;

                    case 2: strHTMLAmbito += "<img src='../../../../images/imgSN3.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;

                    case 3: strHTMLAmbito += "<img src='../../../../images/imgSN2.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;

                    case 4: strHTMLAmbito += "<img src='../../../../images/imgSN1.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;

                    case 5: strHTMLAmbito += "<img src='../../../../images/imgNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;

                    case 6: strHTMLAmbito += "<img src='../../../../images/imgSubNodo.gif' style='margin-left:2px;margin-right:4px;vertical-align:middle;border: 0px;'>"; break;
                    }

                    strHTMLAmbito += "<nobr class='NBR W230'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 2:
                    if (strIDsResponsable != "")
                    {
                        strIDsResponsable += ",";
                    }
                    strIDsResponsable  += dr["t441_valor"].ToString();
                    strHTMLResponsable += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 3:
                    if (strIDsNaturaleza != "")
                    {
                        strIDsNaturaleza += ",";
                    }
                    strIDsNaturaleza  += dr["t441_valor"].ToString();
                    strHTMLNaturaleza += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 4:
                    if (strIDsModeloCon != "")
                    {
                        strIDsModeloCon += ",";
                    }
                    strIDsModeloCon  += dr["t441_valor"].ToString();
                    strHTMLModeloCon += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 5:
                    if (strIDsHorizontal != "")
                    {
                        strIDsHorizontal += ",";
                    }
                    strIDsHorizontal  += dr["t441_valor"].ToString();
                    strHTMLHorizontal += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 6: if (strIDsSector != "")
                    {
                        strIDsSector += ",";
                    }
                    strIDsSector  += dr["t441_valor"].ToString();
                    strHTMLSector += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 7: if (strIDsSegmento != "")
                    {
                        strIDsSegmento += ",";
                    }
                    strIDsSegmento  += dr["t441_valor"].ToString();
                    strHTMLSegmento += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 8:
                    if (strIDsCliente != "")
                    {
                        strIDsCliente += ",";
                    }
                    strIDsCliente  += dr["t441_valor"].ToString();
                    strHTMLCliente += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 9:
                    if (strIDsContrato != "")
                    {
                        strIDsContrato += ",";
                    }
                    strIDsContrato  += dr["t441_valor"].ToString();
                    strHTMLContrato += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 10:
                    if (strIDsQn != "")
                    {
                        strIDsQn += ",";
                    }
                    strIDsQn  += dr["t441_valor"].ToString();
                    strHTMLQn += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 11:
                    if (strIDsQ1 != "")
                    {
                        strIDsQ1 += ",";
                    }
                    strIDsQ1  += dr["t441_valor"].ToString();
                    strHTMLQ1 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 12:
                    if (strIDsQ2 != "")
                    {
                        strIDsQ2 += ",";
                    }
                    strIDsQ2  += dr["t441_valor"].ToString();
                    strHTMLQ2 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 13:
                    if (strIDsQ3 != "")
                    {
                        strIDsQ3 += ",";
                    }
                    strIDsQ3  += dr["t441_valor"].ToString();
                    strHTMLQ3 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 14:
                    if (strIDsQ4 != "")
                    {
                        strIDsQ4 += ",";
                    }
                    strIDsQ4  += dr["t441_valor"].ToString();
                    strHTMLQ4 += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                //case 15://Columnas a sacar
                //    if (strMagnitudes != "") strMagnitudes += "///";
                //    strMagnitudes += dr["t441_valor"].ToString() +"##"+ dr["t441_denominacion"].ToString();
                //    break;
                case 16:
                    aID = Regex.Split(dr["t441_valor"].ToString(), "-");
                    if (strIDsProyecto != "")
                    {
                        strIDsProyecto += ",";
                    }
                    strIDsProyecto += aID[0];

                    strHTMLProyecto += "<tr id='" + aID[0] + "' style='height:16px;' ";
                    strHTMLProyecto += "categoria='" + aID[1] + "' ";
                    strHTMLProyecto += "cualidad='" + aID[2] + "' ";
                    strHTMLProyecto += "estado='" + aID[3] + "'><td>";

                    if (aID[1] == "P")
                    {
                        strHTMLProyecto += "<img src='../../../../images/imgProducto.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>";
                    }
                    else
                    {
                        strHTMLProyecto += "<img src='../../../../images/imgServicio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>";
                    }

                    switch (aID[2])
                    {
                    case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoContratante.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;

                    case "J": strHTMLProyecto += "<img src='../../../../images/imgIconoRepJor.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;

                    case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoRepPrecio.gif' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;
                    }

                    switch (aID[3])
                    {
                    case "A": strHTMLProyecto += "<img src='../../../../images/imgIconoProyAbierto.gif' title='Proyecto abierto' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;

                    case "C": strHTMLProyecto += "<img src='../../../../images/imgIconoProyCerrado.gif' title='Proyecto cerrado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;

                    case "H": strHTMLProyecto += "<img src='../../../../images/imgIconoProyHistorico.gif' title='Proyecto histórico' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;

                    case "P": strHTMLProyecto += "<img src='../../../../images/imgIconoProyPresup.gif' title='Proyecto presupuestado' style='margin-left:2px;margin-right:2px;vertical-align:middle;border: 0px;'>"; break;
                    }

                    strHTMLProyecto += "<nobr class='NBR W190' style='margin-left:10px;' onmouseover='TTip(event)'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;

                case 17:
                    if (strIDsOrgComercial != "")
                    {
                        strIDsOrgComercial += ",";
                    }
                    strIDsOrgComercial  += dr["t441_valor"].ToString();
                    strHTMLOrgComercial += "<tr id='" + dr["t441_valor"].ToString() + "' style='height:16px;'><td><nobr class='NBR W260'>" + dr["t441_denominacion"].ToString() + "</nobr></td></tr>";
                    break;
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion

            if (nConceptoEje >= 7)
            {
                nOpcion = nConceptoEje;
            }
            else
            {
                if (nNivelMinimo != 0)
                {
                    nOpcion = nNivelMinimo;
                }
                else
                {
                    nOpcion = nEstructuraMinima;
                }
            }

            for (int i = 0; i < aSubnodos.Count; i++)
            {
                if (i > 0)
                {
                    sSubnodos += ",";
                }
                sSubnodos += aSubnodos[i];
            }

            sb.Append(nOpcion + "@#@");             //13
            sb.Append(sSubnodos + "@#@");           //14
            sb.Append(strHTMLAmbito + "@#@");       //15
            sb.Append(strIDsAmbito + "@#@");        //16
            sb.Append(strHTMLResponsable + "@#@");  //17
            sb.Append(strIDsResponsable + "@#@");   //18
            sb.Append(strHTMLNaturaleza + "@#@");   //19
            sb.Append(strIDsNaturaleza + "@#@");    //20
            sb.Append(strHTMLModeloCon + "@#@");    //21
            sb.Append(strIDsModeloCon + "@#@");     //22
            sb.Append(strHTMLHorizontal + "@#@");   //23
            sb.Append(strIDsHorizontal + "@#@");    //24
            sb.Append(strHTMLSector + "@#@");       //25
            sb.Append(strIDsSector + "@#@");        //26
            sb.Append(strHTMLSegmento + "@#@");     //27
            sb.Append(strIDsSegmento + "@#@");      //28
            sb.Append(strHTMLCliente + "@#@");      //29
            sb.Append(strIDsCliente + "@#@");       //30
            sb.Append(strHTMLContrato + "@#@");     //31
            sb.Append(strIDsContrato + "@#@");      //32
            sb.Append(strHTMLQn + "@#@");           //33
            sb.Append(strIDsQn + "@#@");            //34
            sb.Append(strHTMLQ1 + "@#@");           //35
            sb.Append(strIDsQ1 + "@#@");            //36
            sb.Append(strHTMLQ2 + "@#@");           //37
            sb.Append(strIDsQ2 + "@#@");            //38
            sb.Append(strHTMLQ3 + "@#@");           //39
            sb.Append(strIDsQ3 + "@#@");            //40
            sb.Append(strHTMLQ4 + "@#@");           //41
            sb.Append(strIDsQ4 + "@#@");            //42
            sb.Append(strMagnitudes + "@#@");       //43
            sb.Append(strHTMLProyecto + "@#@");     //44
            sb.Append(strIDsProyecto + "@#@");      //45
            sb.Append(strHTMLOrgComercial + "@#@"); //46
            sb.Append(strIDsOrgComercial + "@#@");  //47

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la preferencia.", ex, false));
        }
    }
    public void CorreoDestinatariosUSA(int idcomunicacion, byte byteNueva)
    {
        string sVigencia = "";
        string sEstado   = "";
        string sTexto    = "";
        int    iFecha    = 0;

        ArrayList     aListCorreo = new ArrayList();
        StringBuilder sb          = new StringBuilder();
//        string sMensaje = "";
        string sAsunto = "";
        string sTO;

        ESPACIOCOMUNICACION oESPACIOCOMUNICACION = ESPACIOCOMUNICACION.Select(null, idcomunicacion);

        //if (byteNueva == 1) sAsunto = "Creación de un nuevo aviso para el proyecto '" + oESPACIOCOMUNICACION.t301_denominacion + "'.";
        //else sAsunto = "Modificación de un aviso del proyecto '" + oESPACIOCOMUNICACION.t301_denominacion + "'.";
        sAsunto = "Espacio de comunicación.";
        sb.Append(@"<BR>SUPER le informa de la ");

        if (byteNueva == 1)
        {
            sb.Append(@"creación de la siguiente comunicación:</BR></BR></BR>");                 // por parte del usuario: " + Session["DES_EMPLEADO_ENTRADA"] + " en el proyecto: '" + oESPACIOCOMUNICACION.t301_denominacion + "'.");
        }
        else
        {
            sb.Append(@"modificación de la siguiente comunicación:</BR></BR></BR>");  // por parte del usuario: " + Session["DES_EMPLEADO_ENTRADA"] + " en el proyecto: '" + oESPACIOCOMUNICACION.t301_denominacion + "'.");
        }
        //sb.Append(@"<BR><BR>Los datos de la comunicación son:<BR><BR><BR>");

        sb.Append("<table id='tblContenido' style='WIDTH:1200px' class='texto' border='0' cellspacing='0' cellpadding='0'>");
        sb.Append("<tr><td style='width:120px; vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Proyecto:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(int.Parse(oESPACIOCOMUNICACION.t301_idproyecto.ToString()).ToString("###,###") + " - " + oESPACIOCOMUNICACION.t301_denominacion + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Autor:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(oESPACIOCOMUNICACION.autor + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Fecha de aviso:</LABEL>");
        sb.Append("</td><td>");
        sb.Append(oESPACIOCOMUNICACION.t639_fechacom.ToShortDateString() + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Partidas contables:</LABEL>");
        sb.Append("</td><td>");

        string sPartidasConta = "";

        if ((bool)oESPACIOCOMUNICACION.t639_consumo)
        {
            sPartidasConta += "Consumo, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_produccion)
        {
            sPartidasConta += "Producción, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_facturacion)
        {
            sPartidasConta += "Facturación, ";
        }
        if ((bool)oESPACIOCOMUNICACION.t639_facturacion)
        {
            sPartidasConta += "Otros, ";
        }

        if (sPartidasConta.Length > 0)
        {
            sPartidasConta = sPartidasConta.Substring(0, sPartidasConta.Length - 2);
        }

        sb.Append(sPartidasConta + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Vigencia:</LABEL>");
        sb.Append("</td><td style='vertical-align:top;'>");

        if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto)
        {
            sVigencia = "Todo el proyecto";
        }
        else
        {
            sVigencia = Fechas.AnnomesAFechaDescLarga((int)oESPACIOCOMUNICACION.t639_vigenciadesde) + " - " + Fechas.AnnomesAFechaDescLarga((int)oESPACIOCOMUNICACION.t639_vigenciahasta);
        }

        sb.Append(sVigencia + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Estado:</LABEL>");
        sb.Append("</td><td>");

        iFecha = DateTime.Now.Year * 100 + DateTime.Now.Month;

        if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto)
        {
            sEstado = "Abierto";
        }
        else if (iFecha >= int.Parse(oESPACIOCOMUNICACION.t639_vigenciadesde.ToString()) && iFecha <= int.Parse(oESPACIOCOMUNICACION.t639_vigenciahasta.ToString()))
        {
            sEstado = "Abierto";
        }
        else
        {
            sEstado = "Cerrado";
        }

        sb.Append(sEstado + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("<tr><td style='vertical-align:top;'>");
        sb.Append("<LABEL class='TITULO'>Descripción:</LABEL>");
        sb.Append("</td><td>");
        sTexto = oESPACIOCOMUNICACION.t639_descripcion;

        sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39);

        sb.Append(sTexto + "</br></br>");
        sb.Append("</td></tr>");

        sb.Append("</table>");
        aCorreoUSA = Regex.Split(sCorreoUSA, ",");

        for (int j = 0; j < aCorreoUSA.Length; j++)
        {
            if (aCorreoUSA[j] == "")
            {
                continue;
            }

            string[] aID = Regex.Split(aCorreoUSA[j], "/");

            sTO    = aID[0];
            sTexto = sb.ToString();

            string[] aMail = { sAsunto, sTexto, sTO };
            if (sTO != "")
            {
                aListCorreo.Add(aMail);
            }
        }

        Correo.EnviarCorreos(aListCorreo);
    }
示例#25
0
    private string obtenerAgenda(int iPSN)
    {
        try
        {
            string sNumPE = "";
            string sDesc = "";
            string sUSA = "N", sProyUSA = "N", sProyExternalizable = "N";

            SqlDataReader dr = PROYECTO.fgGetDatosProy(iPSN);
            if (dr.Read())
            {
                sNumPE = int.Parse(dr["t301_idproyecto"].ToString()).ToString("###,###");
                sDesc  = dr["t301_denominacion"].ToString();
                if (dr["t305_cualidad"].ToString() == "C" && dr["t301_estado"].ToString() == "A" && (Session["UsuarioActual"].ToString() == dr["t314_idusuario_SAT"].ToString() || Session["UsuarioActual"].ToString() == dr["t314_idusuario_SAA"].ToString()))
                {
                    sUSA = "S";
                }
                if (dr["t314_idusuario_SAT"].ToString() != "0" || dr["t314_idusuario_SAA"].ToString() != "0")
                {
                    sProyUSA = "S";
                }
                sProyExternalizable = ((bool)dr["t301_externalizable"]) ? "S" : "N";
            }

            StringBuilder sb = new StringBuilder();
            dr = AGENDAUSA.Catalogo(int.Parse(dr["t301_idproyecto"].ToString()));

            sb.Append("<table id='tblDatos' class='texto MA' style='WIDTH: 940px; ' mantenimiento='1'>");
            sb.Append("<colgroup><col style='width:10px;' /><col style='width:130px;' /><col style='width:200px;' /><col style='width:200px;' /><col style='width:200px;' /><col style='width:199px;' /><col style='width:1px;' /></colgroup>");
            sb.Append("<tbody id='tbodyDatos'>");
            int i = 0;
            while (dr.Read())
            {
                if (i == 0)
                {
                    hdnMesDesde.Text = dr["t641_anomes"].ToString();
                }

                sb.Append("<tr id='" + dr["t641_idagendausa"].ToString() + "' bd='' onclick='mm(event)' onDblClick='detalle(this);' ");
                sb.Append(" anomes='" + dr["t641_anomes"].ToString());

                sb.Append("' style='height:20px'>");
                sb.Append("<td><img src='../../../images/imgFN.gif'></td>");

                sb.Append("<td style='padding-left:5px;'>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t641_anomes"].ToString())) + "</td>");

                sTexto = dr["t641_consumos"].ToString();
                sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br style='mso-data-placement:same-cell;'>").Replace(((char)34).ToString(), "&#34;");
                // El estilo mso-data-placement:same-cell hace que los br no generen celdas nuevas al exportar al excel.
                sb.Append("<td syle='text-align:left;'><nobr class='NBR W190' onDblClick='detalle(this.parentNode.parentNode);' style='noWrap:true;;height:16px;' ");
                if (dr["t641_consumos"].ToString() != "")
                {
                    sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[" + sTexto + "] hideselects=[off]\" ");
                }
                sb.Append(">" + sTexto + "</nobr></td>");

                sTexto = dr["t641_produccion"].ToString();
                sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br style='mso-data-placement:same-cell;'>").Replace(((char)34).ToString(), "&#34;");
                sb.Append("<td><nobr class='NBR W190' onDblClick='detalle(this.parentNode.parentNode);' style='noWrap:true;height:16px;' ");
                if (dr["t641_produccion"].ToString() != "")
                {
                    sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[" + sTexto + "] hideselects=[off]\" ");
                }
                sb.Append(">" + sTexto + "</nobr></td>");

                sTexto = dr["t641_facturacion"].ToString();
                sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br style='mso-data-placement:same-cell;'>").Replace(((char)34).ToString(), "&#34;");
                sb.Append("<td><nobr class='NBR W190' onDblClick='detalle(this.parentNode.parentNode);' style='noWrap:true;;height:16px;' ");
                if (dr["t641_facturacion"].ToString() != "")
                {
                    sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[" + sTexto + "] hideselects=[off]\" ");
                }
                sb.Append(">" + sTexto + "</nobr></td>");

                sTexto = dr["t641_otros"].ToString();
                sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br style='mso-data-placement:same-cell;'>").Replace(((char)34).ToString(), "&#34;");
                sb.Append("<td><nobr class='NBR W190' onDblClick='detalle(this.parentNode.parentNode);' style='noWrap:true;;height:16px;' ");
                if (dr["t641_otros"].ToString() != "")
                {
                    sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[" + sTexto + "] hideselects=[off]\" ");
                }
                sb.Append(">" + sTexto + "</nobr></td>");

                sb.Append("<td style='visibility:hidden;'>" + dr["t641_anomes"].ToString() + "</td>");
                sb.Append("</tr>");
                hdnMesHasta.Text = dr["t641_anomes"].ToString();
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + sNumPE + "@#@" + sDesc + "@#@" + sUSA + "@#@" + hdnMesDesde.Text + "@#@" + hdnMesHasta.Text + "@#@" + sProyUSA + "@#@" + sProyExternalizable);
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos de la agenda", ex));
        }
    }
    private void obtenerDatosXML(int iAnoMes)
    {
        StringBuilder sbGeneral = new StringBuilder();
        StringBuilder sbMeses   = new StringBuilder();

        try
        {
            string sAux, sAnoMesIni, sAnoMesFin;                                                                            //sAnoMesAux,
            int    iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), nOcupacion = 0, nOcupacionMax = 0, iAnoMesAux, iAnoMesFin; //iPropias = 0, iAjenas = 0, iLargura = 0, iLarguraAjena = 0,

            sAnoMesIni = iAnoMesIni.ToString();
            DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4));
            iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1);
            sAnoMesFin = iAnoMesFin.ToString();
            DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4));



            #region Cargo array de 13 meses con el nº de conexiones propias por mes
            ArrayList slLista = new ArrayList();
            iAnoMesAux = iAnoMesIni;
            for (int iFila = 0; iFila < 13; iFila++)
            {
                sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux);
                string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() };
                slLista.Add(aDatosAux);
                iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1);
            }
            SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo);
            while (dr.Read())
            {
                nOcupacion = int.Parse(dr["npropias"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[1] = dr["npropias"].ToString();
                        break;
                    }
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion
            #region Cargo array de 13 meses con el nº de conexiones ajenas por mes
            SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo);
            while (dr2.Read())
            {
                nOcupacion = int.Parse(dr2["najenas"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[2] = dr2["najenas"].ToString();
                        break;
                    }
                }
            }
            dr2.Close();
            dr2.Dispose();
            #endregion

            sbMeses.Append("<categories font='Arial' fontSize='11' fontColor='000000'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nAnomesInicio = int.Parse(((string[])slLista[iFila])[3]);
                }
                sbMeses.Append("<category name='" + ((string[])slLista[iFila])[0] + "' />");
            }
            sbMeses.Append("</categories>");

            sbMeses.Append("<dataset seriesname='Propias' color='ff0033' alpha='70'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nPropias = int.Parse(((string[])slLista[iFila])[1]);
                }
                sbMeses.Append("<set value='" + ((string[])slLista[iFila])[1] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />");
            }
            sbMeses.Append("</dataset>");

            sbMeses.Append("<dataset seriesname='En su nombre' color='000066' showValues='1' alpha='70'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nAjenas = int.Parse(((string[])slLista[iFila])[2]);
                }
                sbMeses.Append("<set value='" + ((string[])slLista[iFila])[2] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />");
            }
            sbMeses.Append("</dataset>");

            sbGeneral.Append("<graph ");
            //sbGeneral.Append(" xaxisname='Meses' ");
            //sbGeneral.Append(" yaxisname='Actividad' ");
            sbGeneral.Append(" hovercapbg='73cef6' ");
            sbGeneral.Append(" hovercapborder='889E6D'");
            sbGeneral.Append(" rotateNames='0' ");
            sbGeneral.Append(" animation='1' ");
            sbGeneral.Append(" yAxisMaxValue='" + (nOcupacionMax + 10).ToString() + "' ");
            sbGeneral.Append(" numdivlines='4' ");
            sbGeneral.Append(" divLineColor='CCCCCC' ");
            sbGeneral.Append(" divLineAlpha='80' ");
            sbGeneral.Append(" decimalPrecision='0' ");
            sbGeneral.Append(" showAlternateVGridColor='1' ");
            sbGeneral.Append(" AlternateVGridAlpha='30' ");
            sbGeneral.Append(" AlternateVGridColor='CCCCCC' ");
            //sbGeneral.Append(" caption='Actividad registrada' ");
            sbGeneral.Append(" bgColor='D8E5EB' ");
            sbGeneral.Append(" >");


            strXML = sbGeneral.ToString() + sbMeses.ToString() + "</graph>";
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad.", ex);
        }
    }
示例#27
0
    private void CargarFacturas()
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<table id='tblErrores' style='WIDTH: 680px;'>");
        sb.Append("<colgroup><col style='width:60px' /><col style='width:40px' /><col style='width:60px;' /><col style='width:520px;' /></colgroup>");

        #region Obtenión de dataset con empresas, proyectos y clientes y creación de HASTABLES
        DataSet ds = INTERFACTSAP.EmpresasProyectos();
        oEmpFactSAP  = null;
        oProyFactSAP = null;
        oCliFactSAP  = null;

        htEmpEnlaceSAP = new Hashtable();
        foreach (DataRow oEmpresa in ds.Tables[0].Rows)//Recorro tabla de empresas
        {
            htEmpEnlaceSAP.Add(oEmpresa["t302_codigoexterno"].ToString(), new EmpFactSAP((int)oEmpresa["t313_idempresa"],
                                                                                         oEmpresa["t313_denominacion"].ToString(),
                                                                                         oEmpresa["t302_codigoexterno"].ToString()
                                                                                         //,(bool)oEmpresa["t313_ute"]
                                                                                         )
                               );
        }
        //oEmpFactSAP = (EmpFactSAP)htEmpEnlaceSAP["IB01"];

        htProyEnlaceSAP = new Hashtable();
        foreach (DataRow oProy in ds.Tables[1].Rows)//Recorro tabla de empresas
        {
            htProyEnlaceSAP.Add((int)oProy["t301_idproyecto"], new ProyFactSAP((int)oProy["t301_idproyecto"],
                                                                               (int)oProy["t305_idproyectosubnodo"])
                                );
        }
        //oProyFactSAP = (ProyFactSAP)htProyEnlaceSAP[20801];

        htCliEnlaceSAP = new Hashtable();
        foreach (DataRow oCliente in ds.Tables[2].Rows)//Recorro tabla de clientes
        {
            htCliEnlaceSAP.Add(oCliente["t302_codigoexterno"], new CliFactSAP((int)oCliente["t302_idcliente"],
                                                                              oCliente["t302_codigoexterno"].ToString(),
                                                                              ((int)oCliente["Interno"] == 1) ? true : false)
                               );
        }
        //oCliFactSAP = (CliFactSAP)htCliEnlaceSAP[45946];

        ds.Dispose();
        #endregion

        SqlDataReader dr = INTERFACTSAP.Catalogo();
        while (dr.Read())
        {
            if (iCont == 0)
            {
                sAnomes            = Fechas.FechaAAnnomes((DateTime)dr["t445_fec_fact"]).ToString();
                cldFecha.InnerText = Fechas.AnnomesAFechaDescLarga(int.Parse(sAnomes));
            }
            iCont++;
            if (validarCampos(dr, sAnomes, true))
            {
                iNumOk++;
            }
            if (sFechaFacIncorrecta == "true")
            {
                sbE.Length         = 0;
                iCont              = 0;
                iNumOk             = 0;
                cldFecha.InnerText = "Fecha indefinida";
                break;
            }
        }
        dr.Close();
        dr.Dispose();

        sb.Append("</table>");
        this.divB.InnerHtml   = cabErrores() + sbE + "</table>";
        cldTotalFac.InnerText = INTERFACTSAP.numFacturas(null).ToString("#,##0");
        cldFacOK.InnerText    = iNumOk.ToString("#,##0");
        cldFacErr.InnerText   = (iCont - iNumOk).ToString("#,##0");
    }
    private string obtenerDatos(string sDesde, string sHasta, string sNivelEstructura,
                                string sCategoria, string sCualidad, string sClientes,
                                string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato,
                                string sContrato, string sIDEstructura, string sSectores, string sSegmentos,
                                string sComparacionLogica,
                                string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN)
    {
        int           nWidthTabla     = 470; //370+100
        int           nColumnasACrear = 0;
        StringBuilder sb = new StringBuilder();
        StringBuilder sbColgroupTitulo = new StringBuilder();
        StringBuilder sbTitulo         = new StringBuilder();
        StringBuilder sbResultado      = new StringBuilder();
        string        sTablaTitulo     = "";
        string        sTablaContenido  = "";
        string        sTablaResultado  = "";
        decimal       nRatio           = 0;

        string sColor = "";

        try
        {
            sbColgroupTitulo.Append("<colgroup>");
            sbColgroupTitulo.Append("<col style='width:350px;' />");
            sbColgroupTitulo.Append("<col style='width:120px;' />");

            DataSet ds = ConsultasPGE.ObtenerDatosSegRenta((int)Session["UsuarioActual"],
                                                           int.Parse(sDesde), int.Parse(sHasta),
                                                           (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura),
                                                           sCategoria,
                                                           sCualidad,
                                                           sClientes,
                                                           sResponsables,
                                                           sNaturalezas,
                                                           sHorizontal,
                                                           sModeloContrato,
                                                           sContrato,
                                                           sIDEstructura,
                                                           sSectores,
                                                           sSegmentos,
                                                           (sComparacionLogica == "1")? true:false,
                                                           sCNP,
                                                           sCSN1P,
                                                           sCSN2P,
                                                           sCSN3P,
                                                           sCSN4P,
                                                           sPSN,
                                                           Session["MONEDA_VDC"].ToString()
                                                           );

            bool bTitulos = false;
            foreach (DataRow oFila in ds.Tables[0].Rows)
            {
                if (!bTitulos)
                {
                    sbTitulo.Append("<tr class='TBLINI'>");
                    sbTitulo.Append("<td></td>");
                    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (x == 4)
                        {
                            string[] aNomMeses = Regex.Split(ds.Tables[0].Columns[x].ColumnName, "-");
                            sbTitulo.Append("<td>");
                            sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[0].ToString())));
                            sbTitulo.Append(" - ");
                            sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[1].ToString())));
                            sbTitulo.Append("</td>");
                        }
                        else
                        {
                            sbColgroupTitulo.Append("<col style='width:100px;' />");
                            sbTitulo.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>");
                            nColumnasACrear++;
                        }
                    }
                    sbTitulo.Append("</tr>");
                    bTitulos = true;
                }

                if (oFila["t454_idformula"].ToString() != "2")
                {
                    switch (oFila["nivel"].ToString())
                    {
                    case "1":
                        sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height: 20px' nivel='1'>");
                        sb.Append("<td style='text-align:left;'><IMG class=NSEG1 src='../../../../images/imgSeparador.gif'>");
                        sb.Append("<nobr class='NBR W320'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                        break;

                    case "2":
                        sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height: 20px' nivel='2'>");
                        sb.Append("<td style='text-align:left;'><IMG class=NSEG2 src='../../../../images/imgSeparador.gif'>");
                        sb.Append("<nobr class='NBR W280'>- " + oFila["t454_literal"].ToString() + "</nobr></td>");
                        break;
                    }

                    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0)
                        {
                            sColor = "red";
                        }
                        else
                        {
                            sColor = "black";
                        }
                        sb.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>");
                    }
                    sb.Append("</tr>");
                }
                else
                {
                    //if (oFila["t454_idformula"].ToString() == "8")
                    //{
                    //    sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>");
                    //    sbResultado.Append("<td><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>");
                    //    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    //    {
                    //        if ((decimal)oFila.ItemArray[x] == 0) nRatio = 0;
                    //        else
                    //        {
                    //            nRatio = (decimal)ds.Tables[0].Rows[0].ItemArray[x] * 100 / (decimal)oFila.ItemArray[x];
                    //        }
                    //        if (nRatio < 0) sColor = "red";
                    //        else sColor = "black";
                    //        sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>");
                    //    }
                    //    sbResultado.Append("</tr>");
                    //}
                    //else
                    //{
                    sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>");
                    sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>" + oFila["t454_literal"].ToString() + "</nobr></td>");
                    for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
                    {
                        if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0)
                        {
                            sColor = "red";
                        }
                        else
                        {
                            sColor = "black";
                        }
                        sbResultado.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>");
                    }
                    sbResultado.Append("</tr>");
                    //}
                }
            }

            sbResultado.Append("<tr id='0' style='HEIGHT: 17px' class='TBLFIN'>");
            sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>");
            for (int x = 4; x < ds.Tables[0].Columns.Count; x++)
            {
                if (decimal.Parse(ds.Tables[0].Rows[0].ItemArray[x].ToString()) == 0)
                {
                    nRatio = 0;
                }
                else
                {
                    nRatio = decimal.Parse(ds.Tables[0].Rows[12].ItemArray[x].ToString()) * 100 / decimal.Parse(ds.Tables[0].Rows[0].ItemArray[x].ToString());
                }
                if (nRatio < 0)
                {
                    sColor = "red";
                }
                else
                {
                    sColor = "black";
                }
                sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>");
            }
            sbResultado.Append("</tr>");

            ds.Dispose();

            nWidthTabla      = nWidthTabla + nColumnasACrear * 100;
            sTablaContenido  = "<table id='tblDatos' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed;  BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>";
            sTablaContenido += sbColgroupTitulo.ToString();
            sTablaContenido += "</colgroup>";
            sTablaContenido += sb.ToString();
            //sTablaContenido += "</tbody>";
            sTablaContenido += "</table>";

            sTablaTitulo  = "<table id='tblTitulo' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed;  BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>";
            sTablaTitulo += sbColgroupTitulo.ToString();
            sTablaTitulo += "</colgroup>";
            sTablaTitulo += sbTitulo.ToString();
            sTablaTitulo += "</table>";

            sTablaResultado  = "<table id='tblResultado' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed;  BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>";
            sTablaResultado += sbColgroupTitulo.ToString();
            sTablaResultado += "</colgroup>";
            sTablaResultado += sbResultado.ToString();
            sTablaResultado += "</table>";



            return("OK@#@" + sTablaTitulo + "@#@" + sTablaContenido + "@#@" + sTablaResultado);
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex));
        }
    }
        public static string ObtenerPlanningEscenario(int t789_idescenario, string t422_idmoneda)
        {
            try
            {
                StringBuilder sbTM       = new StringBuilder();
                StringBuilder sbTMF1     = new StringBuilder();
                StringBuilder sbTMF2     = new StringBuilder();
                StringBuilder sbBF       = new StringBuilder();
                StringBuilder sbBM       = new StringBuilder();
                StringBuilder sbPM       = new StringBuilder();
                StringBuilder sbPMF1     = new StringBuilder();
                StringBuilder sbPMF2     = new StringBuilder();
                StringBuilder sbPMF3     = new StringBuilder();
                StringBuilder sbPMF4     = new StringBuilder();
                StringBuilder sbPMF5     = new StringBuilder();
                StringBuilder sbPMF6     = new StringBuilder();
                Hashtable     htDatosMes = new Hashtable();

                bool    bColgroupCreado = false;
                int     nWidthBM        = 0;
                string  sGrupo          = "";
                DataSet ds = SUPER.Capa_Datos.ESCENARIOSCAB.ObtenerDatosEscenario(null, t789_idescenario, t422_idmoneda);
                foreach (DataRow oFila in ds.Tables[2].Rows) //tabla de datos y comentarios
                {
                    htDatosMes.Add(oFila["t437_idpartidaeco"].ToString()
                                   + "/" + oFila["t795_anomes"].ToString()
                                   + "/" + oFila["codigo"].ToString()
                                   + "/" + oFila["codigo2"].ToString(), new DATOESCENARIO((int)oFila["t437_idpartidaeco"],
                                                                                          (int)oFila["t795_anomes"],
                                                                                          (int)oFila["codigo"],
                                                                                          (oFila["codigo2"].ToString() == "")?0:(int)oFila["codigo2"],
                                                                                          (int)oFila["iddato"],
                                                                                          double.Parse(oFila["unidades"].ToString()),
                                                                                          decimal.Parse(oFila["importe"].ToString()),
                                                                                          oFila["comentario"].ToString())
                                   );
                }

                foreach (DataRow oFila in ds.Tables[0].Rows)
                {
                    if (!bColgroupCreado)
                    {
                        bColgroupCreado = true;

                        #region tblTituloMovil
                        nWidthBM = ds.Tables[1].Rows.Count * 130;
                        sbTM.Append("<table id='tblTituloMovil' style='width:" + nWidthBM.ToString() + "px;' cellpadding='0' cellspacing='0' border='0'>");
                        sbTM.Append("    <colgroup>");
                        #endregion

                        #region tblBodyFijo
                        sbBF.Append("<table id='tblBodyFijo' style='width:590px;' cellpadding='0' cellspacing='0' border='0'>");
                        sbBF.Append("<colgroup>");
                        sbBF.Append("   <col style='width:150px;' />");
                        sbBF.Append("   <col style='width:125px;' />");
                        sbBF.Append("   <col style='width:125px;' />");
                        sbBF.Append("   <col style='width:50px;' />");
                        sbBF.Append("   <col style='width:50px;' />");
                        sbBF.Append("   <col style='width:90px;' />");
                        sbBF.Append("</colgroup>");

                        #endregion

                        #region tblBodyMovil
                        sbBM.Append("<table id='tblBodyMovil' style='width:" + nWidthBM.ToString() + "px;' cellpadding='0' cellspacing='0' border='0'>");
                        sbBM.Append("    <colgroup>");
                        #endregion

                        #region tblPieMovil
                        sbPM.Append("<table id='tblPieMovil' style='width:" + nWidthBM.ToString() + "px;' cellpadding='0' cellspacing='0' border='0'>");
                        sbPM.Append("    <colgroup>");
                        #endregion

                        #region Creacion Colgroups Móviles
                        sbTMF1.Append("<tr style='height:17px;'>");
                        sbTMF2.Append("<tr style='height:17px;'>");

                        sbPMF1.Append("<tr class='TBLFIN' style='height:17px;'>");
                        sbPMF2.Append("<tr class='TBLFIN' style='height:17px;'>");
                        sbPMF3.Append("<tr class='TBLFIN' style='height:17px;'>");
                        sbPMF4.Append("<tr class='TBLFIN' style='height:17px;'>");
                        sbPMF5.Append("<tr class='TBLFIN' style='height:17px;'>");
                        sbPMF6.Append("<tr class='TBLFIN' style='height:17px;'>");

                        foreach (DataRow oFilaMes in ds.Tables[1].Rows)//Tabla de meses
                        {
                            sbTM.Append("   <col style='width:60px;' />");
                            sbTM.Append("   <col style='width:70px;' />");

                            sbTMF1.Append("   <td colspan='2' id='" + oFilaMes["t795_idescenariomes"].ToString() + "' ");
                            if (oFilaMes["t795_comentario"].ToString() != "")
                            {
                                sbTMF1.Append("class='comMes' ");
                                sbTMF1.Append("onmouseover='showTTE(\"" + Utilidades.escape(oFilaMes["t795_comentario"].ToString()) + "\",\"Comentario\")' onMouseout=\"hideTTE()\" ");
                            }
                            sbTMF1.Append("style='width:130px;' ");
                            sbTMF1.Append("comentario=\"" + Utilidades.escape(oFilaMes["t795_comentario"].ToString()) + "\" ");
                            sbTMF1.Append("estado='" + oFilaMes["estado_mes"].ToString() + "' ");
                            sbTMF1.Append("anomes='" + oFilaMes["t795_anomes"].ToString() + "'>" + Fechas.AnnomesAFechaDescLarga((int)oFilaMes["t795_anomes"]) + "</td>");

                            sbTMF2.Append("   <td style='width:60px;'>Unidades</td>");
                            sbTMF2.Append("   <td style='width:70px;'>Importe</td>");

                            sbBM.Append("   <col style='width:60px;' />");
                            sbBM.Append("   <col style='width:70px;' />");

                            sbPM.Append("   <col style='width:130px;' />");
                            sbPMF1.Append("   <td>0,00</td>");
                            sbPMF2.Append("   <td>0,00</td>");
                            sbPMF3.Append("   <td>0,00</td>");
                            sbPMF4.Append("   <td>0,00</td>");
                            sbPMF5.Append("   <td>0,00</td>");
                            sbPMF6.Append("   <td>0,00</td>");
                        }

                        sbTM.Append("</colgroup>");

                        sbTMF1.Append("</tr>");
                        sbTMF2.Append("</tr>");
                        sbTM.Append(sbTMF1.ToString());
                        sbTM.Append(sbTMF2.ToString());
                        sbTM.Append("</table>");

                        sbBM.Append("</colgroup>");

                        sbPMF1.Append("</tr>");
                        sbPMF2.Append("</tr>");
                        sbPMF3.Append("</tr>");
                        sbPMF4.Append("</tr>");
                        sbPMF5.Append("</tr>");
                        sbPMF6.Append("</tr>");
                        sbPM.Append(sbPMF1.ToString());
                        sbPM.Append(sbPMF2.ToString());
                        sbPM.Append(sbPMF3.ToString());
                        sbPM.Append(sbPMF4.ToString());
                        sbPM.Append(sbPMF5.ToString());
                        sbPM.Append(sbPMF6.ToString());
                        sbPM.Append("</colgroup>");

                        #endregion
                    }

                    #region tblBodyFijo
                    if (oFila["t326_denominacion"].ToString() != "" &&
                        oFila["t326_denominacion"].ToString() != sGrupo)
                    {
                        sGrupo = oFila["t326_denominacion"].ToString();
                        sbBF.Append("<tr style='height:20px;' bd='' ");
                        sbBF.Append("tipo='' ");
                        sbBF.Append("idPartida='0' ");
                        sbBF.Append(">");
                        sbBF.Append("<td><nobr class='NBR W140' onmouseover='TTip(event)'>" + oFila["t326_denominacion"].ToString() + "<nobr></td>");//
                        //sbBF.Append("<td></td>");
                        sbBF.Append("<td colspan='2'></td>");
                        sbBF.Append("<td></td>");
                        sbBF.Append("<td></td>");
                        sbBF.Append("<td style='border-right: 2px solid #A6C3D2;'></td>");
                        sbBF.Append("</tr>");

                        sbBM.Append("<tr style='height:20px;' bd=''>");
                        foreach (DataRow oFilaMes in ds.Tables[1].Rows)
                        {
                            sbBM.Append("<td style='width:60px;'></td>");
                            sbBM.Append("<td style='width:70px;'></td>");
                        }
                        sbBM.Append("</tr>");
                    }

                    sbBF.Append("<tr style='height:20px;' bd='' ");
                    sbBF.Append("idPartida='" + oFila["t437_idpartidaeco"].ToString() + "' ");
                    sbBF.Append("codigo='" + oFila["codigo"].ToString() + "' ");
                    sbBF.Append("codigo2='" + oFila["codigo2"].ToString() + "' ");
                    sbBF.Append("necesidad='" + oFila["necesidad"].ToString() + "' ");
                    sbBF.Append("tipo='" + oFila["tipo"].ToString() + "' ");
                    sbBF.Append("coste_tarifa='" + oFila["coste_tarifa"].ToString() + "' ");

                    //if ((int)oFila["t437_idpartidaeco"] == -4)
                    //    sbBF.Append("idnodo='" + oFila["codigo2"].ToString() + "'");
                    //if ((int)oFila["t437_idpartidaeco"] == -5)
                    //    sbBF.Append("idproveedor='" + oFila["codigo2"].ToString() + "'");

                    sbBF.Append(">");
                    //sbTB.Append("<td>" + oFila["t326_denominacion"].ToString() + "</td>");
                    sbBF.Append("<td><nobr class='NBR W115' style='margin-left:25px;' onmouseover='TTip(event)'>" + oFila["t437_denominacion"].ToString() + "<nobr></td>");//
                    //if ((int)oFila["t437_idpartidaeco"] == -2
                    //    || (int)oFila["t437_idpartidaeco"] == -3
                    //    //|| (int)oFila["t437_idpartidaeco"] == -7
                    //    || (int)oFila["t437_idpartidaeco"] == -8)
                    //if ((int)oFila["orden_2"] == 0)
                    if (oFila["tipo"].ToString() == "P" ||
                        (int)oFila["t437_idpartidaeco"] == -2 ||
                        (int)oFila["t437_idpartidaeco"] == -3 ||
                        (int)oFila["t437_idpartidaeco"] == -8)
                    {
                        if (oFila["tipo"].ToString() == "P")
                        {
                            sbBF.Append("<td colspan='2' style='text-align:right'>");
                            if ((int)oFila["t437_idpartidaeco"] == -2 ||
                                (int)oFila["t437_idpartidaeco"] == -3 ||
                                (int)oFila["t437_idpartidaeco"] == -7 ||
                                (int)oFila["t437_idpartidaeco"] == -8)
                            {
                                sbBF.Append("<img src='../../../../Images/imgAddDel.png' style='cursor:pointer;margin-left:3px;' onclick='addFila(this)' />");
                            }
                            else
                            {
                                sbBF.Append("<img src='../../../../Images/imgAdd.png' style='cursor:pointer;margin-left:3px;' onclick='addFila(this)' />");
                                sbBF.Append("<img src='../../../../Images/imgDel.png' style='cursor:pointer;margin-left:3px;margin-right:3px;' onclick='delFila(this)' />");
                            }
                            sbBF.Append("</td>");
                        }
                        else
                        {
                            sbBF.Append("<td colspan='2'><nobr class='NBR W230' onmouseover='TTip(event)'>" + oFila["descripcion"].ToString() + "<nobr></td>"); //
                        }
                    }
                    else if (oFila["necesidad"].ToString() == "")
                    {
                        sbBF.Append("<td colspan='2'><nobr class='NBR W230' onmouseover='TTip(event)' onClick='cctxt(this, 50)' style='cursor:pointer;' >" + oFila["motivo"].ToString() + "<nobr></td>");//
                    }
                    else
                    {
                        sbBF.Append("<td><nobr class='NBR W115' onmouseover='TTip(event)' ");
                        if ((int)oFila["t437_idpartidaeco"] != -7)
                        {
                            sbBF.Append("onClick='cctxt(this, 50)' style='cursor:pointer;' ");
                        }
                        sbBF.Append(">" + oFila["motivo"].ToString() + "<nobr></td>");                                                          //
                        sbBF.Append("<td><nobr class='NBR W115' onmouseover='TTip(event)'>" + oFila["descripcion"].ToString() + "<nobr></td>"); //
                    }
                    sbBF.Append("<td class='num'>" + (((decimal)oFila["coste_tarifa"] == 0) ? "" : decimal.Parse(oFila["coste_tarifa"].ToString()).ToString("N")) + "</td>");
                    sbBF.Append("<td class='num'>" + (((double)oFila["num_unidades"] == 0) ? "" : double.Parse(oFila["num_unidades"].ToString()).ToString("N")) + "</td>");
                    sbBF.Append("<td class='num' style='border-right: 2px solid #A6C3D2;'>" + (((decimal)oFila["total_presupuesto"] == 0) ? "" : decimal.Parse(oFila["total_presupuesto"].ToString()).ToString("N")) + "</td>");
                    sbBF.Append("</tr>");

                    #endregion

                    #region tblBodyMovil
                    sbBM.Append("<tr style='height:20px;' ");
                    sbBM.Append("idPartida='" + oFila["t437_idpartidaeco"].ToString() + "' ");
                    sbBM.Append("codigo='" + oFila["codigo"].ToString() + "' >");

                    foreach (DataRow oFilaMes in ds.Tables[1].Rows)
                    {
                        DATOESCENARIO oDE = (DATOESCENARIO)htDatosMes[oFila["t437_idpartidaeco"].ToString()
                                                                      + "/" + oFilaMes["t795_anomes"].ToString()
                                                                      + "/" + oFila["codigo"].ToString()
                                                                      + "/" + oFila["codigo2"].ToString()];
                        if (oDE != null)
                        {
                            sbBM.Append("<td style='width:60px;' ");

                            if (oDE.PosicionCom == "I")
                            {
                                sbBM.Append("bd='' ");
                                sbBM.Append("iddato='" + oDE.dato.ToString() + "' ");
                                if ((bool)oFila["editable"])
                                {
                                    sbBM.Append("onDblClick='cc(this, 1)' onClick='sf(this)' ");
                                }

                                if (oDE.comentario != "")
                                {
                                    sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "comTD' ");
                                    sbBM.Append("comentario=\"" + Utilidades.escape(oDE.comentario) + "\" ");
                                    sbBM.Append("onmouseover='showTTE(\"" + Utilidades.escape(oDE.comentario) + "\",\"Comentario\")' onMouseout=\"hideTTE()\"");
                                }
                                else
                                {
                                    sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "' ");
                                    sbBM.Append("comentario=\"\" ");
                                }
                            }
                            sbBM.Append(">" + ((oDE.unidades == 0) ? "" : oDE.unidades.ToString("#,###.##")) + "</td>");

                            sbBM.Append("<td style='width:70px;' ");
                            if (oDE.PosicionCom == "D")
                            {
                                sbBM.Append("bd='' ");
                                sbBM.Append("iddato='" + oDE.dato.ToString() + "' ");
                                if ((bool)oFila["editable"])
                                {
                                    sbBM.Append("onDblClick='cc(this, 1)' onClick='sf(this)' ");
                                }

                                if (oDE.comentario != "")
                                {
                                    sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "comTD' ");
                                    sbBM.Append("comentario=\"" + Utilidades.escape(oDE.comentario) + "\" ");
                                    sbBM.Append("onmouseover='showTTE(\"" + Utilidades.escape(oDE.comentario) + "\",\"Comentario\")' onMouseout=\"hideTTE()\"");
                                }
                                else
                                {
                                    sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "' ");
                                    sbBM.Append("comentario=\"\" ");
                                }
                            }

                            sbBM.Append(">" + ((oDE.importe == 0) ? "" : oDE.importe.ToString("N")) + "</td>");
                        }
                        else
                        {
                            sbBM.Append("<td style='width:60px;' ");
                            if ((int)oFila["t437_idpartidaeco"] == -2 ||
                                (int)oFila["t437_idpartidaeco"] == -3 ||
                                (int)oFila["t437_idpartidaeco"] == -7 ||
                                (int)oFila["t437_idpartidaeco"] == -8
                                )
                            {
                                sbBM.Append("bd='' ");
                                sbBM.Append("iddato='' ");
                                if ((bool)oFila["editable"])
                                {
                                    sbBM.Append("onDblClick='cc(this, 1)' onClick='sf(this)' ");
                                }
                                sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "' ");
                                sbBM.Append("comentario=\"\" ");
                            }
                            sbBM.Append("></td>");

                            sbBM.Append("<td style='width:70px;' ");
                            if ((int)oFila["t437_idpartidaeco"] != -2 &&
                                (int)oFila["t437_idpartidaeco"] != -3 &&
                                (int)oFila["t437_idpartidaeco"] != -7 &&
                                (int)oFila["t437_idpartidaeco"] != -8)
                            {
                                sbBM.Append("bd='' ");
                                sbBM.Append("iddato='' ");
                                if ((bool)oFila["editable"])
                                {
                                    sbBM.Append("onDblClick='cc(this, 1)' onClick='sf(this)' ");
                                }
                                sbBM.Append("class='" + (((bool)oFila["editable"]) ? "MA " : "") + "' ");
                                sbBM.Append("comentario=\"\" ");
                            }
                            sbBM.Append("></td>");
                        }
                    }

                    sbBM.Append("</tr>");
                    #endregion
                }

                sbBF.Append("</table>");
                sbBM.Append("</table>");
                sbPM.Append("</table>");

                return("OK@#@"
                       + sbTM.ToString() + "{{septabla}}"
                       + "<div style=\"background-image: url('../../../../Images/imgFT20.gif'); background-repeat:repeat; width:590px; height:auto;\">" + sbBF.ToString() + "</div>" + "{{septabla}}"
                       + "<div style=\"background-image: url('../../../../Images/imgFT20.gif'); background-repeat:repeat; width:" + nWidthBM.ToString() + "px; height:auto;\">" + sbBM.ToString() + "</div>" + "{{septabla}}"
                       + sbPM.ToString() + "{{septabla}}");
            }
            catch (Exception ex)
            {
                return("Error@#@" + Errores.mostrarError("Error al obtener el planning del escenario.", ex));
            }
        }