jueves, 18 de agosto de 2011

Creando un flujo de Trabajo de Aprobación con SharePoint Designer 2010

Escenario:

Existen dos bibliotecas en el sitio Document (Privada) y Shared Document (Pública). El requerimiento que recibimos es que debemos de crear un flujo de trabajo de aprobación que cuando ya esté autorizado pueda publicarse en la biblioteca pública. Para este artículo utilice una plantilla de Sitio de Equipo o Team Site.

Prerrequisito:

Es necesario que la persona que elabore este artículo tenga conocimiento básico de administración de la seguridad de SharePoint ya que será necesario que cree o utilice unos grupos para asignar la tarea a un determinado grupo de usuarios el cual no se detalla en este. Debe también estar familiarizado como personalizar una lista de SharePoint.

Aclaración:

Este artículo se desarrolló sobre una versión de SharePoint en inglés por lo que las opciones se indicarán en el idioma instalado.

Desde SharePoint Designer 2010 luego de abrir el sitio donde vamos a crear el flujo de trabajo seleccionamos la opción Workflows y luego hacemos clic sobre List WorkFlow y luego sobre Documents.

clip_image002

Luego levantará una ventana donde deberá escribir un nombre como Aprobacion Documento Oficial y una descripción como el que sigue: Flujo para aprobar documento oficial. Al ser aprobado se copiara a una biblioteca pública.

clip_image004

Inicie escribiendo el nombre del primer paso para ello escriba: Asignar tarea de solicitud de Aprobacion. Y luego inicie escribiendo la tarea en si: para ello escriba collect y le mostrará la siguiente información:

clip_image006

Luego presione Enter y le mostrará la siguiente acción:

clip_image008

Haga clic sobre data para asignar los controles que capturarán la información solicitada

clip_image010

Presione Next para continuar

clip_image012

Luego escriba el nombre de la tarea y la descripción de la misma y para finalizar presione el botón Next.

Presione el botón Add

clip_image014

Luego escriba Estado en el nombre del campo, en descripción escriba “Seleccione Aprobado o Rechazado” y en tipo seleccione Choice. Para continuar presione Next.

clip_image016

Luego escriba “Aprobado” presione Enter, luego “Rechazado”. No permita valores en blanco y para finalizar presione el botón Finish.

clip_image018

Presione nuevamente el botón Add

clip_image020

Escriba en el nombre del campo Observaciones y en tipo selección “Multiple lines of text”. Para continuar presione Next.

clip_image022

Quite la selección de todas las casillas seleccionables y luego presione el botón Finish.

clip_image024

Presione para finalizar el botón finish del asistente de tareas como se muestra en la imagen de abajo.

clip_image026

Luego haga clic sobre this user

clip_image028

Escriba Aprobadores (para ello debe de existir este grupo de SharePoint) y luego presione el botón Add. Para finalizar presione el botón Ok.

clip_image030

Luego haga clic en Collect1 y luego haga clic sobre la opción Create a new variable…

clip_image032

Le mostrará una ventana escriba AprobacionId y luego haga clic sobre el botón OK.

clip_image034

El resultado debe de ser similar al siguiente:

clip_image036

Luego haga clic sobre Actions y haga clic sobre la opción Set Workflow Variable

clip_image038

Haga clic sobre workflow variable y seleccione Create a new variable…

clip_image040

Luego escriba en el nombre EstadoAprobacion y presione el botón OK.

clip_image042

Luego haga clic sobre la opción value

clip_image044

Presione el botón de Enlace o Fx

clip_image046

En Data source: Seleccione Association: Task List y luego en field from source: Estado y luego en Find the list Item, seleccione ID y luego en Value seleccione Workflow Variables y seleccione AprobacionId. Para finalizar presione el botón OK.

clip_image048

Luego asegúrese que el cursos este fuera del paso anterior y luego haga clic sobre el botón Step.

clip_image050

Luego escriba el título del paso siguiente escribiendo: Evaluando la tarea completada si fue aprobado el documento.

clip_image052

Luego haga clic sobre el icono de Condition y haga clic sobre la opción If any value equals value

clip_image054

Luego haga clic sobre value , luego haga clic sobre el botón Fx y levantará una ventana la cual debe seleccionar Workflow Variables and Parameters y luego selección Variable:EstadoAprobacion. Para finalizar presione el botón OK.

clip_image056

Luego de equals haga clic sobre la opción Value y escriba Aprobado.

clip_image058

Luego haga clic sobre Action y luego clic sobre Set Field Current Item

clip_image060

Luego seleccione en field Estado y en value Aprobado.

clip_image062

Luego haga clic sobre la opción Else-If Branch

clip_image064

Luego agregue una acción como la de arriba y seleccione Estado y Rechazado.

clip_image066

Ahora vamos agregar una acción adicional debajo de la instrucción Set Estado to Aprobado. Nos posicionamos sobre esta instrucción y luego hacemos clic sobre la imagen Actions y seleccionamos Copy List Item

clip_image068

Luego seleccionamos en List Item Current List Item y en To Shared Documents como se muestra en la imagen de abajo.

clip_image070

Guardamos el flujo y luego hacemos un clic sobre el icono Publish.

clip_image072

Con eso terminamos haga una prueba del flujo subiendo un documento e iniciando el flujo manualmente. Para ello asegúrese en la pestaña de edición del flujo de trabajo en SharePoint Designer que en la sección Start Options tenga habilitado la opción Allow this workflow to be manually started.

clip_image074

Preparándonos para la prueba

La biblioteca privada (Documents ) debemos de agregar una columna llamada Estado de Tipo Choice y que tenga los siguientes valores: Pendiente de Aprobacion, Aprobado, Rechazado. Para ello vaya a Library Settings dentro de la pestaña Library del Ribbon de SharePoint. Busque la opción Create Column y coloque la información arriba mencionada. Para finalizar presione el botón OK.

clip_image076

La Prueba

Primero subamos un documento a la biblioteca privada (Documents)

clip_image078

Luego debe de iniciar manualmente el flujo de trabajo (esto es una buena práctica cuando estamos probando nuestro flujo o cuando deseamos controlar el momento en que se inicia el flujo). Para ello selección el documento, luego seleccione la pestaña Documents del Ribbon y luego haga clic sobre Workflows.

clip_image080

Luego haga clic sobre el nombre del flujo Aprobacion Documento Oficial.

clip_image082

Presione el botón Start

clip_image084

Esto iniciará el flujo y recuerde lo primero que hace el flujo es crear una tarea asignada a uno o más usuarios. Haga clic sobre el estado del flujo o sobre el link In Progress.

clip_image086

Haga clic sobre el Título de la tarea

clip_image088

Luego levantará una ventana la cual permitirá asignar un estado y observaciones. Selección Aprobado y luego escriba las observaciones que desee. Para finalizar presione el botón Complete Task.

clip_image090

Y Listo si vemos la biblioteca pública el documento está allí.

clip_image092

Y si revisamos la biblioteca privada el documento aparece en estado Aprobado y el Flujo de trabajo completado.

clip_image094

Bueno amigos, en este artículo vimos cómo crear un flujo de trabajo con SharePoint Designer 2010 y esto lo podemos potencializar agregando versionamiento de Major and minor versioning a las biblioteca privada y esto nos dará la oportunidad de seguir mejorando el documento y aprobar otra versión más actualizada.

SharePoint4Fun!,

Manolo Herrera

12 comentarios:

Chilango dijo...

Manolo! muchas gracias por compartir tus conocimientos, solo una duda, copie tu flujo, pero en el paso donde hay que poner las variables de "Estado=Aprobado" y "Estado=Rehazado", no me aparecen las opciones desplegables en lista, Solo me aparecen Content Type, Name (for use in forms) y Title... como le puedo hacer para que también me aparezca "Estatus" como opción??? necesito cambiar algo en Fields?? y si es asi como lo hago?? gracias!!

Juan Manuel Herrera dijo...

Si haces los pasos del artículo sin perderte ningún detalle veras que puedes lograrlo.

Unknown dijo...

Buenos días Manolo,
He hecho paso a paso el WF pero no realiza bien el segundo paso "Evaluando la tarea completada si fue aprobado el documento". Se queda en la el primer paso.

Chilango dijo...

Manolo nuevamente yo, una pregunta como le puedo hacer para que en lugar de definir un grupo específico de aprobadores, pueda tener la opción de elegirlos (posiblemente en un listado )cuando quiera que mi workflow inicie?? mi problema es que solo tengo el SP Foundation y autorización para Designer, y mi desconocimiento del tema.. me lleva a tu sabiduria!!! jejeje

Chilango dijo...

Manolo!! te habia escrito un comment pero no sé si llego, en fin quisiera saber como, con este mismo WFlow puedo crear un listado con opciones para seleccionar a mis aprobadores (obviamente con el SP Designer 2010) Al WF le anadi una acción de Status para que diga si es aceptado o rechazado. Pero si lo pruebo con un grupo de usuarios y el primero acepta (auqnue los demás rechacen ) me aparece como Aprobado.. espero y puedas ayudarme! God Bless!

Mariana dijo...

Es verdad Manolo, me ocurre lo mismo en el segundo paso, cuando el campo de seleccion no me muestra "ESTADO"... lo hice tres veces, pero aun sigue sin funcionar! espero que nos ayudes! gracias!

Anderson dijo...

Muchas gracias, me ha funcionado muy bien. Quisiera saber si hay forma de que pasé a aceptado una vez todos los aprobadores aprobaron el documento y no solo cuando uno de ellos lo haga. Muchas gracias.

Unknown dijo...

Quizas este algo fuera del tema, pero gracias por tu respuesta, mi consulta es como podria hacer para que un usuario solo tenga permisos de activar el flujo mas no de editar la base de datos, si le doy permisos de solo lectura activa el flujo pero no puede escribir el registro en la base de datos que manejo, por eso actualmente cualquiera puede editar pero eso no es correcto.

Julio César Moreno Guillén dijo...

Hola que tal estoy desarrollando un flujo de aprobación de documentos. Tengo una plantilla en la cual adjunto un solo documento y una lista desplegable que contiene status para que ponga ese status al docuemto. A la hora de siñear el flujo utilizo la funcion "iniciar aprobacion" pero esa accion la utilizo mas de 6 veces ya que tengo mas de 6 status. A la hora de publicar el formulario no me indica errores solo que sale un mensaje que dice error en compilacion y ya no lo publica. Como podre resolver esto?

Julio César Moreno Guillén dijo...

Hola que tal estoy desarrollando un flujo de aprobación de documentos. Tengo una plantilla en la cual adjunto un solo documento y una lista desplegable que contiene status para que ponga ese status al docuemto. A la hora de siñear el flujo utilizo la funcion "iniciar aprobacion" pero esa accion la utilizo mas de 6 veces ya que tengo mas de 6 status. A la hora de publicar el formulario no me indica errores solo que sale un mensaje que dice error en compilacion y ya no lo publica. Como podre resolver esto?

Unknown dijo...

Buenos dias, saludos a todos espero que vean mi comentario a mi tambien me pasa lo mismo que a (Mariana) y a (Chilango) en el paso 2 no me aparece establecer el estado para poder hacer la condicion. solo me aparecen 3 cositas nadas mas

Luis dijo...

man consulta cuando te pide esto al crear nuevo sitio "Este sitio web debe ser creado en un servidor que ejecuta Microsoft SharePoint Foundation. Por favor, elija otra ubicación"