protected void setEmpresaTerritorio(int nUsuario)
    {
        //1ºComprobar si el profesional tiene más de una empresa.
        ArrayList aEmpresas = USUARIOGV.ObtenerEmpresasTerritorios(nUsuario);

        txtEmpresa.Text   = "";
        hdnIDEmpresa.Text = "";
        if (aEmpresas.Count > 1)
        {
            txtEmpresa.Style.Add("display", "none");
            cboEmpresa.Style.Add("display", "block");

            ListItem oLI = null;
            for (int i = 0; i < aEmpresas.Count; i++)
            {
                oLI = new ListItem(((string[])aEmpresas[i])[1], ((string[])aEmpresas[i])[0]);
                oLI.Attributes.Add("idterritorio", ((string[])aEmpresas[i])[2]);
                oLI.Attributes.Add("nomterritorio", ((string[])aEmpresas[i])[3]);
                oLI.Attributes.Add("ITERDC", ((string[])aEmpresas[i])[4]);
                oLI.Attributes.Add("ITERMD", ((string[])aEmpresas[i])[5]);
                oLI.Attributes.Add("ITERDA", ((string[])aEmpresas[i])[6]);
                oLI.Attributes.Add("ITERDE", ((string[])aEmpresas[i])[7]);
                oLI.Attributes.Add("ITERK", ((string[])aEmpresas[i])[8]);

                cboEmpresa.Items.Add(oLI);

                if (cboEmpresa.Items.Count == 1 ||
                    (((string[])aEmpresas[i])[0] == "1" && nID == 0)
                    )
                {
                    cboEmpresa.SelectedValue = ((string[])aEmpresas[i])[0];
                    hdnIDEmpresa.Text        = ((string[])aEmpresas[i])[0];
                    hdnIDTerritorio.Text     = ((string[])aEmpresas[i])[2];
                    lblTerritorio.Text       = ((string[])aEmpresas[i])[3];
                }
            }
        }
        else if (aEmpresas.Count == 1)
        {
            txtEmpresa.Style.Add("display", "block");
            cboEmpresa.Style.Add("display", "none");
            hdnIDEmpresa.Text    = ((string[])aEmpresas[0])[0];
            txtEmpresa.Text      = ((string[])aEmpresas[0])[1];
            hdnIDTerritorio.Text = ((string[])aEmpresas[0])[2];
            lblTerritorio.Text   = ((string[])aEmpresas[0])[3];
            cldKMEX.InnerText    = decimal.Parse(((string[])aEmpresas[0])[8]).ToString("N");
            cldDCEX.InnerText    = decimal.Parse(((string[])aEmpresas[0])[4]).ToString("N");
            cldMDEX.InnerText    = decimal.Parse(((string[])aEmpresas[0])[5]).ToString("N");
            cldDEEX.InnerText    = decimal.Parse(((string[])aEmpresas[0])[7]).ToString("N");
            cldDAEX.InnerText    = decimal.Parse(((string[])aEmpresas[0])[6]).ToString("N");
        }
    }
    protected void ObtenerDatosCabecera(int nReferencia)
    {
        //Nueva nota
        USUARIOGV oUsuario = USUARIOGV.Obtener((int)Session["UsuarioActual"]);

        if (oUsuario.oOficinaLiquidadora == null)
        {
            throw new Exception("No se ha podido determinar la oficina liquidadora.");
        }

        //txtInteresado.Text = oUsuario.t314_idusuario.ToString("#,###") + " - " + oUsuario.Nombre;
        txtInteresado.Text = oUsuario.Nombre;
        hdnInteresado.Text = oUsuario.t314_idusuario.ToString();
        sNodoUsuario       = oUsuario.t303_denominacion;
        txtEmpresa.Text    = oUsuario.t313_denominacion;
        txtOficinaLiq.Text = oUsuario.oOficinaLiquidadora.t010_desoficina;

        if (oUsuario.t422_idmoneda != "" && oUsuario.t422_idmoneda != null) //Moneda por defecto a nivel de usuario
        {
            cboMoneda.SelectedValue = oUsuario.t422_idmoneda.ToString();
        }
        if (oUsuario.oDietaKm != null)
        {
            cldKMCO.InnerText = oUsuario.oDietaKm.t069_ick.ToString("N");
            cldDCCO.InnerText = oUsuario.oDietaKm.t069_icdc.ToString("N");
            cldMDCO.InnerText = oUsuario.oDietaKm.t069_icmd.ToString("N");
            cldDECO.InnerText = oUsuario.oDietaKm.t069_icde.ToString("N");
            cldDACO.InnerText = oUsuario.oDietaKm.t069_icda.ToString("N");
        }
        if (oUsuario.oTerritorio != null)
        {
            cldKMEX.InnerText = oUsuario.oTerritorio.T007_ITERK.ToString("N");
            cldDCEX.InnerText = oUsuario.oTerritorio.T007_ITERDC.ToString("N");
            cldMDEX.InnerText = oUsuario.oTerritorio.T007_ITERMD.ToString("N");
            cldDEEX.InnerText = oUsuario.oTerritorio.T007_ITERDE.ToString("N");
            cldDAEX.InnerText = oUsuario.oTerritorio.T007_ITERDA.ToString("N");
        }

        hdnOficinaBase.Text        = (oUsuario.t010_idoficina_base.HasValue) ? oUsuario.t010_idoficina_base.ToString() : "";
        hdnOficinaLiquidadora.Text = (oUsuario.oOficinaLiquidadora != null) ? oUsuario.oOficinaLiquidadora.t010_idoficina.ToString() : "";
        hdnAutorresponsable.Text   = (oUsuario.bAutorresponsable) ? "1" : "0";

        //1ºComprobar si el profesional tiene más de una empresa.
        setEmpresaTerritorio((int)Session["UsuarioActual"]);
    }