Automatización de Procesos Empresariales con Flujos de Trabajo de SharePoint – Parte 2

En la segunda parte del artículo realizaremos un ejemplo para mostrar el proceso de desarrollo de un flujo de trabajo. Las herramientas que vamos a utilizar para este flujo es SharePoint Designer 2010 y Visio Professional 2010 o 2013.

Lo primero que tenemos que conocer es que podemos realizar un flujo de trabajo reutilizable o un flujo de trabajo enlazado a una lista. En este caso vamos a utilizar una lista existente en mi sitio y crearemos el flujo a partir de esa lista.

El flujo consiste en un proceso de aprobación de un permiso laboral (vacaciones, capacitaciones, enfermedad, etc). El usuario debe completar un formulario de una lista para solicitar un nuevo permiso, en ese momento comienza el flujo, la primera acción del flujo será enviar una notificación al supervisor para darle a conocer que un usuario solicitó un nuevo permiso, luego se actualizará un campo en la lista llamado Estado, esta columna nos permitirá conocer el proceso en el que se encuentra el flujo, luego se le asignará una tarea al supervisor para aprobar o rechazar la solicitud. Después de que el supervisor haya completado la tarea de cambiar el campo Estado en aprobado o denegado, se realizará una condición para conocer si el supervisor aprobó o rechazó el permiso, posteriormente, el usuario recibirá una notificación sobre el resultado de la solicitud, después de esto es necesario detener el flujo de trabajo.

Es importante mencionar que cuando agregamos un flujo de trabajo en una lista, se agrega automáticamente una columna llamada Estado del flujo de trabajo, sin embargo, si ustedes desean manejar valores personalizados en el campo Estado, es recomendable crear una nueva columna, como en este ejemplo, yo utilizo “En espera del supervisor” para darle a conocer al usuario que su solicitud está en espera, de lo contrario solamente pueden utilizar la columna por defecto de estado del flujo. También se agrega una lista de tareas al sitio donde agregamos un flujo a una lista, esto con el fin de poder asignar tareas a los usuarios durante la ejecución del flujo.

A continuación se encuentra un diagrama del flujo realizado en Visio Profesional utilizando la plantilla de flujo de trabajo para SharePoint 2010:

FlujoEjemplo

Una vez que tenemos planeado el flujo de trabajo que vamos a realizar, debemos proceder con crear la lista donde agregaremos el flujo de trabajo, en mi caso he creado una lista personalizada con las siguientes columnas:

Columnas

Una vez que tenemos la lista creada, procedemos a abrir SharePoint Designer. Si no lo tienes instalado lo puedes descargar del siguiente link. Podemos ir al sitio donde tenemos la lista y luego Site Actions -> Edit in SharePoint Designer o podemos abrir SharePoint Designer desde nuestra computadora y abrir el sitio con la URL de nuestro sitio. En el menú izquierdo llamada Site Objects encontraremos la opción de Workflows, desde ahí podremos agregar un nuevo flujo de trabajo a una lista:

ListWorkflow

Debemos ingresar un nombre para el nuevo flujo de trabajo, en mi caso use el siguiente nombre y descripción:

CreateWorkflow

Es importante definir cómo se va a inicializar nuestro flujo de trabajo, para establecer estos valores tenemos que ir a las propiedades del flujo de trabajo y seleccionar si queremos que se inicie de forma manual, cada vez que se ingrese un nuevo elemento o cuando se edite un elemento existente. Para mi ejemplo, he seleccionado las dos opciones, debido a que un colaborar puede cambiar las fechas de una solicitud existente.

Propiedades

Luego debemos realizar cada uno de los pasos de nuestro flujo de trabajo, para esto debemos agregar la primera acción que es enviar un email al supervisor para notificarle de la nueva solicitud. Es importante mencionar que esta acción puede ser opcional debido a que ustedes pueden utilizar una alerta para lista, sin embargo, si ustedes necesitan agregar detalles en el cuerpo del correo o copiar a otros usuarios lo pueden hacer con esta acción.

SendEmail

NuevoPermiso

Luego debemos de agregar la próxima acción correspondiente a la actualización del campo Estado:

Actualizar

Posteriormente debemos asignar la tarea de aprobación al supervisor. Es importante tener en cuenta que cuando se asigna una tarea en un flujo de trabajo, el mismo queda en un estado de pausa y continuará ejecutándose hasta que la tarea se haya completado.

AssignTask

Nuestro siguiente paso es agregar la condición para comprobar el valor de la columna Estado:

FlujoSP

Con esto hemos concluido el desarrollo del flujo de trabajo, ahora tenemos que verificar errores y publicarlo en nuestro sitio para que se adjunte a la lista:

Publicar

Para ver el proceso de ejecución y depurar nuestro flujo de trabajo, el usuario debe agregar un nuevo elemento a la lista de Permisos:

EjecucionSolicitud

Una vez que el usuario haya completado el formulario, el usuario supervisor deberá ver una lista asignada en la lista de tareas, como se muestra a continuación:

TareaAsignada

Para completar la tarea, el usuario supervisor deberá editar la solicitud de permiso y cambiar el Estado Aprobado o Denegado, en mi caso he cambiado el Estado Aprobado.

AprobarDenegar

Luego para que flujo pueda continuar el usuario supervisor debe marcar la tarea como completada. Posteriormente que el flujo haya finalizado, podemos observar el resultado obtenido:

FlujoCompleto

Es importante destacar que este flujo es con fines demostrativos. Para ambientes de producción es recomendable que el flujo cuente con acciones adicionales y validaciones de entrada.

Este artículo fue escrito originalmente para la revisa LATAM Technology.

David Sánchez Aguilar, consultor enfocado en tecnologías Microsoft. Cuenta con varias certificaciones como MCP, MCT, MCSD, MCITP, MCTS y Microsoft Specialist. Es graduado de la carrera de Ingeniería en Sistemas Computacionales y actualmente cursa la Maestría de Administración de Tecnologías de la Información (MATI). Cuenta con más de siete años de experiencia trabajando con plataformas de colaboración. Ha participado en distintos proyectos para Latinoamérica y Norteamérica con tecnologías como SharePoint, Office 365, Microsoft Azure, Team Foundation, SQL Server, System Center y también soluciones de desarrollo basadas en .NET Framework y HTML5. Adicionalmente, es instructor certificado de Microsoft.

Publicado en LATAM Technology, SharePoint
2 comments on “Automatización de Procesos Empresariales con Flujos de Trabajo de SharePoint – Parte 2
  1. leticia dice:

    en el caso que al supervisor no le llegue el aviso o alerta de lo que hizo el ejecutor como puede uno proceder a resolver estos problemas de que el supervisor no este recibiendo los avisos para aprobar la tarea?

    gracias

    Me gusta

    • Hola Leticia.

      Estas enviando el correo desde una acción del flujo de trabajo o estas usando la configuración de la lista de tareas para notificar cuando se asigna una tarea? Si es así puedes revisar la configuración de la lista. Si es por medio del flujo valida la dirección de correo.

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Microsoft MVP
Microsoft Most Valuable Professional
Certificaciones
Certificaciones

Haz clic para seguir este blog y recibir notificaciones de nuevos mensajes por correo electrónico.

Únete a otros 1.346 seguidores

Visitantes
Follow me on Twitter
Visitas
  • 31,034 en total.