lunes, 5 de octubre de 2009

Como almacenar respuestas a validaciones en los flujos de Designer

¿Alguna vez habeis intentado crear un flujo de validación con SharePoint Designer? Si sois de los que os habeis liado al momento de almacenar y utilizar las respuestas de las validaciones de los usuarios, aquí teneis una pequeña guia de cómo realizar un flujo de validación paso a paso (reconozco que yo mismo si paso un tiempo sin practicarlo, se me olvida y tengo que volver a recordarmelo...)

El primer paso para crear un flujo de validación, una vez seleccionada la lista vinculada al flujo y las opciones lanzadera del mismo, es generar una acción de tipo "Recopilar datos de un usuario"

















Al clickar sobre "datos", crear un formulario con 2 campos, el primero que contenga un campo de opción (menú del que elegir), en mi ejemplo lo he llamado "Valida"


Le agregamos los posibles valores que queremos mostrar (por ejemplo: "Validar" y "Rechazar"). Cada valor debe ir en una línea distinta (Intro). Le asignamos un valor predeterminado al campo ("Rechazar") y le decimos que lo muestre como Menú desplegable (esto va a gustos). Dejamos sin marcar las casillas Permitir opciones rellenables y ¿Admitir valores en Blanco?. Al final pulsar el botón de Finalizar.


Después de crear el campo de opciones, vamos a por el de Observaciones. Le damos el nobre que deseemos, una descripción opcional y como Tipo de información seleccionamos Varias líneas de texto.



En la siguiente pantalla dejamos el valor predeterminado en blanco, marcamos la casilla de ¿Admitir valores en blanco? y dejamos el resto sin marcar, excepto el número de líneas que podemos limitar (5 suele ser suficiente). Al terminar pulsamos el botón finalizar, y luego salimos del wizard de creación de formularios para volver a la pantalla principal de designer.


En el segundo campo de la acción, este usuario, seleccionamos la persona o grupo que vamos a utilizar de validador o validadores. Podría ser incluso una variable del flujo, aunque en este ejemplo he puesto directamente una persona concreta.


Al volver a la pantalla principal de Designer, nos faltará el tercer parámetro de la acción, que ya viene dado por defecto y podemos dejarlo tal y como viene o crear una variable nueva si así lo deseamos. En esta variable del tercer parámetro es importante saber que lo que estamos almacenando es el ID que se le asignará a la tarea en el listado de tareas del flujo.

Tras completar la primera acción, añadimos otra que sea Definir variable del flujo de trabajo. En esta variable será donde recopilaremos el valor de la respuesta del usuario.
 


en el primer parámetro seleccionamos Crear una nueva variable...



En la siguiente pantalla le damos un nombre a la variable y seleccionamos el tipo Cadena. Pulsamos el botón de Aceptar



Ya de vuelta a la pantalla principal de Designer, pulsamos en el segundo parámetro de esta acción, que es donde está la parte complicada del flujo.

En el primer campo desplegable, Origen, hemos de introducir el listado de tareas que estamos utilizando en el flujo, porque es donde se encontrará nuestro formulario (tarea) de validación.

En el segundo campo desplegable, Campo, tenemos que seleccionar el mismo nombre que le pusimos al campo de opción en el paso de creación del formulario (en mi ejemplo le llamé "Valida").
Hasta aquí le hemos dicho que almacene en la nueva variable el campo Valida de la lista de tareas... sin embargo la lista de tareas puede tener cientos o miles de ellas, ¿A qué tarea en concreto nos referimos? Para ello está la segunda parte del formulario.

En el tercer campo desplegable,Campo, ya dentro de la sección Buscar elemento en la lista, seleccionamos el nombre de la lista de tareas de nuestro flujo :ID (en mi ejemplo Tareas:ID)

En el cuarto campo, Valor, pulsamos el botón de fórmula fx y en la nueva sección que se nos muestra, en el primer campo desplegable, Origen, seleccionamos Datos del flujo de trabajo, y en el segundo campo de esta nueva sección, Campo, seleccionamos el nombre de la variable que pusimos en el tercer parámetro de la primera acción del flujo, donde guardamos el ID que nuestra tarea ocupaba en el listado de tareas, en mi ejemplo Variable: recopilar1. Aceptamos en el botón de la nueva sección y aceptamos también la pantalla anterior para volver a la sección de Designer.




¿Que hemos hecho realmente en esta segunda acción? Le hemos dicho que cree una nueva variable donde almacene el valor del campo Valida (el que el usuario habrá seleccionado con Validar o Rechazar) de la lista de tareas, cuando el ID de la tarea sea el que guardamos en la variable del primer paso del flujo.

Ahora que ya tenemos almacenada en nuestra variable si el usuario seleccionó Validar o Rechazar, podemos hacer un segundo paso del flujo donde realicemos unas u otras acciones en función del contenido de esta variable, tal y como muestra la última pantalla de este post:



Tened en cuenta que podemos hacer validaciones anidadas, es decir, repetir el proceso si el primer validador dió el OK para pasar por una segunda validación...

Esto es todo amigos, espero haber ayudado a alguien a aclarar dudas.... al menos ya no se me volverá a olvidar el proceso!!

;-)

No hay comentarios: