> For the complete documentation index, see [llms.txt](https://doc.velneo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.velneo.com/38/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/sistema/enganches.md).

# Enganches

Conjunto de comandos de instrucción de proceso que permiten obtener información del [enganche](https://doc.velneo.com/38/velneo-vadmin/monitorizacion#enganche) de la sesión en curso y desconectar enganches.

Todos los comandos de este grupo comparten estas condiciones:

* Solo se ejecutan en primer y segundo plano. En tercer plano devuelven el error «no se ejecuta en este plano».
* Trabajan siempre sobre el enganche primario de la sesión, igual que la función de API [mainInstanceConnectionToken](https://doc.velneo.com/38/velneo-vdevelop/scripts/lenguajes/javascript/clases/vapp#string-maininstanceconnectiontoken), aunque el proceso se ejecute en un proyecto heredado.

## ¿Está el enganche activo?

Comando de instrucción del grupo Sistema que comprueba en el servidor si el enganche de la sesión sigue siendo válido.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Identificador de variable local booleana de retorno**: el comando retornará *true* (1) si el enganche está activo o *false* (0) si no lo está.

#### Funcionalidad

Si el enganche ya no es válido, el comando devuelve *false* y se dispara la reconexión que tenga configurada la aplicación.

#### Ejemplo

```
¿Está el enganche activo? ( ACTIVO )
```

## Desconectar enganches

Comando de instrucción del grupo Sistema que cierra sesiones completas de Velneo vClient, es decir, el enganche primario junto con sus enganches hijos.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Fórmula booleana de todos mis enganches (opcional)**: si es verdadera, desconecta todas las sesiones del usuario actual, en cualquier instancia.
* **Fórmula booleana de todos los enganches de mi instancia (opcional)**: si es verdadera, desconecta todas las sesiones de la instancia actual, de cualquier usuario.

#### Funcionalidad

Según los parámetros, el comando desconecta:

* **Sin ninguno de los dos parámetros**: solo la sesión propia.
* **Solo «Todos mis enganches»**: todas las sesiones del usuario.
* **Solo «Todos los enganches de mi instancia»**: todas las sesiones de la instancia.
* **Ambos parámetros**: la unión de los dos conjuntos.

#### Comentarios

Para desconectar sesiones de otros usuarios es necesario ser supervisor. Si no lo somos, se desconectan igualmente las sesiones de nuestro usuario y las demás se omiten. Este comando no tiene variable de retorno, por lo que no podemos saber desde el proceso si se ha omitido alguna sesión.

La sesión propia se cierra en el servidor después de responder. El proceso sigue ejecutándose, pero sus siguientes peticiones al servidor fallan. Podemos combinar este comando con el [modo de reconexión](https://doc.velneo.com/38/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/sistema/comandos-de-sistema#modo-de-reconexion) para que el cliente se vuelva a enganchar.

#### Ejemplo

Desconectamos todas las sesiones de la instancia en curso, de cualquier usuario:

```
Desconectar enganches ( No, Sí )
```

## Obtener alias de la instancia del enganche

Comando de instrucción del grupo Sistema que devuelve el alias de la instancia a la que está conectado el enganche de la sesión.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Identificador de variable local alfabética de retorno**: variable local en la que el comando retornará el alias de la instancia.

#### Ejemplo

```
Obtener alias de la instancia del enganche ( ALIAS_INSTANCIA )
```

## Obtener fecha y hora de inicio de conexión del enganche

Comando de instrucción del grupo Sistema que devuelve el momento en que se estableció la conexión del enganche de la sesión.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Identificador de variable local de tiempo de retorno**: variable local en la que el comando retornará la fecha y la hora de inicio de la conexión.

#### Comentarios

El valor coincide con la columna «Inicio conexión» de [Velneo vAdmin](https://doc.velneo.com/38/velneo-vadmin/monitorizacion).

#### Ejemplo

```
Obtener fecha y hora de inicio de conexión del enganche ( INICIO_CONEXION )
```

## Obtener fecha y hora de última conexión del enganche

Comando de instrucción del grupo Sistema que devuelve el momento de la última actividad del enganche de la sesión según el servidor.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Identificador de variable local de tiempo de retorno**: variable local en la que el comando retornará la fecha y la hora de la última conexión.

#### Comentarios

En la práctica, el valor coincide con la hora actual, ya que la propia petición del comando cuenta como actividad del enganche.

#### Ejemplo

```
Obtener fecha y hora de última conexión del enganche ( ULTIMA_CONEXION )
```

## Obtener número de enganches

Comando de instrucción del grupo Sistema que cuenta los enganches de Velneo vClient de la instancia en ejecución.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Fórmula booleana de solo los de mi usuario (opcional)**: si es verdadera, cuenta solo los enganches del usuario actual.
* **Identificador de variable local numérica de retorno**: variable local en la que el comando retornará el número de enganches.

#### Funcionalidad

El comando cuenta un enganche por sesión, sea primario o secundario, e incluye los caducados mientras no hayan expirado. No cuenta los enganches del propio servidor ni los de Velneo vAdmin y Velneo vDevelop, que no están asociados a ninguna instancia.

#### Ejemplo

Contamos los enganches del usuario actual:

```
Obtener número de enganches ( Sí, NUM_ENGANCHES )
```

## Obtener testigo del enganche

Comando de instrucción del grupo Sistema que devuelve el testigo del enganche de la sesión.

**Origen de la instrucción**: cualquiera.

**Destino del subproceso**: ninguno.

#### Parámetros

* **Identificador de variable local alfabética de retorno**: variable local en la que el comando retornará el testigo del enganche.

#### Ejemplo

```
Obtener testigo del enganche ( TESTIGO )
```
