Configuración avanzada utilizando agrupar por

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Modelar Procesos > Modelado para ejecución > Subprocesos > Subprocesos Reusables > Entendiendo los Subprocesos múltiples > Configuración avanzada para los Subprocesos múltiples >

Configuración avanzada utilizando agrupar por

Para ejemplificar la opción de Agrupar por, vamos a utilizar el proceso Ingreso de Estudiantes descrito en las secciones anteriores.

 

En un colegio, muchos estudiantes necesitan inscribirse para poder asistir a clase. Las solicitudes de los estudiantes deben ser recibidas y luego procesadas, por lo que se debe crear un Proceso de Matrícula de estudiantes: uno por cada estudiante. La situación de negocio descrita puede ser modelada con se muestra en el siguiente diagrama:

 

Configure multiple subprocess1

 

 

En este ejemplo el Proceso Padre se llama Ingreso de Estudiantes y un Subproceso Múltiple llamado Matrícula de Estudiantes.

 

Ambos procesos han sido diagramados en Bizagi Modeler y se han definido sus Entidades de Proceso respectivas.

Ingreso de Estudiantes es la Entidad de Proceso del proceso Ingreso de Estudiantes y Matrícula de Estudiantes el la Entidad de Proceso del proceso Matrícula de Estudiantes.

 

Para crear la relación de las instancias del Subproceso múltiple se debe definir una colección: La colección llamada Matrícula de Estudiantes.

 

 

Configure multiple subprocess with basics10

 

Deseamos manejar el ingreso de los estudiantes de acuerdo al género, por lo que se crearán una instancia del subproceso de Matrícula de Estudiantes para los niños y otra instancia para las niñas como se muestra en la figura.  

 

Configure multiple subprocess with advanced2

 

Para agrupar las instancias del Subproceso siga los siguientes pasos:

 

1. Vaya al paso 1 (Modelar Proceso) del asistente y dé clic en Editar Proceso. Seleccione el Proceso Padre Ingreso de Estudiantes.

En el diagrama del modelo, dé clic derecho sobre la actividad que desea convertir, en este caso Matrícula de Estudiantes y seleccione la opción Transformar en Subproceso.

 

El asistente de la configuración del Subprocesos aparecerá en una nueva ventana mostrando los tipos de Subproceso. Señale la opción Reusable.

 

Configuremultiplesubprocesswithbasics1.1.

 

Una ventana de propiedades se desplegará. Selecione la Casilla de verificación múltiple y el proceso que desea configurar como Subproceso de la lista desplegable de procesos. En este ejemplo, nosotros seleccionamos Matrícula de Estudiantes.

 

Configuremultiplesubprocesswithbasics11

3. Seleccione la pestaña Múltipe, una vez seleccionada:

Defina la colección para agrupar el Subproceso. Para hacerlo, haga clic en el botón de navegación del control de Xpath a Colección. En este caso, agrupamos por la colección matrículas de estudiantes  (StudentsApplication.StudentsEnrollments).

Seleccione el menú desplegable de número de instancias (Number of instances). En este ejemplo seleccionams la opción ítems en colección (Items in Collection).

Una vez se ha definido la colección, el Asistente le indicará que una relación debe ser definida entre dicha entidad y la entidad actual Subproceso. Seleccione el botón de creación de entidad relacionada para establecer esa relación automáticamente.

 

Configuremultiplesubprocesswithbasics12

4. Seleccione la casilla de verificación Agrupar y seleccione los atributos de la caja de atributos en colección (Attributes in Collection) por los que desea realizar la agrupación. Seleccione el atributo  y luego arrastre el elemento a la caja del lado derecho Atributos a usar en agrupamiento. (Attributes to use in Group) para adicionarlo. Para remover un atributo seleccione su casilla de verificación. Vamos a agrupar por género.

Para definir la colección que se va a agrupar, en este caso la colección matrícula de estudiantes (StudentsEnrollments) debe definirse una relación entre dicha entidad y la entidad de Subproceso actual. Haga clic en el botón Agrupar en la colección para establecer esa relación automáticamente.

 

Configuremultiplesubprocesswithbasics16

 

 

 

 

Relación con el proceso Padre

 

Cuando ejecute el Proceso notará que no es posible acceder a la información del Proceso padre ya que no se realiza un mapeo automático de los datos; Esto significa, que no existe una relación entre la entidad del Subproceso y la entidad del Proceso padre. Existe una relación entre la Entidad de Proceso del proceso padre y la entidad agrupada y entre la entidad de Proceso del Subproceso y la entidad agrupada.

 

Using groupby8

 

Es necesario definir la relación faltante para navegar por el modelo de datos y acceder a la información de la entidad del Proceso padre.

 

Using groupby9

 

Para definir la relación faltante entre la entidad del Proceso padre y la entidad del Subproceso siga los siguientes pasos:

 

1. Estando en el proceso padre, vaya al segundo paso del Asistente y dé clic en Modelo de Datos.

 

Using groupby10

 

2. Una nueva ventana es mostrada. Clic derecho en la entidad del Subproceso (Matrícula de Estudiantes por género) y seleccione la opción Editar lista de atributos.

 

 

Using groupby11

 

 

3. Cree un nuevo atributo dando clic en Adicionar e incluya el nombre visual. Seleccione la Entidad del Proceso Padre para crear la relación.

En este caso vamos a escribir Inscripción de Estudiantes y seleccionar la entidad Inscripción de Estudiantes de la lista de entidades maestras.

 

Using groupby12

 

4. La relación faltante se ha establecido y el modelo de datos ha sido actualizado.

 

Using groupby13

 

5. Ahora es necesario crear una expresión que incluya la información necesaria para completar la nueva relación.

Defina una expresión "al entrar" en la primera actividad del Subproceso. La expresión debe tomar el ID de la entidad del Proceso padre y asignarla en la entidad del Subproceso.

 

La expresión para este ejemplo sería:

 

var idParent=<StudentsEnrollmentbyGender.StudentsEnrollment[1].StudentsApplication>

<StudentsEnrollmentbyGender.StudentApplication>=idParent

 

Configure multiple subprocess with advanced7

 

Con la relación creada y la expresión para mapear los datos definida, usted podrá acceder a la información del contexto del proceso padre de forma normal a través de la relación Inscripción de Estudiantes.

 

Using groupby14

 

note_pin

Para agrupar instancias del Subproceso, tenga en cuenta que las entidades del subproceso múltiple y de la colección deben ser diferentes.