# VUserGroup

Representa a un grupo de usuarios declarado en el servidor de aplicaciones.

## Indice de funciones

### **Constructor**

[VUserGroup](#vusergroup)()

### **Generales**

Number [id](#id)()

String [name](#name)()

void [setName](#setname)( String name )

### **De estilos**

Boolean [canCreateSolutions](#cancreatesolutions)()

Boolean [canDeleteSolutions](#candeletesolutions)()

Boolean [canRunDataClient](#canrundataclient)()

void [setCanCreateSolutions](#setcancreatesolutions)( Boolean set )

void [setCanDeleteSolutions](#setcandeletesolutions)( Boolean set )

void [setCanRunDataClient](#setcanrundataclient)( Boolean set )

### **De permisos de soluciones**

Number [editPermission](#editpermission)( String solutionName )

StringArray [editPermissionList](#editpermissionlist)()

Boolean [hasEditPermission](#haseditpermission)( String solutionName )

void [removeAllEditPermission](#removealleditpermission)()

void [removeEditPermission](#removeeditpermission)( String solutionName )

void[setEditPermission](#seteditpermission)( String solutionName, Number flags )

### **De permisos de instancias de datos**

void [addDataPermission](#adddatapermission)( Number dataInstanceCode )

NumberArray [dataPermissionList](#datapermissionlist)()

Boolean [hasDataPermission](#hasdatapermission)( Number dataInstanceCode )

void [removeAllDataPermission](#removealldatapermission)()

void [removeDataPermission](#removedatapermission)( Number dataInstanceCode )

### **De permisos de instancias de aplicación**

void [addAppPermission](#addapppermission)( Number appInstanceCode )

NumberArray [appPermissionList](#apppermissionlist)()

Boolean [hasAppPermission](#hasapppermission)( Number appInstanceCode )

void [removeAllAppPermission](#removeallapppermission)()

void [removeAppPermission](#removeapppermission)( Number appInstanceCode )

### **De permisos de carpetas compartidas**

void [addAuthorizedSharedFolder](#addauthorizedsharedfolder)( String folderName )

StringArray [authorizedSharedFolders](#authorizedsharedfolders)()

Boolean [isAuthorizedSharedFolder](#isauthorizedsharedfolder)( String folderName )

void [removeAuthorizedSharedFolder](#removeauthorizedsharedfolder)( String folderName )

## Enumeraciones

**Flags de permisos de soluciones**

* SolutionFlagView = 0x01
*

    SolutionFlagEdit = 0x02
* SolutionFlagTranslate = 0x04
* SolutionFlagCreate = 0x08
* SolutionFlagDelete = 0x10
* SolutionFlagExport = 0x20
* SolutionFlagInstall = 0x40
*   SolutionFlagAll =

    (SolutionFlagView|SolutionFlagEdit|SolutionFlagTranslate|SolutionFlagCreate|SolutionFlagDelete|SolutionFlagExport|SolutionFlagInstall)

## Documentación de funciones

### Constructor

#### VUserGroup() <a href="#vusergroup" id="vusergroup"></a>

Constructor. Crea una instancia de objeto de la clase VUserGroup.

### Funciones generales

#### Number id() <a href="#id" id="id"></a>

Devuelve el código numérico del grupo de usuario.

#### String name() <a href="#name" id="name"></a>

Devuelve el nombre del grupo de usuario.

#### void setName( String name ) <a href="#setname" id="setname"></a>

Modifica el nombre del grupo de usuarios.

Parámetros:

* name: texto con el nombre del usuario a grabar.

Este comando solo funcionará en la creación de un nuevo usuario, es decir, mientras no tenga asignado el id, una vez que usuario ha sido creado y tiene asignado un id esta función no será funcional y no modificará el nombre del usuario. Este control se realiza para asegurar que un usuario no puede modificar su nombre una vez creado.

### Funciones de estilos

#### Boolean canCreateSolutions() <a href="#cancreatesolutions" id="cancreatesolutions"></a>

Devuelve true si el grupo de usuario tiene activado el check "Puede crear soluciones", devuelve false en caso contrario.

#### Boolean canDeleteSolutions() <a href="#candeletesolutions" id="candeletesolutions"></a>

Devuelve true si el grupo de usuario tiene activado el check "Puede borrar soluciones", devuelve false en caso contrario.

#### Boolean canRunDataClient() <a href="#canrundataclient" id="canrundataclient"></a>

Devuelve true si el grupo de usuario tiene activado el check "Puede ejecutar proyectos de datos con vDataClient", devuelve false en caso contrario.

#### void setCanCreateSolutions( Boolean set ) <a href="#setcancreatesolutions" id="setcancreatesolutions"></a>

Activa o desactiva el check "Puede crear soluciones" en función del parámetro.

Parámetros:

* set: true para activar el check "Puede crear soluciones", false para desactivarlo.

#### void setCanDeleteSolutions( Boolean set ) <a href="#setcandeletesolutions" id="setcandeletesolutions"></a>

Activa o desactiva el check "Puede borrar soluciones" en función del parámetro.

Parámetros:

* set: true para activar el check "Puede borrar soluciones", false para desactivarlo.

#### void setCanRunDataClient( Boolean set ) <a href="#setcanrundataclient" id="setcanrundataclient"></a>

Activa o desactiva el check "Puede ejecutar proyectos de datos con vDataClient" en función del parámetro.

Parámetros:

* set: true para activar el check "Puede ejecutar proyectos de datos con vDataClient", false para desactivarlo.

### Funciones de permisos de soluciones

#### Number editPermission( String solutionName ) <a href="#editpermission" id="editpermission"></a>

Devuelve un valor numérico que representa los permisos de edición del grupo de usuario para la solución especificada en el parámetro.

El valor devuelto será la combinación de los flags de permisos de soluciones (ver enumeración). Los valores con combinables mediante el uso del operador bitwise or booleano "|".

Parámetros:

* solutionName: nombre de la solución.

#### StringArray editPermissionList() <a href="#editpermissionlist" id="editpermissionlist"></a>

Devuelve un array con los nombres de las soluciones a las que tiene permiso el grupo de usuario.

#### Boolean hasEditPermission( String solutionName ) <a href="#haseditpermission" id="haseditpermission"></a>

Devuelve true si el grupo de usuario tiene permisos de edición para la solución especificada en el parámetro.

Parámetros:

* solutionName: nombre de la solución.

#### void removeAllEditPermission() <a href="#removealleditpermission" id="removealleditpermission"></a>

Elimina los permisos de edición del grupo de usuario para todas las soluciones.

#### void removeEditPermission( String solutionName ) <a href="#removeeditpermission" id="removeeditpermission"></a>

Elimina los permisos de edición del grupo de usuario para la solución especificada en el parámetro.

Parámetros:

* solutionName: nombre de la solución.

#### void setEditPermission( String solutionName, Number flags ) <a href="#seteditpermission" id="seteditpermission"></a>

Cambia los permisos de edición del grupo de usuario para la solución especificada en el parámetro. Los flags de configuración de los permisos son combinables y permiten activar y desactivar múltiples estilos a la vez.

Parámetros:

* solutionName: nombre de la solución.
* flags: sus valores con combinables mediante el operador bitwise or booleano "|". Ver enumeración de flag de permisos de soluciones.

### Funciones de permisos de instancias de datos

#### void addDataPermission( Number dataInstanceCode ) <a href="#adddatapermission" id="adddatapermission"></a>

Añade el permiso al grupo de usuario para el proyecto de datos especificado en el parámetro.

Parámetros:

* dataInstanceCode: código numérico de la instancia del proyecto de datos.

#### NumberArray dataPermissionList() <a href="#datapermissionlist" id="datapermissionlist"></a>

Devuelve un array con los código de instancia de los proyectos de datos a los que tiene permiso el grupo de usuario.

#### Boolean hasDataPermission( Number dataInstanceCode ) <a href="#hasdatapermission" id="hasdatapermission"></a>

Devuelve true si el grupo de usuario tiene permiso para el proyecto de datos especificado en el parámetro, y devuelve false en caso contrario.

Parámetros:

* dataInstanceCode: código numérico de la instancia del proyecto de datos.

#### void removeAllDataPermission() <a href="#removealldatapermission" id="removealldatapermission"></a>

Elimina todos los permisos de instancias de proyectos de datos del grupo de usuario.

#### void removeDataPermission( Number dataInstanceCode ) <a href="#removedatapermission" id="removedatapermission"></a>

Elimina el permiso del grupo de usuario para el proyecto de datos especificado en el parámetro.

Parámetros:

* dataInstanceCode: código numérico de la instancia del proyecto de datos.

### Funciones de permisos de instancias de aplicación

#### void addAppPermission( Number appInstanceCode ) <a href="#addapppermission" id="addapppermission"></a>

Añade el permiso al grupo de usuario para el proyecto de aplicación especificado en el parámetro.

Parámetros:

* appInstanceCode: código numérico de la instancia del proyecto de aplicación.

#### NumberArray appPermissionList() <a href="#apppermissionlist" id="apppermissionlist"></a>

Devuelve un array con los código de instancia de los proyectos de aplicación a los que tiene permiso el grupo de usuario.

#### Boolean hasAppPermission( Number appInstanceCode ) <a href="#hasapppermission" id="hasapppermission"></a>

Devuelve true si el grupo de usuario tiene permiso para el proyecto de aplicación especificado en el parámetro, y devuelve false en caso contrario.

Parámetros:

* appInstanceCode: código numérico de la instancia del proyecto de aplicación.

#### void removeAllAppPermission() <a href="#removeallapppermission" id="removeallapppermission"></a>

Elimina todos los permisos de instancias de proyectos de aplicación del grupo de usuario.

#### void removeAppPermission( Number appInstanceCode ) <a href="#removeapppermission" id="removeapppermission"></a>

Elimina el permiso del grupo de usuario para el proyecto de aplicación especificado en el parámetro.

Parámetros:

* appInstanceCode: código numérico de la instancia del proyecto de aplicación.

### Funciones de permisos de carpetas compartidas

#### void addAuthorizedSharedFolder( String folderName ) <a href="#addauthorizedsharedfolder" id="addauthorizedsharedfolder"></a>

Añade el permiso al grupo de usuario para usar la carpeta compartida especificada en el parámetro.

Parámetros:

* folderName: nombre de la carpeta compartida.

#### StringArray authorizedSharedFolders() <a href="#authorizedsharedfolders" id="authorizedsharedfolders"></a>

Devuelve un array con los nombres de las carpetas compartidas a las que tiene permiso el grupo de usuario.

#### Boolean isAuthorizedSharedFolder( String folderName ) <a href="#isauthorizedsharedfolder" id="isauthorizedsharedfolder"></a>

Devuelve true si el grupo de usuario tiene permiso para utilizar la carpeta compartida especificada en el parámetro.

Parámetros:

* folderName: nombre de la carpeta compartida.

#### void removeAuthorizedSharedFolder( String folderName ) <a href="#removeauthorizedsharedfolder" id="removeauthorizedsharedfolder"></a>

Elimina el permiso al grupo de usuario para usar la carpeta compartida especificada en el parámetro.

Parámetros:

* folderName: nombre de la carpeta compartida.
