perfomActivityAsString

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios web disponibles > Métodos Web de WorkflowEngineSOA >

perfomActivityAsString

Introducción

Este método se utiliza para ejecutar o realizar una Actividad que esté pendiente (en el Inbox) en Bizagi (desde una aplicación externa).

De esta forma, la Actividad se completa y el caso continúa a lo siguiente que se deba realizar en el flujo.

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: el usuario que ejecuta la Actividad, el identificador del caso sobre el cual se realiza la Actividad, el nombre de la Actividad e información de negocio relevante a la misma (datos, adjuntos, etc).

Al invocar este método, se completa la Actividad y se ejecutan las reglas de negocio que hayan a la salida de la misma, de la misma manera en que se realiza desde el Portal de Trabajo.

Para más información acerca de esta opción en el Portal, consulte Portal de Trabajo de Bizagi.

 

 

note_pin

La descripción en este artículo aplica también para el método Web performActivity, el cual está disponible en la edición Bizagi .NET.

Para el método performActivity, el XML que se maneja en la solicitud (request) y en la respuesta (response) son del tipo XmlDocument (nativa de .NET).

Para el método performActivityAsString la misma estructura de XMLs se maneja, sin embargo este parámetro es de tipo cadena (string).

 

 

Datos de entrada

 

Esquema de entrada

La estructura del XML que se envia a Bizagi debe ser cumplir con este XSD:

<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

 <xs:element name="BizAgiWSParam">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="domain" type="xs:string"/>

                         <xs:element name="userName" type="xs:string"/>

                         <xs:element name="ActivityData">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:choice>

                                                         <xs:element name="idCase" type="xs:integer"/>

                                                         <xs:element name="radNumber" type="xs:string"/>

                                                 </xs:choice>

                                                 <xs:choice>

                                                         <xs:element name="taskId" type="xs:integer"/>

                                                         <xs:element name="taskName" type="xs:string"/>

                                                 </xs:choice>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="Entities">

                                 <xs:complexType/>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

Parámetros de entrada

BizAgiWSParam: Nodo raíz, contiene toda la información necesaria para avanzar la actividad.

domain: Nombre del dominio al cual pertenece el usuario de Bizagi que aparecerá como aquel que avanzó la Actividad.

userName: Nombre del usuario que será registrado como el usuario que avanzó la actividad.

ActivityData: Contiene toda la información correspondiente a la actividad. Esta información es necesaria para encontrar dicha actividad.

idCase: Número de identificación del caso para la actividad que se desea avanzar. Es necesario incluir este elemento o el Número de Radicación (radNumber).

radNumber: Elemento alternativo al idCase. Es el número de creación (case number) del caso que contiene la actividad pediente que se desea avanzar.Cuando se usa el mismo número de creación en varios casos (por ejemplo, si un subproceso tiene el mismo número que el caso padre) se debe usar el número del caso (idCase) para distinguir a cual caso pertenece la actividad.

taskId: Número de identificación de la Actividad que se desea avanzar. Este elemento es necesario; si no se conoce el número, se debe incluir el nombre de la tarea (taskName).

taskName: Usado como elemento alternativo al id de la tarea (taskId). Es el nombre de la actividad pendiente que se desea avanzar.

Entities: Nodo que contiene los valores de las información de negocio que será asociada al caso.

Para más información sobre la estructura esperada de los elementos dentro de Entities, consulte cómo se representan el modelo de datos del Proceso en Esquema XML de Bizagi para el modelo de datos .

 

Ejemplo

Con el siguiente ejemplo, se completará la Actividad cuyo nombre es (Task name = Task3), para el caso con identificador 9253.

 

PerformActivity_Image002

Si desea ver un ejemplo completo con un caso de negocio para utilizar el método performActivityAsString, consulte Cómo realizar una Actividad en Bizagi desde aplicaciones externas.

 

 

Datos de salida

 

Esquema de salida

La estructura del XML que se retorna en Bizagi cumple con este XSD:

<?xml version="1.0" ?>

<xs:schema targetNamespace="http://tempuri.org/performActivity.xsd" xmlns="http://tempuri.org/performActivity.xsd"

 xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified">

 <xs:element name="processes">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="process">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="processId" type="xs:string" minOccurs="0" />

                                                 <xs:element name="processRadNumber" type="xs:string" minOccurs="0" />

                                                 <xs:element name="processWorkflowClass" minOccurs="0" maxOccurs="1">

                                                         <xs:complexType>

                                                                 <xs:sequence>

                                                                         <xs:element name="workflowClassId" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassName" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassDisplayName" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassDescription" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassHelpText" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassDisplayOrder" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassCreationDate" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassGlobalForm" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassAllocationPrinciple" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassProcessType" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassProcessForumType" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassDisplay" type="xs:string" minOccurs="0" />

                                                                         <xs:element name="workflowClassUseParentRadicationNumber" type="xs:string" minOccurs="0" />

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                                 <xs:element name="processError" minOccurs="0" maxOccurs="1">

                                                         <xs:complexType>

                                                                 <xs:sequence>

                                                                         <xs:element name="errorCode" type="xs:string" minOccurs="0" nillable="true" />

                                                                         <xs:element name="errorMessage" type="xs:string" minOccurs="0" nillable="true" />

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                                 <xs:element name="CurrentWorkItems" minOccurs="0" maxOccurs="1">

                                                         <xs:complexType>

                                                                 <xs:sequence>

                                                                         <xs:element name="workItem" minOccurs="0" maxOccurs="unbounded">

                                                                                 <xs:complexType>

                                                                                         <xs:sequence>

                                                                                                 <xs:element name="workItemId" type="xs:string" minOccurs="0" />

                                                                                                 <xs:element name="workItemState" type="xs:string" minOccurs="0" />

                                                                                                 <xs:element name="workItemEntryDate" type="xs:string" minOccurs="0" />

                                                                                                 <xs:element name="workItemDuration" type="xs:string" minOccurs="0" />

                                                                                                 <xs:element name="workItemEstimatedSolutionDate" type="xs:string" minOccurs="0" />

                                                                                                 <xs:element name="task" minOccurs="0" maxOccurs="unbounded">

                                                                                                         <xs:complexType>

                                                                                                                 <xs:sequence>

                                                                                                                         <xs:element name="taskId" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskName" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskDisplayName" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskDescription" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskHelpText" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskEstimatedDuration" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskType" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskCost" type="xs:string" minOccurs="0" />

                                                                                                                         <xs:element name="taskPriority" type="xs:string" minOccurs="0" />

                                                                                                                 </xs:sequence>

                                                                                                         </xs:complexType>

                                                                                                 </xs:element>

                                                                                         </xs:sequence>

                                                                                 </xs:complexType>

                                                                         </xs:element>

                                                                 </xs:sequence>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>        

         </xs:complexType>                        

 </xs:element>

</xs:schema>

 

Parámetros de salida

processes: El elemento raíz que incluirá N número de ocurrencias del elemento process, de acuerdo al número de casos cuyas actividades fueron completadas por la vía de este método (dado que más de un caso puede tener el mismo radNumber cuando se utilizan sub procesos).

process: Este elemento incluye información del proceso (para cada caso invocado).

processId: Número de identificación del caso (idCase).

processRadNumber: Valor Alfanumérico correspondiente al número de creación del caso.

savedMessage: Reservado para uso futuro.

Entities: Reservado para uso futuro.

processWorkflowClass: Este nodo contiene información del proceso (metadata), no información de un caso en particular.

workflowClassId: Número de identificación (o llave) del proceso.

workflowClassName: Nombre del proceso.

workflowClassDisplayName: Nombre a mostrar del proceso.

workflowClassDescription: Descripción del proceso.

workflowClassHelpText: Texto de ayuda del proceso.

workflowClassHelpURL: URL de ayuda del proceso.

workflowClassDisplayOrder: Orden en el cual aparecerán los procesos en Bizagi Studio.

workflowClassCreationDate: Fecha de creación del proceso.

workflowClassGlobalForm: Número de identificación de la forma global del proceso (cero en caso de no estar configurada).

workflowClassAllocationPrinciple: Reservada para uso futuro.

workflowClassProcessType: Tipo de proceso.

workflowClassDisplay: Indica si un proceso es o no visible.

workflowClassUseParentRadicationNumber: Indica si un caso del proceso utiliza su propio número de creación si usa el mismo número que el del proceso padre (en caso de ser un subproceso).

processError: Si el proceso de avanzar la actividad no fue exitoso, este elemento contendrá la información del error.

errorCode: Código del error, si no hubo error, este nodo estará vacío.

errorMessage: Mensaje del error presentado, si no hubo error este nodo estará vacío.

Path: XPath del elemento en el XML de entrada que genera el error . Visible cuando el error se presenta por información incorrecta.

Attrib: Nombre del atributo en Bizagi donde se intentó almacenar la información que generó el error. Este nodo es visible únicamente cuando el error es generado por información incorrecta.

Value: Valor que generó el error. Este nodo es visible únicamente cuando el error es generado por información incorrecta.

ErrorMessage: Mensaje explicatorio sobre el error. Visible si el error fue generado por información incorrecta.

CurrentWorkItems: Serie de actividades desponibles para el caso.

workItem: Actividad específica (instancia de la tarea) del proceso que se encuentra activo para el caso.

workItemId: Número de identificación o llave de la actividad.

workItemState: Estado en el que se encuentra la actividad.

workItemEntryDate: Fecha y hora en la cual se llega a la actividad por primera vez.

workItemDuration: Duración estimada, en minutos, para la actividad.

workItemEstimatedSolutionDate: Fecha estimada de solución del caso.

Task: Contiene información sobre la tarea asociada a la actividad.

taskId: Número de identificación o llave de la tarea.

taskName: Nombre de la tarea.

taskDisplayName: Nombre a mostrar de la tarea.

taskDescription: Texto descriptivo de la tarea.

taskHelpText: Texto de ayuda de la tarea.

taskEstimatedDuration: Duración estimada de la tarea, en minutos.

taskType: Tipo de tarea.

taskCost: Costo estimado de la tarea. Este valor, al igual que las fechas estimadas, es configurado y determinado por la persona que diseña el proceso.

taskPriority: Prioridad para el cumplimiento de la tarea.

 

 

Ejemplo

Con el siguiente ejemplo, se ilustra la respuesta que retorna la invocación de este método en Bizagi:

 

PerformActivity_Image004

 

 

Métodos Web relacionados

Para obtener un listado de Actividades pendientes de un caso en particular, use los métodos getActivitiesAsString o getActivities.

Para más información sobre esta opción, consulte getActivityAsString.

 

 

If you wish to trigger a business Event instead (set the occurrence of a BPMN Intermediate Event), use the setEventAsString or setEvent Web method.

For further information refer to the setEventAsString article.

 

If you wish to only input information for a pending Activity without completing it (simulate clicking on the Save button in a form, instead of the Next button), use the saveActivityAsString or saveActivity Web method.

For further information refer to the saveActivityAsString article.

 

Si desea iniciar el Proceso (crear un caso) en vez de avanzar uno existente, use los métodos createCasesAsString o createCases.

Para más información sobre esta opción, consulte createCasesAsString.