# Variáveis de ambiente

Nessa tela de variáveis de ambiente você definirá informações (variáveis globais) que ficarão disponíveis em diversas partes do seu sistema.

Suponha que você queira que a Data de Nascimento do usuário logado esteja disponível para acesso via Javascript nos seus formulários ou você quer usar essa informação em algum parâmetro de entrada de uma Query, em relatórios ou dashboards.

Para isso basta criar uma variável do tipo "SQL Simples (Valor único)"; defina o nome para a variável, nesse caso, utilize "**var\_dataNascimento";** marque como **SIM** a opção "Essa é uma Informação relacionada ao usuário logado e o valor pode variar de acordo com cada usuário".

No **botão "Query Sql**", defina a query Sql para buscar a **Data de Nascimento** do usuário logado. Exemplo da query:

```SQL
select top 1 usu_dt_nasc as Value from tbl_usuario where id = @var_usuarioLogadoId and deletado = false
```

Salve e pronto. A partir de agora essa variável estará disponível em todo o seu ambiente. Para recuperar os valores da variável veja os itens mais abaixo.

<p class="callout warning">**Importante:** os valores das variáveis de ambiente, ficam em **cache,** esse cache é renovado a cada 1 hora. Assim melhora a performance e evita excessos de consultas ao banco de dados. O cache é automaticamente renovado quando o usuário faz login e quando no formulário de criação da Variável de Ambiente você clica em "salvar".</p>

<p class="callout danger">**Atenção**: Nunca coloque dados sensíveis ou sigilosos em uma variável de ambiente.</p>

#### Para recuperar os valores da variável de ambiente

Seguindo o exemplo acima, suponhamos que você queira agora recuperar o valor via Javascript.

<p class="callout info">Caso queira utilizar a variável em alguma situação específica ou em alguma parte do sistema que ela <span style="text-decoration: underline;">ainda não esteja disponível</span>, fale com nossa equipe que estaremos prontos para te ajudar.</p>

A forma correta seria via:

### Em Javascript

Suponhamos que a variável criada tem o nome "var\_dataNascimento". Utilize a função abaixo, ela retornará o valor da variável.

Recuperar o Valor:

```JavaScript
var var_dataNascimento = GetEnvironmentVariable("var_dataNascimento")
```

Recuperar a Descrição (texto), no caso de variáveis do Tipo "Query com Id + Descrição":

```JavaScript
var var_dataNascimento = GetEnvironmentVariable_Text("var_dataNascimento")
```

### Em uma Query SQL

Suponhamos que a variável criada tem o nome "var\_dataNascimento". Utilize o nome da variável como parâmetro de sua Query, como no exemplo abaixo.

```SQL
select usu_nome  from tbl_usuario where usu_dt_nasc = @var_dataNascimento and deletado = false
```

### Em C# (na área de Regras de Negócio do Formulario)

Suponhamos que a variável criada tem o nome "var\_dataNascimento". Utilize a função abaixo, ela retornará o valor da variável.

Recuperar o Valor:

```JavaScript
FormContext.GetEnvironmentVariable("var_dataNascimento")
```

Recuperar a Descrição (texto), no caso de variáveis do Tipo "Query com Id + Descrição":

```JavaScript
FormContext.GetEnvironmentVariable_Text("var_dataNascimento")
```

### Em C# (nos componentes em cshtml)

Suponhamos que a variável criada tem o nome "var\_dataNascimento". Utilize a função abaixo, ela retornará o valor da variável.

Recuperar o Valor:

```JavaScript
PageContext.GetEnvironmentVariable("var_dataNascimento")
```

Recuperar a Descrição (texto), no caso de variáveis do Tipo "Query com Id + Descrição":

```JavaScript
PageContext.GetEnvironmentVariable_Text("var_dataNascimento")
```

### Em C# (nas API)

Suponhamos que a variável criada tem o nome "var\_dataNascimento". Utilize a função abaixo, ela retornará o valor da variável.

Recuperar o Valor:

```JavaScript
ApiContext.GetEnvironmentVariable("var_dataNascimento")
```

Recuperar a Descrição (texto), no caso de variáveis do Tipo "Query com Id + Descrição":

```JavaScript
ApiContext.GetEnvironmentVariable_Text("var_dataNascimento")
```