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.
 

Otras Reglas

De

<keywords content="keywords">

reglas, entidades, relacion 1:N, instanciar, contrar entradas, modificar entradas, eliminar entradas, adicionar entradas, añadir entradas

</keywords> 


Contenido

Usando Entity Manager

Nota: Es muy importante mencionar que el EntityManager debería ser utilizado únicamente para obtener y trabajar con Entidades que no se encuentran relacionadas con el caso y que No se pueden acceder directamente navegando por el modelo de datos con XPath. Esto se debe a que el EntityManager no obtiene la información desde el Scope que maneja Bizagi, sino directamente desde la base de datos. De esta forma, la información que aún no ha sido persistida en la base de datos no podrá ser encontrada por el EntityManager.

 
Image:Bulletrojo.gif ¿Cómo Instanciar una Entidad?

Image:Bulletrojo.gif Obtener el Valor de un Atributo (columna) desde una Tabla

Image:Bulletrojo.gif ¿Cómo Contar las Entradas de una Búsqueda en una Entidad?

Image:Bulletrojo.gif ¿Cómo Modificar Información en las Entradas de una Entidad?

Image:Bulletrojo.gif Borrar Entradas desde una Entidad

Image:Bulletrojo.gif Agregar Entradas a una Entidad


¿Cómo Instanciar una Entidad?


CEntityManager.GetEntity(“EntityName").GetEntityList("", "", "", "");

 

Parámetro 1: Nombre Atributo a Filtrar

Parámetro 2: Valor del Atributo a Filtrar

Parámetro 3: Búsqueda

Parámetro 4: Atributo por el que se desea ordenar la búsqueda


Image:Bulletazul.gif En caso de que desee instanciar todos los registros de la entidad que cumplen una sola condición:


oEntEntityNameList=CEntityManager.GetEntity(“EntityName").GetEntityList(“AttributeName", “<OtherAttributeRelatedPV>", "", "");


Image:Bulletazul.gif En caso de que desee instanciar todos los registros de la entidad que cumplen varias condiciones:


oEntEntityNameList=CEntityManager.GetEntity(“EntityName").GetEntityList(“", “", “AttributeName Operator “+<OtherAttributeRelatedPV> +“ AND OtherAttributeName Operator Value ", "");


oEntEntityNameList: Variable donde va a instanciar la entidad.

EntityName: Nombre de la entidad que se va a instanciar.

AttributeName: Nombre del Atributo por el cual se desea hacer el filtro.

OtherAttributeRelatedPV: El valor que debe tomar el atributo, puede ser un atributo o un valor fijo. En este caso es un atributo.

OtherAttributeName: Nombre del otro Atributo por el cual se desea hacer el filtro.

Value: El valor que debe tomar el atributo, puede ser un atributo o un valor fijo. Este caso es un valor fijo.

Operator: Como operador para las búsquedas puede usar:


Operador

Nombre

Ejemplo

=

Igual a

idClient = <idClient>

<> 

Diferente a

idClient <> <idClient>

Mayor que

balance > 600

Menor que

balance < 600

>=

Mayor o igual que

balance >= 600

<=

Menor o igual que

balance <= 600

AND

Y

balance >= 600 AND idClient = <idClient>

OR

O

balance = 600 OR balance = 100

BETWEEN

Entre

balance BETWEEN 200 AND 500

IN ()

En

saldo IN (600, 650, 700)

IS NULL

Igual a null

NombreCiudad IS NULL

IS NOT NULL

Diferente a null

NombreCiudad IS NOT NULL


Ejemplo: Todos los registros de la entidad WFUSER (usuario) donde el idLocation es igual al id de la ubicación del usuario creador del caso.  .

EntUsuarioList=CEntityManager.GetEntity(“WFUSER").GetEntityList(“idLocation", Me.Case.Creator.Location.Id, "", ""); Todos los registros de la entidad Ciudad donde el idPais es igual al País de nacimiento del cliente y el idTipoProducto es 1, 4 or 5. EntLoanRequestList=CEntityManager.GetEntity(“City").GetEntityList(“", “", “idCountry = “ + <idRequest.idClient.idBirthCity.idCountry> + “ AND idProductType in (1,4,5)", "");


Nota: Al usar atributos tipo texto es necesario usar comilla sencilla para filtrar sus valores cuando se usa GetEntityList.



Obtener el Valor de un Atributo (columna) desde una Tabla


Image:Bulletazul.gif Para obtener el valor de un atributo es necesario indicarle la fila en donde se encuentra, para esto debe:

oEntEntiyName = oEntEntityNameList[i];

oEntEntiyName.Attributes[“AttributeName"].Value


Image:Bulletazul.gif Para obtener el valor de la Llave primaria del registro en el que se encuentra la Iteración.


oEntEntiyName = oEntEntityNameList[i];

oEntEntiyName.SurrogateKeyValue

oEntEntiyName: El nombre de la variable usada para obtener una fila de la entidad.

oEntEntityNameList: Variable donde instancio la entidad.

AttributeName: Nombre del Atributo que desea obtener.

i: Número de la fila.

Si el valor que se quiere obtener es de una tabla paramétrica refiérase a Obtener valor de una tabla paramétrica

¿Cómo Contar las Entradas de una Búsqueda en una Entidad?


Image:Bulletazul.gif Usted puede usar la siguiente expresión para contar las entradas de una Búsqueda en una Entidad:


oEntEntiyNameList.Length

oEntEntityNameList: Variable donde la entidad fue instanciada


Image:Business_Rules13_Image003.jpg


¿Cómo Modificar Información en las Entradas de una Entidad?


Image:Bulletazul.gif Usted puede usar una Expresión que contenga lo siguiente en un For o en un While para modificar las entradas de una Entidad.

oEntEntiyName = oEntEntityNameList[i];

oEntEntiyName.Attributes[“AttributeName"].Value = Value;

oEntEntiyName.Attributes[“AttributeName1"].Value = Value1;

oEntEntiyName.Update();


oEntEntityNameList: Variable donde la entidad fue instanciada.

i: Número de Columna.

oEntEntiyName: El nombre de la variable usada para encontrar una columna de la entidad.

AttributeName1…n: Nombre de cada una de los atributos de la entidad a ser modificada.

Value1…n: Valor que la entrada tomará, el cual puede ser el valor de un atributo, una variable o una constante. El tipo de valor debe ser tomado en cuenta.

 

Image:Business_Rules13_Image004.jpg


Borrar Entradas de una Entidad


Image:Bulletazul.gif Use una expresión para borrar las entradas que cumplen una condición.


oEntEntiyName = oEntEntityNameList[i];

oEntEntiyName.Delete();


oEntEntityNameList: Variable donde la entidad fue instanciada de acuerdo a un filtro dado.

'i': Número de Columna

oEntEntiyName: Nombre de la variable usada para encontrar la columna de la entidad.

 

Image:Business_Rules13_Image005.jpg


Agregar Entradas a una Entidad

Si un usuario desea agregar registros a una entidad Paramétrica, esto debe ser realizado por medio de Bizagi Studio (entidades) o del Portal de Trabajo: Incluir Valores en Entidades Paramétricas. Para adicionar registros a una Colección se debe usar la funcion addRelation

Filtrar fechas usando Entity Manager

Las fechas que han sido guardadas en la base de datos por medio del Portal de Trabajo (( [ [Creando Formas]]), son guardadas en la base de datos incluyendo minutos y segundos, debido a que las fechas se manejan como Fecha-Hora. Entonces, para acceder a esas fechas usando Entity Manager es necesario convertirlas a un formato sólo fecha que pueda ser leído por las expresiones.

Para ilustrar un ejemplo de esta situación, asuma que tiene un proceso de Solicitud de Compras en donde se crean órdenes de compra tan pronto un proveedor es seleccionado. Toda la información de la orden se ingresa por medio del Portal de trabajo incluyendo las fechas de pago.

Usted tiene otro proceso llamado Cuentas por Pagar en donde usted necesita encontrar todas las órdenes de compra pendientes que deben ser pagadas en la siguiente semana. Para hacer esto es necesario usar el Entity Manager y seleccionar de la entidad Órdenes de Compra, aquellas que no han sido pagadas y tienen una fecha próxima. Estas se cargarán en el caso de Cuentas por Pagar. Creamos entonces una expresión AL ENTRAR de una actividad automática para seleccionar aquellas órdenes de compra y luego mostrarlas en la primera actividad manual: Seleccionar Facturas.



El siguiente es el código requerido para la expresión de forma que se seleccionen de la entidad, en este ejemplo Órdenes de Compra, filtrando por fecha.

FirstDate = Convert.ToDateTime(<Process.Date1>);
DateToFilter = "CONVERT(DATETIME,'"+String.Format("{0:MM/dd/yyyy}"+"'", FirstDate)+", 102)";
ListOfRecords = CEntityManager.GetEntity("EntityToFilter").GetEntityList("","","DateAttribute = '"+  DateToFilter +"'","");



Artículos Relacionados

<comments />