Ejecutar un Workflow desde una lista como enlace

29/09/2015

Uno de los problemas que tienen los Workflows en SharePoint es que la interfaz de usuario es compleja: para ejecutar un Workflow, el usuario tiene que entrar en una lista, seleccionar un elemento, seleccionar más opciones (los 3 puntitos), seleccionar Workflows, buscar el Workflow e iniciarlo…

Ejecutar un Workflow con un elemento seleccionado

Ejecutar un Workflow con un elemento seleccionado

Una manera de hacerlo más sencillo, sería creando un enlace por cada elemento de una lista que llamase al Workflow y lo iniciase automáticamente. De esta forma tendríamos una interfaz mucho más limpia y sencilla para su uso por parte de los usuarios. Veamos cómo hacerlo.

Lo primero que tenemos que entender es cómo podemos llamar al Workflow desde una url. En esta web se explica dónde están, cómo llamarlos y los parámetros que podemos utilizar:

https://www.simple-talk.com/blogs/2009/11/24/initiate-a-sharepoint-workflow-from-a-button-on-the-list-view/

  • List: Identifica la lista que usa el workflow
  • ID: Identifica el elemento de la lista sobre el que ejecutamos el workflow
  • TemplateID: Identifica el Workflow que queremos ejecutar
  • Source: Identifica la url a la que redirigiremos una vez finalizado el workflow

 

Como vemos los parámetros List, TemplateID y Source son fijos, y el único que varía es el ID según el elemento que seleccionemos en la lista. La url donde están los workflows suelen ser del tipo:

http://url_sharepoint/Nombre_Lista/Workflows/Nombre_Workflow/Nombre_Workflow.aspx

 

Para llamar a esta url, podemos optar por añadir una nueva columna a la lista del tipo “HyperLink” en donde tengamos la url. El problema de esa alternativa, es que no podemos variar el ID por cada elemento, por lo que no nos sirve.

Otra opción es añadir una nueva columna a la lista del tipo “Calculated” en donde obtengamos el parámetro ID con una fórmula y podamos personalizar la url. El problema de esta alternativa es que los campos calculados no tienen la opción de añadir un enlace donde pulsar. Entonces, ¿Cómo podemos hacerlo?. Un mix…

Vamos a añadir la nueva columna del tipo Calculated, pero el contenido lo vamos a hacer como un enlace. Para ello utilizaremos la fórmula CONCATENATE, en donde añadiremos la etiqueta de html a para indicar que es un enlace y colocaremos el parámetro ID como variable:

=CONCATENATE(“<a href=”,”http://url_sharepoint/Workflows/Nombre_Workflow/Nombre_Workflow.aspx?List={guid_lista}&ID=”,ID,”&TemplateID={guid_workflow}&Source=http://url_sitio”,”>”,”Empezar”,”</a>”)

Si guardamos este enlace personalizado en un campo calculado de la lista de SharePoint, veremos que aparece como texto y no como enlace. Para hacer que aparezca como enlace, el tipo de retorno del campo tiene que ser numérico.

Campo calculado como enlace con retorno numérico

Campo calculado como enlace con retorno numérico

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

A %d blogueros les gusta esto: