Obtener Actividades Cerradas

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios web SOAP > Servicios web SOAP disponibles > Métodos Web de WorkflowEngineSOA >

Obtener Actividades Cerradas

Introducción

Este método se utiliza para obtener un listado con las Actividades cerradas en Bizagi (desde una aplicación externa).

Las actividades cerradas son aquellas que han sido completadas (donde ya se realizó el trabajo pendiente).

 

Este método recibe un único parámetro de entrada el cual contiene principalmente: el identificador del caso (instancia de Proceso), y un número que representa los niveles de información (profundidad) que se debe manejar en cuanto a Actividades en los sub Procesos.

 

En el método getClosedActivities, los XMLs de petición y de respuesta son de tipo XmlDocument nativo de .NET.

En el método getClosedActivitiesAsString se maneja la misma estructura XML pero los parámetros son enviados como un tipo cadena de texto por medio de CDATA.

 

 

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="idCase" type="xs:integer" minOccurs="0"/>

                         <xs:element name="subprocessDepth" type="xs:integer" minOccurs="0"/>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

</xs:schema>

 

 

Parámetros de entrada

BizAgiWSParam: Nodo raíz.

idCase: idCase (número de identificación del caso) al cual pertenecen las actividades cerradas deseadas.

subprocessDepth: Es un indicador de nivel de profundidad de los subprocesos. Se utiliza cuando existen tareas de tipo subproceso, para poder retornar información de actividades en los subrpocesos que  pueda tener el caso. Por defecto, la consulta retorna un nivel de profundidad, es decir, el resultado contiene las actividades de de los subprocesos relacionados al proceso del caso actual; pero no incluye las actividades de los subprocesos dentro de los subprocesos (2 niveles de profundidad). El valor de este elemento puede ser cualquier número entero, pero es importante tener presente que entre más niveles de profundidad, más demorada será la respuesta. por lo tanto se recomienda un número pequeño.

 

Ejemplo

Con el siguiente ejemplo, se obtienen las Actividades ya completadas (cerradas) para el caso con identificador=9201.

Con lo siguiente, se consideran dos niveles de profundidad de información (en torno a sub Procesos).

Sugerimos que use Cómo iniciar Procesos en Bizagi desde otras aplicaciones como una guía para invocar este servicio.

 

Método getClosedActivities

<BizAgiWSParam>

 <idCase>9201</idCase>

 <subprocessDepth>2</subprocessDepth>

</BizAgiWSParam>

 

Método getClosedActivitiesAsString

<caseInfo>

 <![CDATA[<BizAgiWSParam>

         <idCase>9201</idCase>

         <subprocessDepth>2</subprocessDepth>

 </BizAgiWSParam>]]>

</caseInfo>

 

Datos de salida

 

Esquema de salida

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

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

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

 <xs:element name="workItems">

         <xs:complexType>

                 <xs:sequence>

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

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

 <xs:complexType name="workItemType">

         <xs:sequence>

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

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

                 <xs:element name="workItemEntryDate" type="xs:dateTime"/>

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

                 <xs:element name="workItemSubprocesses">

                         <xs:complexType>

                                 <xs:sequence>

                                         <xs:element name="workItems" minOccurs="0">

                                                 <xs:complexType>

                                                         <xs:sequence>

                                                                 <xs:element name="workItem" type="workItemType" maxOccurs="unbounded"/>

                                                         </xs:sequence>

                                                 </xs:complexType>

                                         </xs:element>

                                 </xs:sequence>

                         </xs:complexType>

                 </xs:element>

                 <xs:element name="workItemEstimatedSolutionDate" type="xs:dateTime"/>

                 <xs:element name="workItemSolutionDate" type="xs:dateTime"/>

                 <xs:element name="task">

                         <xs:complexType>

                                 <xs:sequence>

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

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

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

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

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

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

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

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

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

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

                                         <xs:element name="taskTransactional" type="xs:boolean"/>

                                         <xs:element name="taskCompensation" type="xs:boolean"/>

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

                                         <xs:element name="AllowsReassign" type="xs:boolean"/>

                                         <xs:element name="SendNotification" type="xs:boolean"/>

                                         <xs:element name="SendAlarms" type="xs:boolean"/>

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

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

                                         <xs:element name="IsAsynchTask" type="xs:boolean"/>

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

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

                                         <xs:element name="ShowFeedback" type="xs:boolean"/>

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

                                 </xs:sequence>

                         </xs:complexType>

                 </xs:element>

                 <xs:element name="process">

                         <xs:complexType>

                                 <xs:sequence>

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

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

                                         <xs:element name="processCreationDate" type="xs:dateTime"/>

                                         <xs:element name="processSolutionDate" type="xs:dateTime"/>

                                         <xs:element name="processWorkflowClass">

                                                 <xs:complexType>

                                                         <xs:sequence>

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

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

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

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

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

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

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

                                                                 <xs:element name="workflowClassCreationDate" type="xs:dateTime"/>

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

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

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

                                                                 <xs:element name="workflowClassDisplay" type="xs:boolean"/>

                                                                 <xs:element name="workflowClassUseParentRadicationNumber" type="xs:boolean"/>

                                                                 <xs:element name="workflowClassSupportsScopes" type="xs:boolean"/>

                                                         </xs:sequence>

                                                 </xs:complexType>

                                         </xs:element>

                                         <xs:element name="processError">

                                                 <xs:complexType>

                                                         <xs:sequence>

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

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

                                                         </xs:sequence>

                                                 </xs:complexType>

                                         </xs:element>

                                 </xs:sequence>

                         </xs:complexType>

                 </xs:element>

         </xs:sequence>

 </xs:complexType>

</xs:schema>

 

 

Parámetros de salida

workItems: Nodo raíz de la respuesta; contiene un nodo "workItem" para cada actividad incluída en el resultado.

workItem: Actividad específica (instancia de una tarea) del proceso 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 cuando se ingresa por primera vez a la actividad.

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

workItemSubprocesses: Si la actividad es de tipo subproceso, este elemento incluirá información de las actividades cerradas del subproceso. Tiene un nodo hijo llamado "workItems" de manera que desde allí en adelante, la estructura es la misma que la descrita anteriormente a partir del workitem de la actividad que cumple con los criterios de búsqueda.

workItemEstimatedSolutionDate: Fecha estimada de solución de la actividad.

workItemSolutionDate: Fecha en la cual se completó la actividad.

task: Contiene información acerca de la tarea correspondiente 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.

HelpUrl: URL con información de la tarea.

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

taskType: Tipo de tarea.

taskCost: Costo estimado de la tarea. Este valor, como el de las fechas estimadas, se configura y determina por la persona que diseña en proceso.

taskPriority: Prioridad de la tarea.

taskTransactional: Indica si la tarea es transaccional.

taskCompensation: Indica si se trata de una tarea de compensación.

taskTimerEventDuration: Se usa si la tarea es un temporizador, la duración se incluye en minutos.

AllowsReassign: Marca que muestra si la tarea puede ser reasignada a otro usuario.

SendNotification: Indica si un se debe enviar un email a un usuario informando sobre la disponibilidad de la tarea.

SendAlarms: Indica si se debe enviar un email al usuario asignado informando que la tarea está próxima a vencerse.

ExtendedEstimatedDuration: Tiempo estimado de duración extendida.

Form: Reservado para uso futuro.

IsAsynchTask: Especifica si se trata de una tarea asincrónica. Utilizado normalmente para interfaces.

NumberOfRetries: Aplica para tareas asincrónicas. Es el número de reintentos automáticos de la tarea en caso de presentarse una falla (se arroja una excepción).

RetryInterval: Aplica para tareas asincrónicas. Es el tiempo (en minutos) entre cada reintento.

ShowFeedback: Aplica para tareas asincrónicas. Indica si el usuario será informado en caso de presentarse un error.

TimeoutSeconds: Aplica para tareas asincrónicas. Tiempo máximo (en segundos) que la tarea asincrónica debe esperar por una respuesta del sistema externo.

process: Tiene información sobre el proceso al cual pertenece la actividad.

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

processCreationDate: Fecha de creación del caso.

processSolutionDate: Fecha de solución del caso.

processWorkflowClass: Este nodo contiene básicamente información sobre el proceso (metadata) y no sobre el 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á el proceso en la aplicación web.

workflowClassCreationDate: Fecha de creación del proceso.

workflowClassGlobalForm: Número de identificación de la forma global del proceso (cero si no se encuentra configurada).

workflowClassAllocationPrinciple: Reservado para uso futuro.

workflowClassProcessType: Tipo de proceso.

workflowClassDisplay: Indica si el proceso es visible o no.

workflowClassUseParentRadicationNumber: Indica si un caso de este proceso es creado utilizando si propio número de creación o si es el mismo número que el del proceso padre (en caso de ser un subproceso).

workflowClassSupportScopes: Indica si el proceso soporta los "scopes" de Bizagi; los cuales constituyen un método eficiente para la persistencia de datos.

processError: Contiene información de los errores que ocurren durante el procesamiento de este método.

errorCode: Código del error, en caso de presentarse alguno.

errorMessage: Mensaje de error, en caso de presentarse alguno.

 

 

Ejemplo

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

 

Método getClosedActivitiesAsString

 

GetActivities_Image004R

 

Method getClosedActivitiesAsString

 

getClosedActivitiesAsString_01

 

Métodos Web relacionados

Para obtener un listado de Actividades abiertas, use los métodos getActivitiesAsString o getActivities.

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