protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            //Para que se muestre la botonera, únicamente hay que indicar el número de botonera
            //y crear el manejador de eventos para la misma.
            Master.nBotonera           = 7;
            Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click);
            Master.bFuncionesLocales   = true;
            Master.TituloPagina        = "Maestro de plantillas";
            if (!Page.IsPostBack)
            {
                try
                {
                    this.lblNodo.InnerText = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
                    this.lblNodo.Attributes.Add("title", Estructura.getDefLarga(Estructura.sTipoElem.NODO));

                    this.txtOrigen.Text = Request.QueryString["sOr"];
                    string sPlantAux = Request.QueryString["nIDPlant"];
                    if (sPlantAux != null)
                    {
                        this.hdnIDPlantilla.Text         = sPlantAux;
                        this.hdnIDPlantillaOriginal.Text = sPlantAux;
                        Session["IDPlant"] = sPlantAux;
                    }
                    else if (Session["IDPlant"] != null)
                    {
                        sPlantAux = Session["IDPlant"].ToString();
                        this.hdnIDPlantilla.Text         = sPlantAux;
                        this.hdnIDPlantillaOriginal.Text = sPlantAux;
                    }

                    string sTipo = Request.QueryString["sTipo"];
                    if (sTipo != null)
                    {
                        this.txtTipo.Text = sTipo;
                    }
                    else
                    {
                        this.txtTipo.Text = "E";
                    }

                    PlantProy objPlant = new PlantProy();
                    objPlant.Obtener(int.Parse(this.hdnIDPlantilla.Text));

                    this.hndCRActual.Text = Request.QueryString["nCR"];
                    CR objCR = new CR();
                    //int iNumEmpleado = int.Parse(HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"].ToString());
                    int iNumEmpleado = int.Parse(HttpContext.Current.Session["UsuarioActual"].ToString());
                    this.cboCR.DataSource     = objCR.ObtenerCatalogoPlant(iNumEmpleado);
                    this.cboCR.DataTextField  = "sDesCR";
                    this.cboCR.DataValueField = "nIdCR";
                    this.cboCR.DataBind();

                    ListItem Elemento = new ListItem("", "-1");
                    this.cboCR.Items.Insert(0, Elemento);

                    this.txtDesPlantilla.Text = objPlant.descripcion;
                    if (objPlant.activo)
                    {
                        this.chkActivo.Checked = true;
                    }
                    else
                    {
                        this.chkActivo.Checked = false;
                    }
                    this.cboCR.SelectedValue = objPlant.codune.ToString();

                    this.cboAmbito.SelectedValue = objPlant.ambito;

                    this.txtObs.Text = objPlant.obs;
                    //Establezco los posibles valores del combo de ámbito
                    plEstablecerAmbitos();
                    //Establezco la modificabilidad de la plantilla
                    this.txtModificable.Text = flPlantillaModificable(objPlant.ambito);
                    if (this.txtModificable.Text == "T")
                    {
                        if (objPlant.ambito != "D")
                        {
                            cboCR.Enabled = false;
                        }
                        else
                        {
                            cboCR.Enabled = true;
                        }
                        this.txtDesPlantilla.Focus();
                    }
                }
                catch (Exception ex)
                {
                    Master.sErrores = Errores.mostrarError("Error al cargar la plantilla", 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);
        }
    }