Forzar un atributo para deployment

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio > Parámetros de proyecto e información de organización >

Forzar un atributo para deployment

Introducción

El analizador de expresiones de Bizagi es altamente robusto para identificar todos los atributos, entidades y otros elementos que deben incluirse en los paquetes de deployment para los ambientes de Pruebas y Producción.

 

Sin embargo, en algunos casos, ciertos atributos del modelo de datos pueden no incluirse en un paquete de deployment. Como resultado, al probar un paquete de deployment en el ambiente de Pruebas, puede ocurrir un error en tiempo de ejecución debido a un atributo faltante.

 

Este problema surge cuando un atributo se usa exclusivamente dentro de una expresión y no se referencia en otros lugares, como en formas o asignaciones. Además, si la expresión está estructurada de manera que impide que Bizagi detecte el atributo, este no se incluirá en el deployment.

 

Lo que debe hacer

Para garantizar que los atributos se incluyan correctamente al trabajar con expresiones complejas y dinámicas, se recomienda usar cualquiera de las siguientes sentencias:

 

CHelper.usingAttrib("EntityName", "AttribName")

 

Donde:

EntityName: Nombre de la entidad donde se almacena el atributo.

AttribName: Nombre del atributo que se debe incluir en el deployment.

 

CHelper.usingXPath("EntityName", "XPath")

 

Donde:

EntityName: Nombre de la entidad donde se almacena el atributo.

XPath: XPath del atributo que se debe incluir en el deployment.

 

CHelper.usingXPath("XPath")

 

Donde:

XPath: XPath del atributo que se debe incluir en el deployment.

 

Todos los parámetros deben estar entre comillas dobles. NO use variables como parámetros.

 

Incluir cualquiera de estas sentencias en una expresión no afecta su ejecución. Se pueden colocar al inicio o al final de la expresión; sin embargo, se recomienda ubicarlas al inicio para facilitar su identificación.

 

note_pin

Cuando usted referencia un atributo mediante CHelper.usingAttrib o CHelper.usingXPath, Bizagi incluye automáticamente la entidad a la que pertenece dicho atributo. No es posible hacer deployment de atributos sin las entidades asociadas.

 

Ejemplo 1

Al usar variables como filtros en una sentencia GetEntity para filtrar una entidad, los atributos dentro de la variable de filtro no se incluyen en el paquete de deployment a menos que se usen en formas o asignaciones.

 

El siguiente ejemplo muestra cómo el atributo IsAdditional, que se usa exclusivamente en la expresión, no se incluye en el paquete de deployment. Para asegurar su inclusión, se puede utilizar la sentencia usingAttrib:

 

var parameters = new FilterParameters();

parameters.AddParameter("@IsAdditional", 1);

parameters.AddParameter("@cAmounttoPay", 0);
var Transactions = Me.getXPath("entity-list('Installment', 'IsAdditional = @IsAdditional AND cAmounttoPay > @cAmounttoPay')",parameters);

for(var i =0; i < Transactions.size(); i++)

{

 var Transaction = Me.newCollectionItem("Transfer.Transactions")

 Transaction.setXPath("Transaction",Transactions[i].getXPath("Id"));

}

CHelper.usingAttrib("Installment", "IsAdditional");

 

La siguiente imagen muestra el mensaje de error en el Portal de Trabajo cuando un atributo dentro de una expresión no se encuentra en el proyecto.

 

Using1

 

Ejemplo 2

Al crear un XPath como cadena de texto y guardarlo en una variable, Bizagi no puede identificar los atributos contenidos en él. Si estos atributos no se usan en formas o asignaciones, no se incluirán en el paquete de deployment.

 

El siguiente ejemplo muestra cómo el XPath sPath se construye dinámicamente y se guarda en una variable como cadena de texto. Como el atributo IdUser se usa exclusivamente en esta expresión, no se incluye en el deployment. Para garantizar su inclusión, se puede utilizar la sentencia usingXPath:

 

var parameters = new FilterParameters();

parameters.AddParameter("@sName", Me.Task.Name);

var idActivity=CHelper.getEntityAttrib("Activity","idActivity","sName=@sName",parameters);

parameters.AddParameter("@idactivity", idActivity);

var idValRole=CHelper.getEntityAttrib("ActivityConfigurat","idValidationRole","idactivity=@idactivity",parameters);

var sPath="Request.AllUsers[idValidationRole.id ="+idValRole+"].idUser";

Me.setXPath(sPath,Me.Case.WorkingCredential.UserId);

CHelper.usingXPath("Request", "idUser");

 

Ejemplo 3

Al crear un nuevo caso mediante la función CHelper.NewCase, el método recibe una cadena XML como parámetro. Este XML puede incluir información sobre el creador del caso, así como datos de negocio. Sin embargo, Bizagi no puede detectar automáticamente los atributos dentro de esta cadena.

 

El siguiente ejemplo muestra cómo crear un nuevo caso del proceso Change Management, utilizando una expresión en la que el atributo AssociatedTicket se incluye en el XML. Para que este atributo sea reconocido, se puede utilizar la sentencia usingXPath:

 

{

var sXML ="<BizAgiWSParam>"; //inicio del xml

sXML += "<domain>domain</domain>"; //dominio del usuario que creará el caso

sXML += "<userName>HelpDeskAgent</userName>"; //usuario que creará el caso

sXML += "<Cases><Case><Process>ChangeManagement</Process>"; //nombre del proceso

sXML += "<Entities>"; //inicio de la información de negocio

sXML += "<ChangeRequest>"; //nombre de la entidad de proceso

sXML += "<AssociatedTicket>" + Me.Case.CaseNumber + "</AssociatedTicket>"; //información de negocio  

sXML += "</ChangeRequest></Entities></Case></Cases></BizAgiWSParam>"; //fin del xml

 

CHelper.usingXPath("ChangeRequest.AssociatedTicket")

CHelper.NewCase(sXML)

}


Last Updated 3/17/2025 5:08:55 PM