none
Solicitud ausencia. Filtrar por departamento RRS feed

  • Pregunta

  • Hola

      Estoy trabajando con Sharepoint Foundation 2010. Tengo que implementar una gestión de solicitudes de ausencia, para que los empleados puedan enviar sus solicitudes a su correspondiente jefe de departamento, para su aprobación. De tal forma que cada jefe de departamento sólo pueda ver las solicitudes de los empleados que pertenecen a él y NO las del resto de departamentos.

      El caso es que no sé como enfocar el problema con Sharepoint. Una posible solución sería crear una lista para las solicitudes (campos id empleado, fecha inicio, fecha fin etc) en la hubiera un campo departamento que se rellenara automáticamente cada vez que se inserta un registro, y a través del cual pudiera filtrar después a través de una vista. El valor de este campo departamento se tomaría del perfil de usuario que está rellenando la solicitud.

      Creo que esta forma de hacerlo implicaría código y no sabría como hacerlo. Así que si alguien me puede arrojar algo de luz u otro planteamiento más eficiente se lo agradecería.

     

    Un saludo.

    lunes, 14 de febrero de 2011 16:30

Todas las respuestas

  • Hola,

    Lo que puedes tener es un campo "Responsable" en la lista que se rellene automáticamente con la persona que tiene que tener derechos sobre ese elemento y después filtrar por esa columna. Si estuvieras usando SharePoint Server tienes una acción que es justamente un lookup sobre el manager de un usuario:

    http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx

    En tu caso, como usas SharePoint foundation puedes tener una lista auxiliar y usarla para los filtros tal y como se explica aquí:

    http://office.microsoft.com/en-us/sharepoint-designer-help/define-a-workflow-lookup-HA010237830.aspx

    Verás que lo puedes solucionar únicamente con SharePoint Designer.

    Saludos,
    David Martos | http://david-martos.blogspot.com | @davidmartos

     

    lunes, 14 de febrero de 2011 16:51
  • Gracias David por tu respuesta. Te comento lo que he hecho siguiendo lo que me comentaste.

      Consigo rellenar el campo"Departamento" o "Responsable", (cualquiera me vale para filtrar en un futuro) gracias a un workflow que se dispara automáticamente cada vez que se crea un elemento. El contenido de este campo lo tomo de una tabla auxiliar que está alojada en el mismo sitio. Y ésta es precisamente la limitación que veo. Mi idea era que pudiera leer el contenido que hay en el perfil del usuario o que al menos pueda crear esta tabla auxiliar fuera del substio "Solicitudes de ausencia" (el sitio de solicitudes de ausencia es un subsitio dentro del principal) ya que  la información de esta lista me sería útil también para otros subsitios de la aplicación.

      Mi pregunta es esa ¿Cómo acceder al contenido de otras listas que están fuera del sitio? ¿Se puede hacer también por el Designer como hasta ahora? o es necesario recurrir a Visual Studio.

     

    Muchas gracias

     

    martes, 15 de febrero de 2011 16:41
  • Buenas c_Flores,

    Como bien comentas, SharePoint Designer está limitado por defecto a trabajar con datos del sitio actual en lo que a trabajo con flujos se refiere. Para superar esta limitación con el propio Designer tendrías que desarrollar una acción personalizada que te permitiese contectarte a otro sitio para buscar esa información o bien crear el flujo completo en Visual Studio.

    Y ya puestos a pasar a desarrollo, tienes otras opciones como manejadores de eventos que te pueden dar el mismo resultado.

    Saludos.

    martes, 15 de febrero de 2011 23:03
  • Gracias por la repuesta.

      Pese a que nunca he programado con sharepoint y visual studio me he atrevido con los manejadores de eventos, siguiendo este enlace

    http://surpoint.blogspot.com/2010/09/manejadores-de-eventos-en-sharepoint.html

      He conseguido que se disparen las acciones "escuchando" distintos eventos. Sin embargo creo que tienen la limitación de que los eventos se asocian por tipo de lista, es decir que si he programado un evento para un tipo de lista calendario, las acciones programadas en este evento se ejecutarán en todas las listas de tipo calendario del sitio.

      De todas formas, mi problema es mayor, es una cuestión de fondo ya que por mi limitada experiencia no acabo de tener claro el diseño de la aplicación en su conjunto. He estado buscando y no encuentro nada, hay algún sitio por la red donde pueda encontrar algún ejemplo de como trabaja sharepoint y de su filosofía. Me explico, algún ejemplo por básico que sea en el que se muestre como distintos departamentos de una empresa colaboran en la aplicación, distintos tipos de visibilidad en función del departamento etc.


    Muchas gracias por vuestra ayuda.
    viernes, 18 de febrero de 2011 11:34
  • Hola c_Flores,

    Efectivamente, por defecto el manejador que despliegas se asociará a todas las listas del mismo tipo de plantilla. Para hacer que el manejador se asocie a una lista en concreto, tienes que usar el atributo ListUrl en lugar del TemplateId.

     

    Con respecto a tu pregunta de ejemplos de como trabaja SharePoint y sus posibilidades, lo más parecido son las Fantastic 40 templates para SharePoint 2010 que puedes encontrar en este enlace: http://geeks.ms/blogs/ciin/archive/2010/07/18/sharepoint-2010-actualizadas-algunas-de-las-fantastic-40-templates.aspx. Fuera de esto, tienes también una serie de recursos más para el usuario final que te pueden ayudar:http://geeks.ms/blogs/ciin/archive/2010/07/19/sharepoint-2010-recursos-para-el-usuario-final-iv.aspx

     

    Saludos

    sábado, 19 de febrero de 2011 23:15