> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ámbito de los nombres

> Ámbito de los nombres en FlexiLayout language: dónde se puede acceder a variables, constantes e hipótesis de elementos en las secciones Advanced y en el árbol de elementos.

Los nombres de elementos, constantes y variables solo pueden usarse en determinadas secciones de un programa. Esto se denomina el "ámbito" del nombre. El ámbito de una variable también determina su tiempo de vida.

El nombre de una variable declarada en la sección **Expresión de Region**, **relaciones avanzadas de prebúsqueda** o **relaciones avanzadas de posbúsqueda** es accesible dentro de esa sección, y solo después del punto en que se declara.

Un nombre declarado dentro de un bloque es accesible solo dentro de ese bloque y de los bloques contenidos en él, y solo después del punto en que se declara:

```text theme={null}
{
 Int a; a = 5;
}
```

<div id="access-to-element-hypotheses">
  ## Acceso a las hipótesis de los elementos
</div>

Se puede acceder a las hipótesis de los elementos mediante los nombres de los elementos.

La sección en la que esté determina a qué hipótesis puede acceder:

| Sección                                          | Hipótesis accesibles                                                                                                                      |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **relaciones avanzadas de prebúsqueda**          | Hipótesis de todos los elementos situados por encima del elemento actual en el árbol de FlexiLayout                                       |
| **Relaciones avanzadas de posbúsqueda**          | Hipótesis de todos los elementos situados por encima del elemento actual, además de la hipótesis formulada para el propio elemento actual |
| **Expresión de Region** (descripción del bloque) | Hipótesis de todos los elementos situados en la "mejor rama" del árbol de hipótesis                                                       |

El código de la sección **relaciones avanzadas de prebúsqueda** se ejecuta por separado para cada hipótesis, con independencia de las hipótesis situadas en otras ramas del árbol de hipótesis. Esto significa que, cuando FlexiLayout Studio ejecuta el código de una sección concreta de la descripción de un elemento, solo puede acceder a una hipótesis por cada elemento jerárquicamente superior, es decir, la hipótesis situada en la misma rama.

Se accede a las hipótesis de los elementos y a sus propiedades en modo de solo lectura.

<div id="full-and-shortcut-element-names">
  ## Nombres completos y abreviados de los elementos
</div>

Las hipótesis de un elemento de nivel superior se identifican mediante el nombre completo del elemento, por ejemplo: `SearchObjects.Group1.Group2.FirstItem`. Al acceder a un subelemento de un grupo desde otro subelemento, no es necesario especificar el nombre del grupo. Por ejemplo, en las secciones Advanced… del elemento `SearchObjects.Group1.Group2.SecondItem`, puede hacer referencia al elemento `SearchObjects.Group1.Group2.FirstItem` de una de las siguientes maneras: `SearchObjects.Group1.Group2.FirstItem`, `Group1.Group2.FirstItem`, `Group2.FirstItem`, `FirstItem`.

El nombre abreviado siempre hará referencia al elemento más anidado.

Suponga que tiene el siguiente árbol de elementos:

```text theme={null}
SearchElements
 FirstItem
 Group1
  FirstItem
  SecondItem
```

Si está en `SearchElements.Group1.SecondItem` y usa el nombre `FirstItem`, hará referencia al elemento `SearchElements.Group1.FirstItem` y no al elemento `SearchElements.FirstItem`.
