<< Clic para mostrar Tabla de Contenidos >> Adicionar y remover registros de Mis Cosas |
Cuando usted desee añadir o remover ítems a 'Mis Cosas' de la Persona, puede hacerlo mediante una expresión.
Para registros relacionados a 'Mis Cosas', debe considerar si el registro a añadir ha sido creado previamente, de manera que se pueda adjuntar, o si en caso contrario, es un nuevo registro.
Además, debe considerar si la Persona es un usuario único, dueño del registro o si las otras Personas poseen el registro de igual manera (Observe el registro en 'Mis Cosas').
Ejemplo
Suponga un escenario donde en un concesionario de automóviles usted necesite diseñar una solución en la cual los clientes puedan adicionar y eliminar automóviles desde una lista de favoritos. Puede hacerlo utilizando una expresión que permita la adición de un registro de un vehículo a una colección en 'Mis Cosas', y una vez el registro se encuentre allí, puede usar una regla de acción para eliminar dicho ítem desde 'Mis Cosas'.
¿Qué necesita hacer?
1. Crear el Modelo de Datos que soportará el escenario anteriormente planteado.
2. Habilitar la entidad en 'Mis Cosas'
3. Crear una búsqueda para encontrar los vehículos y añadirlos a la lista de favoritos.
4. Crear una acción para añadir los vehículos a la lista de favoritos.
5. Crear una acción para remover los vehículos de una lista de favoritos.
Crear un Modelo de Datos que soporte el escenario
Se debe tener en cuenta que muchos de los clientes pueden añadir el mismo vehículo a su lista de favoritos, por lo tanto, un vehículo puede ser incluido como favorito en la lista de muchos de los clientes. En este caso, no es posible tener una colección directa de Cliente a Vehículo, porque esto implicaría que un cliente es propietario, de manera que no permitiría el escenario descrito anteriormente donde es necesario tener varios clientes que puedan seleccionar varios vehículos.
Para habilitar el modelo, se requiere utilizar un entidad intermedia entre vehículos y clientes a la cual llamaremos Vehículos favoritos. Ambas entidades, Vehículos y Clientes tendrán una relación uno-a-muchos.
Habilitar la entidad en 'Mis Cosas'
Dado este enfoque, la entidad requerida para enlazar la definición de los Clientes de las Personas es la nueva entidad Vehículos favoritos.
Diríjase a 'Mis Cosas' y habilite la colección de Vehículos favoritos en el contexto "Siempre disponible".
Crear una Búsqueda para encontrar vehículos que se añadirán a lista de favoritos.
En la Persona, cree una búsqueda para habilitar la búsqueda de vehículos en el proyecto.
Crear una acción para adicionar un vehículo a la lista de favoritos
Se necesita un botón sobre los registros de los vehículos en la búsqueda realizada por un Cliente, de tal manera, se seleccionará la entidad Vehículos para ser aquella donde la acción es ejecutada.
Después, se seleccionará una regla para ejecutar y crear una nueva regla.
La expresión requiere la adición de un nuevo registro a la lista de la entidad Vehículos favoritos, enlazando al cliente con el vehículo que ha sido añadido.
Por lo tanto, se necesita usar la función Me.newCollectionItem tal como se muestra a continuación:
var NewFav = Me.newCollectionItem("Addedtofavorites");
NewFav.setXPath("Client",Credential.Persona("Client"));
Tenga en cuenta que sólo se actualizará el Cliente en la expresión debido a que el registro del vehículo será inyectado automáticamente por Bizagi.
Crear una acción para remover un vehículo de la lista de favoritos
Se necesita un botón sobre los registros de los vehículos que se han incluido en la colección de Favoritos, de tal manera se seleccionará la entidad Vehículos favoritos para ser aquella donde la acción es ejecutada.
Luego, se seleccionará una regla para ejecutar y crear una nueva regla.
La expresión requiere la eliminación completa de un registro desde la entidad Vehículos favoritos. Se usará la función Me.deleteCollectionItems como se muestra a continuación:
var ThisItem = Me.Context.getXPath("Id");
Me.deleteCollectionItems("Client.Favoritevehicles", Me.getXPath("Client.Favoritevehicles[id = "+ ThisItem +"]")
Last Updated 2/21/2023 9:37:18 PM