Otras Reglas
De
<keywords content="keywords">
reglas, entidades, relacion 1:N, instanciar, contrar entradas, modificar entradas, eliminar entradas, adicionar entradas, añadir entradas
</keywords>
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. |
Obtener el Valor de un Atributo (columna) desde una Tabla
¿Cómo Contar las Entradas de una Búsqueda en una Entidad?
¿Cómo Modificar Información en las Entradas de 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
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>", "", "");
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
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
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?
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
¿Cómo Modificar Información en las Entradas de una Entidad?
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.
Borrar Entradas de una Entidad
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.
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 />