none
Actualizar campos calculados en una lista de sharepoint RRS feed

  • Pregunta

  • Hola a todos,

    espero que podáis ayudarme con un problema que se me ha presentado. Tengo en Sharepoint una lista en la que hay una columna que es un campo calculado (muestra los días que han pasado desde la fecha que hay almacenada en otra columna y la fecha de hoy). 

    Mi problema es que como los campos calculados se actualizan solo al guardar/editar el elemento, al día siguiente de haber grabado o editado un item de la lista, el campo calculado no está actualizado.

    Creo que es posible hacer que se actualicen los campos calculados de una lista mediante un workflow, el problema es que no tengo claro si dicho workflow debería simplemente ejecutar la acción "Update item in nombre_de_la_lista" u otra acción diferente.

    Tampoco me queda muy claro si es posible configurar el workflow para que se ejecute sin intervención de los usuarios, de manera automática una vez al día. Sólo tengo sharepoint designer 2010 como herramienta.

    Muchas gracias!


    MVP Windows Live Messenger y webmaster de MessengerAdictos.com

    viernes, 10 de octubre de 2014 12:13

Respuestas

  • Hola,

    La mejor forma de hacer lo que quieres pasaría por crear mediante desarrollo un Trabajo de Temporizador o Timer Job que haga de forma diaria la actualización que necesitas en la lista.

    Un saludo


    ------------------------------------------------------------
    Juan Carlos Gonzalez Martin
    MVP de SharePoint Server - Director revista CompartiMOSS:
    http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/jcgonzalez
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Propuesto como respuesta Moderador M lunes, 13 de octubre de 2014 14:26
    • Marcado como respuesta Moderador M lunes, 13 de octubre de 2014 18:02
    viernes, 10 de octubre de 2014 19:33

Todas las respuestas

  • Hola JIOB:

    La verdad es que no está recomendado ni soportado usar HOY en campos calculados, si bien existen algunos trucos para hacerlo.

    Lo que normalmente se hace es crear vistas que filtren comparando contra [HOY] para dar una "solución parecida".


    Juan Pablo.
    surpoint.blogspot.com
    jpussacq.me
    @jpussacq

    viernes, 10 de octubre de 2014 18:05
  • Hola,

    La mejor forma de hacer lo que quieres pasaría por crear mediante desarrollo un Trabajo de Temporizador o Timer Job que haga de forma diaria la actualización que necesitas en la lista.

    Un saludo


    ------------------------------------------------------------
    Juan Carlos Gonzalez Martin
    MVP de SharePoint Server - Director revista CompartiMOSS:
    http://www.compartimoss.com
    Blog: http://geeks.ms/blogs/jcgonzalez
    Twitter: @jcgm1978
    ------------------------------------------------------------

    • Propuesto como respuesta Moderador M lunes, 13 de octubre de 2014 14:26
    • Marcado como respuesta Moderador M lunes, 13 de octubre de 2014 18:02
    viernes, 10 de octubre de 2014 19:33
  • Gracias Juan Pablo por tu respuesta, por si acaso voy a explicaros qué es lo que necesito y a ver si a vosotros se os ocurre entonces algo mejor.

    He creado una lista en la que hay varios ítems. Hay una columna que almacena una fecha y me piden que muestre los días que han pasado desde esa fecha hasta hoy.

    La gran pega es que no tengo acceso a la administración central, así que me encuentro bastante limitado. Tengo que intentar apañármelas con SharePoint Designer.

    Viendo vuestras respuestas y tirando por lo simple, se me ocurre crear un flujo de trabajo que se ejecute cada vez que un ítem sea creado/modificado y que actualice todos los elementos de la lista que cumplan una condición. ¿Qué te parece? ¿La acción del workflow sería la que comenté en mi primer post "Update item in nombre_de_la_lista"?


    Edito: estoy leyendo que los workflow solo se pueden ejecutar sobre un elemento y no sobre varios, así que meto que esta opción tampoco es viable ¿me equivoco?


    • Editado JIOB lunes, 13 de octubre de 2014 7:39 ampliada información
    lunes, 13 de octubre de 2014 7:23
  • Gracias Juan Carlos,

    me lo imaginaba. Lamentablemente no tengo acceso a la administración central, así que tendré que buscar otra solución menos correcta...


    MVP Windows Live Messenger y webmaster de MessengerAdictos.com

    lunes, 13 de octubre de 2014 7:26
  • Hola JIOB, para este tipo de requerimientos, que necesitas fórmulas de fechas en las columnas, siempre uso jQuery. Podés crear una columna autocalculada que te renderice HTML: http://todosharepoint.blogspot.com.ar/2014/04/agregar-codigo-html-en-columnas.html

    La fórmular sería algo así ="<DIV class='divProcesar' >"&CampoFecha&"</DIV>"

    Tendrías que crear en un content editor que tenga una función que utilice jQuery para procesar los elementos de la clase divProcesar, y hacer la diferencia

    $('div.divProcesar').each(function(){
                  FuncionDiferenciaTODAY($(this).text());
    });

    Saludos.

    miércoles, 15 de octubre de 2014 19:29
  • jueves, 16 de octubre de 2014 12:47