Toda la información de producto en wiki.bizagi.com aplica para Bizagi BPM Suite 9.1.X.
Para las nuevas versiones de Bizagi BPM Suite (10.X y superior) visite la Guía de Usuario.
 

Ejemplo Propiedades de Usuario

De

<keywords content="keywords">

propiedades de usuario, propiedades, propiedad de usuario, ejemplo, ejemplos

</keywords>

Ejemplo 1 Propiedades de Usuario

Bizagi contiene un conjunto de propiedades como nombre, e-mail, superior inmediato, etc. Sin embargo, un proyecto puede tener propiedades de usuario adicionales requeridas para los procesos o asignaciones, o simplemente como información de usuario adicional.


Se crean tres nuevas propiedades de usuario: Áreas Presupuestales, Número de Identificación y Centro de Costo.

Las propiedades pueden tener relaciones uno a muchos o muchos a muchos con una entidad de parametrización o del sistema o pueden no tener relación en cuyo caso será un tipo de dato simple.



Image:Bulletazul.gif  Para el caso del ejemplo Centro de Costo tiene una relación una a muchos (S-M) con la entidad de parametrización Centro de Costo porque un usuario puede pertenecer a un centro de costo y un centro de costo puede tener muchos usuarios. Para el caso de Áreas Presupuestales se tiene una relación muchos a muchos (M-M) con la entidad Paramétrica Área Presupuestal porque un usuario puede pertenecer a varias áreas presupuestales y un área presupuestal puede tener muchos usuarios. Por último para la propiedad de usuario Número de Identificación es una propiedad simple, que será definido como dato tipo entero y que se debe incluir manualmente para cada usuario.


Image:Assigning_Resources1_Image013.jpg


Image:Assigning_Resources1_Image014.jpg


Image:Assigning_Resources1_Image015.jpg


Image:Bulletazul.gif Para la selección, cambie y administre propiedades del usuario creadas, y abra una aplicación web.

Vaya al menú Admin, y seleccione Users. Luego, seleccione un usuario. Las propiedades del usuario serán mostradas en la última pestaña: Información Adicional.


El Orden Visual en las propiedades de usuario se usa para definir con un entero en qué orden aparecerán las propiedades de usuario adicionales que se incluyen para ser capturadas en el módulo de administración de usuarios en la aplicación web. Las propiedades de usuario siempre aparecerán en la pestaña "Información Adicional (Additional Information)" que es la última de las propiedades de usuario del sistema que se despliega. El Orden Visual también permite colocar números negativos. De esta manera, si el campo A tiene Orden Visual = 1 y el campo B tiene Orden Visual = -1, el campo B aparecerá primero que el campo A.


Image:Assigning_Resources1_Image016.jpg


Se puede apreciar que la propiedad de usuario Budget Area se despliega como un combo con los valores de la entidad de parametrización con la cual se relaciona y tiene el botón agregar para seleccionar todas aquellas áreas presupuestales a las que el usuario pertenezca.


La propiedad de usuario Número de identificación se despliega como un campo donde el usuario deberá incluir el dato solicitado.

Disponible para asignaciones significa que estará habilitado en el combo de propiedad de usuario que se aprecia al definir los usuarios asignados a una actividad como se aprecia en la siguiente gráfica.



Image:Assigning_Resources1_Image017.jpg


Ejemplo 2 Propiedades de Usuario

A continuación se muestra ejemplo de una regla que retorna un “Arreglo de Usuarios” (Users Array) dependiendo de una propiedad de usuario definida, para este ejemplo se utiliza la propiedad Jefe. Entonces, todos los usuarios que tengan un cierto jefe serán guardados y retornados para usarlos en una regla de asignación.

En este caso el id del jefe ha sido guardado previamente en un atributo del modelo de datos, para usarse como filtro de todos los usuarios. Para ello, se asigna el atributo a una variable. En la regla se puede observar que la propiedad de usuario puede depender de una propiedad asociada a una actividad o no, de acuerdo al funcionamiento requerido en la regla.

El código de la regla es el siguiente:





Ejemplo 3 de Propiedades de Usuario


Bizagi tiene otras alternativas para obtener los valores de las propiedades de los usuarios. Dependiendo del tipo de búsqueda requerido es posible buscar directamente sobre toda la entidad de datos así como se realizo en el Ejemplo 2 utilizando el Entity Manager o también es posible utilizar funciones predefinidas y contextualizada internas de Bizagi.

GetUserPropertiesAsHashTable()
Esta función retorna un objeto de tipo Hash-Table que representa una colección de valores. Estas tablas-hash son buenas para realizar búsquedas. Si se tiene una tabla-hash llena de valores solamente se requiere la posición del elemento que se desea recuperar y sera posible acceder a el rápidamente. Por ejemplo, si el ítem que queremos recuperar esta en la posición 3 entonces la búsqueda seria de la siguiente forma :

   var myitem= myHashTable[3];

Para obtener las propiedades de usuario de los participantes del caso, es posible utilizar el método getUserPropertiesAsHashTable del objeto Assignees en Bizagi, el cual retorna una tabla-hash con los valores de las propiedades de usuario de los usuarios que han trabajado en el caso. Recordemos que el objeto Assignees tiene la ventaja de que retorna información contextualizada de los usuarios que han trabajado en el caso de negocio.

Image:01-UserProperties.jpg

En el ejemplo anterior el valor de la propiedad 'property_name' para el usuario en la posición [I] de los usuarios que han trabajado en el caso sera asignado a la variable PropValue.

El siguiente es un ejemplo de un expresión que retorna un "array de ID usuarios", dependiendo del valor de una propiedad de usuario. La propiedad que sera utilizada para la búsqueda sera el Jefe de un usuario (idBossUser) y se requiere encontrar todos los usuarios que tengan el mismo jefe que hayan participado previamente en el caso. Así que, la solución sera utilizar el método getUserPropertiesAsHashTable y luego enviar los resultados en un array list como retorno a una regla de asignación.

El código de la regla seria el siguiente :

Image:002-UserProperties.jpg

En el ejemplo anterior el objeto Hash-Table es utilizado para retornar la lista de propiedades de los usuarios que han trabajado en el caso y luego llenar y retornar el arraylist con los ID's de esos usuarios.



WorkingCredential.UserProperties()
 Si solamente se requiere la información del usuario que esta actualmente en el caso no es necesario manejar una tabla Hash. En este caso basta con utilizar el método UserProperties del objeto WorkingCredential. Recuerde que el objeto WorkingCredential contiene la información del usuario actual.


El siguiente ejemplo muestra el código de una expresion que retorna el idBossUser del usuario actual y posteriormente una regla de asignación se encargara de utilizarlo. Nuevamente la propiedad utilizada sera IdBossUser. El código de la expresión entonces seria :
Image:003-UserProperties.jpg


Es importante tener en cuenta que para ambos casos el nombre de la propiedad que va entre corchetes debe ir en minúscula (por ejemplo : idbossuser, iduser).

Nota: Las propiedades de usuario están disponibles para ser creadas en el ambiente de desarrollo. Para garantizar el funcionamiento correcto de todos los ambientes una vez se ha hecho deployment éstas no pueden ser eliminadas. Si se crean nuevas propiedades, realice un deployment para llevar ésto a producción. Un administrador debe configurar las propiedades para cada usuario.

<comments />