Una de las conocidas desventajas de SharePoint Online es que no tiene Timer Jobs. Cuando queremos que, de forma automática, se realicen determinadas tareas cada cierto tiempo, dependemos de soluciones más complejas, normalmente aptas para desarrolladores y, por tanto, costosas de aplicar… hasta ahora.
Con Flow tenemos la posibilidad de automatizar tareas, permitiéndonos realizar algo tan básico como, por ejemplo, crear un campo que indique cuánto tiempo lleva un ítem en una lista desde que se creó y que además se actualice automáticamente cada cierto tiempo.
Existe una función para las columnas calculadas de las listas de SharePoint Online llamada TODAY().
Si en la lista creamos una columna calculada con la fórmula =TODAY()-Created
, veremos que nos realizará correctamente el cálculo. Sin embargo, mientras no haya ninguna modificación en el ítem, seguirá mostrando el mismo valor día tras día. Para que lo haga, deberemos modificar el ítem y aún así no nos modificará el resto de ítems de dicha lista. En este artículo vamos a ver cómo con la ayuda de Flow, podemos hacerlo sin mucha dificultad.
En primer lugar he creado una lista para hacer las pruebas y he creado unas cuantas columnas para simular una lista en la que nuestros usuarios crearán incidencias y queremos un campo actualizado cada hora que nos indique el tiempo que llevan puestas las que no están resueltas.
Esto es el detalle de los campos usados en la lista:
El campo o columna «Categoría» es del tipo «Elección» y tiene como valores «HardWare», «SoftWare Interno», «SoftWare Terceros» y «Periféricos».
El campo o columna «Prioridad» es del tipo «Elección» y tiene como valores «Normal», «Urgente» y «No Urgente».
El campo o columna «Status» es del tipo «Elección» y tiene como valores «Pendiente», «En Curso» y «Resuelta».
El campo «Creado» lo modificaremos para que muestre fecha y hora en el formato Estándar.
El campo «TodayDate» es el campo que nos mostrará la fecha y hora actuales, también en el formato Estándar.
Y finalmente tenemos el campo «Dias_Inc» del tipo «Calculado», que nos mostrará la diferencia en días entre la fecha y hora actual, y la fecha y hora de su creación.
A tener en cuenta en la fórmula:
- Utilizamos la condición «IF».
- La función va en Inglés.
- Primero la condición, un punto y coma, el valor si la condición es verdadera, otro punto y coma, y el valor si la condición es falsa.
- Van puntos y comas porque en la configuración regional de mi equipo tengo puesto el «;» como símbolo para el separador de listas (si no os funciona, probad con una coma).
- Y la fórmula:
=IF(Status="Resuelta";"";(TodayDate-Creado))
.
Una vez configurada, si añadimos algunos ítems, veremos que nos calcula el valor, pero no se actualiza hasta que no volvemos a editar los ítems. Con todo esto preparado, ya podemos ir a Flow a través del lanzador de aplicaciones de Office 365 (símbolo de los 9 cuadraditos blancos sobre fondo azul de la esquina superior izquierda).
Vamos a «Mis Flujos» y le damos a «Nueva» > «Crear desde cero»:
Nos aparecerá la interfaz para empezar a poner lo que queramos. Lo primero que haremos es buscar «periodicidad» o «programación» («recurrence» en inglés) y nos encontrará la primera acción que necesitamos, la seleccionamos:
Veremos algo como esto y podremos empezar a trabajar con nuestra primera acción:
Aquí podemos configurar la periodicidad y agregar otros parámetros. Yo, para las pruebas, lo he puesto tal que así:
Esto, en realidad, será nuestro «Timer Job». Lo programaremos en función de lo que queramos conseguir. Le damos al botón de «Nuevo Paso» y buscamos la acción «Obtener» («Get» en inglés). Escogiendo la acción «Obtener Elementos SharePoint»:
Al añadir esta acción, podemos escoger la colección de sitios y la lista a la que lo queremos aplicar:
El siguiente paso del Flow será el de aplicar una acción a cada uno de los elementos obtenidos en el paso anterior, es decir, en todos los elementos de la lista escogida. Para hacerlo le damos a «Nuevo Paso» y pinchamos en el botón «Control»:
Nos aparecerán varias opciones escogiendo la de «Aplicar a cada uno»:
Ello nos pondrá el control para configurarlo. Pincharemos en el cajetín vacío y nos aparecerá la opción lateral para escoger el «Valor – Lista de Elementos»:
Seguidamente agregaremos una acción dentro del Control y buscaremos por «Actualizar» («Update» en inglés):
Esto nos colocará la acción y podremos escoger la colección y la lista que queremos actualizar que, en este caso, será la misma que en el paso anterior:
Una vez seleccionada la lista, nos aparecerán los campos de la misma. Tendremos que indicarle qué queremos hacer con sus valores al actualizarlos:
En todos ellos, dejaremos el mismo valor que tienen y que hemos obtenido en el paso anterior. Para hacerlo pincharemos en el campo y nos aparecerán las opciones a la derecha. Buscaremos la que le corresponde, en el Identificador el ID y en el título, el Título:
En el caso de los campos con un desplegable, es un poco distinto. Si desplegamos aparecerán las opciones del campo definidos en la configuración de la lista, pero aparece una opción para escribir un valor personalizado, lo cual hará que aparezca de nuevo el menú lateral en el que podremos escribir el valor recogido antes, es decir, para que le podamos poner el mismo valor que tenía antes:
Debería quedarnos así:
Finalmente, configuramos el campo que realmente nos interesa que Flow sí actualice (hasta ahora hemos dejado los valores tal y como estaban), es decir, el «TodayDate». Pinchamos en el campo y en el menú lateral escogemos la pestaña expresiones:
Si tuviéramos algún problema con la definición del sitio y su configuración horaria, podemos agregar o quitar tiempo a dicha función con addhours()
.
Como ejemplo, añadir una hora a la fecha actual sería > addhours(utcnow(),1)
.
Yo lo he dejado con addhours(utcnow(),0)
por si lo tengo que modificar en algún momento. Al final nos tiene que quedar así:
Ya tenemos el flujo terminado, lo guardamos, le ponemos el nombre que queramos (pinchando en el nombre nos dejará editarlo), y lo probamos para comprobar que no haya errores.
A partir de aquí veremos cómo se nos actualiza el valor del campo «TodayDate» cada hora, indicándonos el tiempo que llevan abiertas las incidencias no resueltas de nuestra lista.
Historial de ejecuciones del Flow:
Así nos quedaría la Lista:
Y esto es todo, un saludo!
Buen instructivo, quisiera saber si para un flujo que busca actualizar de una lista un campo calculado hay alguna opción, he tratado de hacerlo pero no me permite visualizar el campo calculado.
Hola. Gracias por el comentario y disculpa la demora en contestar. No entiendo bien la pregunta, ya que los campos calculados se actualizan solos en cuanto hay una modificación en alguno de los valores de la fórmula. Por eso Flow no te deja incluir campos calculados, solo columnas de valores de la lista/biblioteca. Si puedes, cuéntame con más detalle lo que se pretende, a ver si te puedo ayudar. Muchas gracias y un saludo.
Hola qué tal, yo tengo la misma duda. Tengo un campo calculado que intenta generar códificación automática concatenando dos valores de la lista. Pero solamente se actualiza cuando entro a la modificación del campo calculado y le doy actualizar. Buscaba una forma en MS Flow pero no me aparece el campo, sabes de alguna solución al respecto?
Gracias me funciono perfecto para un proyecto que estamos realizando en nuestra compañía.
Gracias por el aporte, a funcionado bien.
he tenido solo un inconveniente, que al llegar al ítem numero 101 en adelante el flujo no agrega el día en la columna «todaydate», quisiera saber si me puedes ayudar como solucionar ese inconveniente.
Hola Emilio. Gracias por tu aportación.
Cierto, a mí también me pasa. Y es fácil de solucionar. Es una limitación propia de ‘Flow’ (ahora ‘Power Automate’) con la función ‘get-items’ u ‘obtener elementos’, ya que, por defecto, recoge solamente los 100 primeros. Ve al paso ‘obtener elementos’ del Flow (editándolo) y clic a los 3 puntos de la derecha. Aparecerá un menú con una opción de configuración. La primera opción que te aparecerá será la de paginación. Actívala y pon 5000 que es el máximo para SharePoint Online (treshold view limit). Cuando se vuelva a ejecutar el Flow se actualizarán los elementos.
Un saludo.
Gracias Raul por tu aporte,
afirmativamente el flujo actualizo toda la columna.
Otro inconveniente adicional que no se que pueda ser, es al momento en que en mi columna de «Status» solo tengo dos opciones «Pendiente» y «finalizado» y que al momento de actualizar un elemento y cambiar de «pendiente» a «finalizado», al cabo de unos segundos me devuelve al valor a «Pendiente», pero como te digo esto es muy esporádicamente.
Hola Emilio. Me alegro de que te haya funcionado.
Para lo que me comentas, si es esporádico es más complicado de diagnosticar y habría que analizar qué pasa exactamente y hacer una serie de pruebas: ver el comportamiento en varios navegadores, usando sesiones en privado, poner la periodicidad del flow lo más amplia posible para que su ejecución no influya en el comportamiento de la lista, probar con distintos usuarios y distintos niveles de permisos y más cosas. Pero sí te puedo comentar que hay que ir con cuidado con los flujos de listas, ya que cuantos más elementos haya en la misma, más tardará en procesar (Flow) todos esos cambios y más complicaciones podremos encontrarnos. Hay formas de evitar estas situaciones haciendo que, por ejemplo, permanezcan en la lista solo los ítems que estén ‘pendientes’ y moviendo los ítems ‘finalizados’ hacia otra lista (lo puede hacer el mismo Flow).
Un saludo, Raul
A ok gracias, la verdad si es de realizar varias pruebas, para identificar el correcto funcionamiento, y esta muy buena la idea de copiar los elementos. excelente aporte.
Hola, quisiera hacerte una pregunta a lo mejor puedes ayudarme;
Necesito crear una columna calculada en una biblioteca que use en la formula el nombre del documento (debe extraer del titulo una parte del texto (que es un codigo )para podeer agrupar luego los documentos por codigo) pero en sharepoint no me parece la opcion de la columna «nombre» para incluirla en una formula, a que se debe?existe una manera de solucionarlo?
Desde ya mil gracias por leerme 🙂
Ejemplo! nombre del archivo en Excel:» 600_f30154h45_maria»(deseo crear otra columna que extraiga f30154h45 para luego agrupar por codigo)
Hola Eliana, muchas gracias por tu comentario y espero poder ayudarte.
Efectivamente la interfaz gráfica no permite usar esos campos de ‘sistema’ en las columnas calculadas. Lo que nos obliga a usar otras herramientas que sí pueden llegar a utilizar esos campos para lo que nosotros necesitamos.
En este caso lo puedes hacer con un FLOW o con un simple WorkFlow. Todo dependerá de la complejidad del nombre del archivo, y me explico.
Lo que se pretende es separar un string o cadena de caracteres que en el ejemplo es: ‘600_f30154h45_maria’ y que en realidad es un campo de la biblioteca de documentos que aloja este archivo, llamada ‘Nombre’. La idea sería separar esta cadena ‘600_f30154h45_maria’ en 3 partes ‘600’ ‘f30154h45’ ‘maria’ y poner cada una de ellas en un campo distinto, para así poder agrupar los ‘n’ archivos que habrá en dicha biblioteca por cada uno de esos campos. O eso entiendo yo, claro.
Los WF de SharePoint pueden obtener el nombre del archivo y por tanto esa cadena y también trabajar con esas cadenas ‘separándolas’ de una forma muy mecánica, es decir, puedo decirle que separe esa cadena en subcadenas basándose en un caracter delimitador como en tu caso el ‘_’ o una simple coma, como en este ejemplo.
El único handicap en este caso, será ver como se hace para que se ejecute el Wf una vez creado (3 opciones para los WF, ejecutarlos manualmente, cuando se crea un documento o cuando se edita), en cada uno de los ítems que hay en dicha biblioteca, y que pueden ser muchos.
Pero hay alternativas que consisten en hacer correr un script que actualice algo en cada uno de los items de la biblioteca, o que ejecute ese WF de forma manual en cada uno también.
Espero haber sido de utilidad.
Un saludo, Raul
Hola qué tal, yo tengo la misma duda. Tengo un campo calculado que intenta generar códificación automática concatenando dos valores de la lista. Pero solamente se actualiza cuando entro a la modificación del campo calculado y le doy actualizar. Buscaba una forma en MS Flow pero no me aparece el campo, sabes de alguna solución al respecto?
Hola Edú. Antes de nada muchas gracias por tu comentario. Efectivamente, si dejas que, por ejemplo, un campo calculado de la propia lista al que vamos a llamar 3 calcule el valor de la resta de otras dos que llamaremos 1 y 2, el valor de 3 solo cambiará cuando cambies el valor de 1 o de 2. Mientras no haya ningún cambio, no realizará ningun cálculo. Si quieres que sea Flow, no podrás usar campos calculados, deberás usar otro campo al que puedes llamar 4 para que sea Flow quien te haga dicho cálculo (1+2) en una periodicidad indicada. En dicho caso, no te recalculará cuando haya cambios en 1 o 2, eso lo hará tu campo 3, el 4 se recalculará cada espacio de tiempo indicado. Se puede hacer con Flow usándolo como con este artículo, con la periodicidad como disparador. No sé si me he explicado o está claro para ti. Si no es así ya me lo indicas.
Hola,
Yo tengo una duda sobre algo un poco diferente pero que tiene un poco de relación con esto. Aclarar que no soy ni mucho menos desarrollador pero me gusta ir aprendiendo. Estoy seguro de que la solución a esto es bastante fácil utilizando una expresión.
Al lío. Yo tengo una lista de usuarios de mi organización de los que necesito que me rellenen un formulario. En esta lista he creado un campo «Respondido» con elección SI/NO, creando un flujo de envío automático de correo recordatorio cada dos días para que rellenen el forms en caso de que este campo esté en NO.
El problema viene al crear el otro flujo conectado a FORMS. De modo que cada vez que alguien responde, se actualice el elemento correspondiente a su usuario y el estado del campo RESPONDIDO, se actualice a SÍ, de modo que ya no se le envíen más correos.
Lo que no consigo es que el flujo identifique el elemento a actualizar mediante el correo electrónico de la persona que contesta el formulario, que coincide con la lista en Sharepoint.
Obtengo elementos en sharepoint y forms, pero el problema está en el identificador del elemento en el paso «Actualizar elemento» que solo me deja elegir ID, por lo tanto no puedo filtrar qué elementos quiero que me actualice en función de otros campos, en este caso el de correo/usuario.
Estoy seguro de que esto se soluciona con una expresión sencilla, pero voy un poco pez jeje.
Mil gracias de antemano!
Hola Santiago. Muchas gracias por tu comentario.
Creo haber entendido lo que pretendes hacer. Intentaré ayudarte reproduciendo tu escenario para ver cómo puede hacerse lo que necesitas. Dame tiempo para ello y te contesto de nuevo por aqui.
Un saludo
Muchas gracias Raúl. Estoy seguro de que se soluciona filtrando el elemento a actualizar mediante alguna expresión.
Hola Santiago
Ya he conseguido reproducir el escenario y he logrado una solución al respecto. Te cuento
En primer lugar he llenado una lista con algunas cuentas de mi tenant de esta forma, y voy a usar el campo ‘userprincipalname’ porque es el campo que usarán mis usuarios para acceder al forms que crearé:
En segundo lugar he creado un forms muy simple en la que indico a los usuarios que contesten a una pregunta:
He configurado el forms para que contesten solo los usuarios de mi organización, de esta forma no hay errores, el sistema capturará la cuenta con la que han iniciado sesión para contestar el forms:
Ya tengo todo, vamos a por el Flow, una imagen de la lógica general
Los detalles
He usado uno de esos usuarios de la lista para que conteste al forms y después de hacerlo se me ha actualizado el item de la lista con un ‘si’ en el campo que indica que ese usuario ha contestado el forms
Espero que te ayude
De nuevo, muchas gracias por vuestros comentarios
Un saludo, Raul
Hi! I have a problem related to calculated columns, I’m just beginning to learn about all of this.
In our company we have a list in sharepoint with some calculated columns (3 of them) that display a «score number» on each item depending of the option selected in another column i’ll leave an example:
col1S:
=IF([colum1]=»VeryLow»,»1″,IF([colum1]=»Low»,»2″,IF([colum1]=»Normal»,»3″,IF([colum1]=»High»,»4″,IF([colum1]=»VeryHigh»,»5″,»0″)))))
but now they want to sums all 3 of them in another column called «total score» and to get the total score for each item ex.:
title | colum1 | colum2 | colum3 | col1S | col2S | col3S | totalS |
item | Low |Normal | Low | 2 | 3 | 2 | 7 |
item2|Normal |Normal | Low | 3 | 3 | 2 | 8 |
how can I achieve this? I’ve been looking throught the net but nothing seems to work. could you help me?
Hi Sandra. Thanks for your comments. I will try to reproduce your scenario and I will answer you with my comments.
Hi Sandra
For achieve this, you must to create a new custom list in a Sharepoint Site and create these columns, for example:
‘Priority’ > column type ‘choose’ with these values
Very Low
Low
Normal
Hight
Very Hight
‘Priority Score’ > calculated column with this formula
IF([Priority]=»Very Low»;1;IF([Priority]=»Low»;2;IF([Priority]=»Normal»;3;IF([Priority]=»Hight»;4;IF([Priority]=»Very Hight»;5;0)))))
or this if the ‘region’ of the site is US
IF([Priority]=»Very Low»,1,IF([Priority]=»Low»,2,IF([Priority]=»Normal»,3,IF([Priority]=»Hight»,4,IF([Priority]=»Very Hight»,5,0)))))
‘Severity’ > column type ‘choose’ with these values
Very Low
Low
Normal
Hight
Very Hight
‘Severity Score’ > calculated column with this formula
IF([Severity]=»Very Low»;1;IF([Severity]=»Low»;2;IF([Severity]=»Normal»;3;IF([Severity]=»Hight»;4;IF([Severity]=»Very Hight»;5;0)))))
or this if the ‘region’ of the site is US
IF([Severity]=»Very Low»,1,IF([Severity]=»Low»,2,IF([Severity]=»Normal»,3,IF([Severity]=»Hight»,4,IF([Severity]=»Very Hight»,5,0)))))
‘Urgency’ column type ‘choose’ with these values
Very Low
Low
Normal
Hight
Very Hight
‘Urgency Score’ > calculated column with this formula
IF([Urgency]=»Very Low»;1;IF([Urgency]=»Low»;2;IF([Urgency]=»Normal»;3;IF([Urgency]=»Hight»;4;IF([Urgency]=»Very Hight»;5;0)))))
or this if the ‘region’ of the site is US
IF([Urgency]=»Very Low»,1,IF([Urgency]=»Low»,2,IF([Urgency]=»Normal»,3,IF([Urgency]=»Hight»,4,IF([Urgency]=»Very Hight»,5,0)))))
‘Total Score’ > calculated column with this formula
=[Priority Score]+[Severity Score]+[Urgency Score]
This works for me, the result:
Feel you free to ask me any question about this.
Thanks again!
Hola Raul: he visto con agrado como ayudas a gente que tiene algun tropiezo con Flujos. Mi caso no esta lejos. te comento que tengo una lista y se actualiza de manera correcta utilizando PowerApps. Pero extrañamente en el flujo de aprobación, los campos ya actualizado no los lee y en el envío de correo no los muestra, mientras que en la lista de sharepoint estan actualizados los datos. La verdad ya se me han acabado las ideas y lo que realizado es no mostrar los campos; solución parches, pues se que en un futuro muy cercano, me pedirán los datos. Espero me puedas ayudar.
saludos,
Hernán
Hola Hernán. Muchas gracias por tus comentarios. Para poder ayudarte necesito reproducir tu escenario. ¿Puedes darme detalles de cómo está montado? Listas necesarias, detalles de los Flujos, etc. No me hago una idea clara de cómo funciona tu entorno, mencionas un flujo de aprobación y un envío de correo pero no sé cómo funciona exactamente. Te agradecería más detalles. Un saludo y gracias e nuevo.
Hola Raul: disculpas la demora en responder. El escenario es el siguiente: Se creo una lista con los campos que van a tener la solicitud de crédito. Los formularios fueron creados por PowerApps. Al actualización de registros es correcta, sin embargo, el flujo como tal, no funciona como se debe. El problema es que cuando se actualizan los datos a través del formulario, se actualizan en Sharepoint, pero el flujo «no ve las actualizaciones».
No se si pude aclarar el tema.
Agradezco tus comentarios.
Hola Hernán, gracias por la respuesta. A ver si lo he entendido. Sé que tenéis creado en PowerApps un formulario que actualiza (imagino que crea y edita) elementos en una lista de SharePoint. En dicha lista hay un Flujo de trabajo (workflow) de aprobación que no se dispara cuando los elementos son creados/modificados mediante esa aplicación, bueno más bien formulario, de PowerApps ¿no? La pregunta es, si desactivas el formulario de PowerApps y usas los formularios por defecto de SharePoint, ¿el flujo de aprobación funciona?. Es más. ¿Alguna vez ha funcionado el flujo de aprobación? Lo digo porque sospecho que no es un problema de PowerApps sino del propio Flujo de Aprobación.
Puedes encontrar información aquí:
Personalización de un formulario de biblioteca o lista de SharePoint con Power apps > Usar el formulario predeterminado
Esto sería para aislar el problema y ver si es cosa de PowerApps o no.
También puedes ir a los detalles del Flujo en la lista para comprobar si se está disparando o para saber qué ocurre si es que se dispara:
Configuración de la lista > Configuración del Flujo de Trabajo > Si el flujo está asociado a la lista aparecerá listado
En esta página te aparecerá entre paréntesis «(Estado del flujo de trabajo)» en el puedes pinchar y te llevará a la pantalla de la salud de los flujos de trabajo en el que podrás ver el estado de todas las instancias ejecutadas
Si al crear un nuevo ítem a través del formulario de PowerApps, aquí te aparece una nueva instancia, es que el WorkFlow se está ejecutando. Si no es así, es que no se está arrancando.
Si se arranca y manda un correo pero éste no contiene los datos que tu quieres, deberás revisar la configuración del flujo de trabajo.
Un saludo, Raul
Hola Raul:
Aclaro tus dudas. Desde Sharepoint de Offices365, se ha creado el Flujo y el formulario por Power Apps. Como mencionas, no es problema del formularios, pues la accesiones sobre los elementos de la lista funciona bien. Tu análisis es correcto: el problema es el flujo. El flujo fue creado desde Sharepoint . Lamento no poder pegarte la foto de donde realice la acción. Si creas un elemento desde Sharepoint, el flujo si se dispara correctamente; pero vuelve a saltar exactamente el mismo error (la actualización de elementos).
Es claro que el error es nivel del flujo al tratar de actualizar los elementos.
lamentablemente he intentado varias acciones, sin que ninguna funcione de manera correcta.
No se si se te ocurra alguna otra idea para solventar el problema.
Agradezco tus comentarios.
Hola Hernán. Muchas gracias por tus aclaraciones. ¿Has probado creando el WF desde SP Designer? Puedes empezar con uno simple que mande un correo para ver si se completa todo correctamente. Y después, si funciona, crear uno de Aprobación. Tienes un ejemplo aqui. ¡Ya me cuentas!
Hola Raúl,como te encuentras?
Bueno he mirado a detalle tú lista sharepoint, tu flow y he quedado maravillado. Pero me surge una pregunta. En el caso de que sólo quiero que avance el tiempo de horas en el horario hábil laboral? Por ejemplo : de las 8:30 am hasta las 16:00pm y despues se pare el flujo hasta el siguiente día y avance denuevo en horas. Como sería la lógica?
Saludos
Hola Christian.


En primer lugar muchas gracias por escribirnos. Me encuentro bien y espero y deseo que tú también.
En cuanto a tu pregunta, no hay ningún problema en hacerlo. Mira, para la ejecución del Flow he usado un Scheduler o programador. Yo, por mi conveniencia, he usado un programador que hace que se ejecute el Flow cada 1 hora. Pero puedes usar el mismo programador para ejecutarlo cuando tú quieras, y te pongo un ejemplo para que puedas ver cómo puede adaptarse a las necesidades que explicas en tu pregunta.
En este caso, puedes hacer que se ejecute el flow cada hora, desde las 9 a las 17 de lunes a viernes
O también puedes hacer que se ejecute cada 15 minutos configurándolo de esta otra forma
Espero que te sirva
Un saludo, Raul
Buenos días Raul,
Gracias por la pronta respuesta y esperando que estés bien.
Contexto: Power automate comienza flujo cuando se crea elemento sharepoint e inicia tarea inmediatamente y el usuario puede finalizar el proceso cuando lo desee.
Lo que sucede es que poseo 3 grandes variables en mi columna sharepoint que reciben los datos de esta manera:
Inicio_Tarea: En powerAutomate al momento de realizar inicio de la acción, este guarda una hora con addHoursnow(utc(),0).
Fin_Tarea: En powerAutomate al momento de finalizar la acción, este guarda una hora con addHoursnow(utc(),0).
DiferenciaHorasTarea: Es una columna personaliza que saca la diferencia entre estas dos horas con condicional IF en el caso de que aun no finalice la tarea y lo deja en formato int de esta manera- > =IF(ISBLANK(Fin_Tarea);»»;INT((Fin_Tarea-[Inicio Itinerario])*24)).
Pero mi consulta es, en donde puedo contar la diferencia de estas horas «sólo en un rango de tiempo». Ósea que si tengo un rango de tiempo por ejemplo de las 13:00 hasta las 17:00 de trabajo y ejecuto el inicio de la tarea a las 16:00, este va a llevar 1 hora de conteo hasta las 17:00 y que al día siguiente de nuevo comience a contar desde las 13:00. Por que ahora me saca la diferencia horaria en duro, sin contar el rango horario.
Saludos.
Hola Christian y gracias por la aclaración. Ahora entiendo lo que te ocurre.
Creo que lo puedes resolver si además de las columnas que usas en tu lista para las horas, añades dos columnas en las que se guarde el día. Si la diferencia de los días es más que cero, deberás descontar las horas de más fuera del horario de 13 a 17 por cada uno de los días de diferencia, es decir, de 17h a las 13h del dia siguiente (20h)
A parte de esto, tampoco deberán contar las horas de más de los items creados antes de las 13 y despues de las 17, pero eso lo puedes revolver desde powerAutomate indicando que antes de grabar la hora en el campo da la lista mire la hora actual y decidas qué hora grabar. No sé si me expliqué.
En todo caso es una idea que creo que podría funcionar, pero imagino que puede haber muchas más.
Un saludo
tengo creadas unas columnas con numero de codigo de barras y nombre del producto, así como cantidad
Cuando escaneo el codigo de barras solo me muestra la referencia y la cantidad pero no me sale la descripcion del articulo.
Como puedo solucionarlo
Gracias
Hola Quim, buenos días.
Ante todo muchas gracias por tu comentario y disculpa la demora en mi respuesta
No dispongo de los datos necesarios para poder analizar tu problema y por lo tanto pensar en una posible solución
Un saludo
Hola Raúl, ¿qué tal?
Estoy intentando obtener la cantidad de días transcurridos desde la fecha de notificación en mi lista de Sharepoint. Lo realicé el día de ayer con la fórmula =TODAY()-[Fecha de notificación], y salió, pero hoy (un día más) debería obtener el resultado sumado 1; sin embargo, sigo obteniendo el resultado de ayer. ¿Debería hacer un flujo extra? ¿Agregar otra columna? Asimismo, deseo que solo los elementos con estado «pendiente» me llegue al correo, los campos son:
Requerimiento, estado, días transcurridos, prioridad.
Espero tu respuesta por favor, gracias.
Hola Giulissa, buenos días
Muchas gracias por tu comentario y disculpa la demora en mi respuesta
Lo que te pasa es precisamente lo que explicamos. Con columnas calculadas jamás obtendrás un valor que se actualice día a día, ya que la función today la usa solo cuando hace el cálculo inicial o cuando cambia el valor de alguno de los campos usados en la fórmula. Y en tu caso no va a ocurrir. Por eso debes seguir los pasos de este artículo para que, de forma automática, sí haga dichos cálculos
Un saludo
Buenos días, ante todo quiero agradecer a los administradores del sitio por subir material tan didáctico que nos ayuda con las tareas del día a día. Mi consulta es la siguiente:
Cuento con una lista de Sharepoint para seguimiento de tareas de la compañía, sobre la misma tengo configurado un flujo de actualización que pisa la fecha «Today» cada día por la madrugada, de esa manera puedo correr Otro flujo que compara la fecha «Today» contra una columna denominada «Fecha Compromiso» y si las mismas son iguales (utilizando una acción condicional) se dispara una serie de notificaciones a las personas asignadas + una integración con Microsoft Teams.
He seguido los pasos del flujo posteado al inicio de ésta página y pude actualizar perfectamente la fecha actual y las demás columnas. Mi problema con el flujo es que tengo 2 columnas denominadas «Persona asignada» y «Frente asignado» y cada columna permite la utilización de más de 1 valor en simultáneo pero cuando el Flujo avanza si la columna tiene asignado más de 1 valor solo me actualiza uno.
Es posible que éstos campos no únicos puedan ser actualizados correctamente?
Hola Matías, buenos días.
Muchas gracias por tu pregunta y disculpa la demora en mi respuesta
La he leído varias veces, entiendo lo que me estás contando, pero no logro aclarar a qué te refieres con: «(…) si la columna tiene asignado más de 1 valor solo me actualiza uno.»
Si me lo pudieras aclarar, igual podría hacer alguna prueba y tratar de ayudarte.
Un saludo
Raul buenas tardes tengo un problema y es que por alguna razón el flujo dejo de actualizar la lista y me llama la atención es solo actualiza 100 elementos al revisar el flujo en la accion aplicar a cada uno
Hola Arnold, buenos días. Muchas gracias por tu comentario y disculpa la demora en la respuesta
Esta cuestión la contesté a Emilio, en este mismo post, creo. Pero te indico y cito
«Cierto, a mí también me pasa. Y es fácil de solucionar. Es una limitación propia de ‘Flow’ (ahora ‘Power Automate’) con la función ‘get-items’ u ‘obtener elementos’, ya que, por defecto, recoge solamente los 100 primeros. Ve al paso ‘obtener elementos’ del Flow (editándolo) y clic a los 3 puntos de la derecha. Aparecerá un menú con una opción de configuración. La primera opción que te aparecerá será la de paginación. Actívala y pon 5000 que es el máximo para SharePoint Online (treshold view limit). Cuando se vuelva a ejecutar el Flow se actualizarán los elementos.»
Un saludo.
Hola!
Excelente solución, muchas gracias.
Por mi parte tengo un problema un tanto diferente, cierta tarea en la lista pasa por 2 diferentes equipos de trabajo por lo que cada equipo tiene dos columnas para c/u, en la primera columna se coloca el status: en donde selecciona el status de «En proceso» o «Concluido», en la segunda columna se asignará de forma automática la fecha de modificación (aquí el problema, ya que deseo que se asigne la fecha de forma automática y quede fija ya que en el flujo de trabajo un equipo depende del trabajo del anterior y deseo medir en donde hay mayor retraso, utilizando la función Today() no es posible ya que siempre que modifique el equipo 1 o el equipo 2 se estarán actualizando ambas fechas. ¿Como podría lograr que una vez asignada la fecha de modificación está queda fija y no pueda ser modificada?)
Hola me parece excelente opción para actualizar la fecha de forma automatizada. El único problema que tengo es que me la actualiza con el dia siguiente. Es decir no me actualiza a la fecha de hoy, sino a la fecha del dia siguiente. Sabes que puede ser?
Saludos y gracias por el aporte.
Hola Rob, buenos días.
Muchas gracias por tu comentario y disculpa la demora en la respuesta. Quizás tenga que ver con la configuración horaria de tu sitio > Configuración del Sitio > Configuración regional, o bien directamente a esta url de tu sitio: /_layouts/15/regionalsetng.aspx, para saber si tienes puesta la hora del pacífico (algunos sites lo ponen así por defecto, sobretodo los de los grupos). Aunque no me cuadra mucho ¿ocurre a todas horas del día? Sino puedes jugar con el diseño del flow para que no ocurra, en concreto a la hora de decirle qué quieres poner en el campo TodayDate, añadiendo o quitando horas al «addhours(utcnow(),0)»
Un saludo.
Raul muy buenas tardes gusto en saludarte, quisiera solicitar tu orientación, en mi empresa estamos creando una lista y necesitamos que nos realice el conteo de días laborales transcurridos entre dos fechas en un campo calculado, sin embargo, al ingresar pruebas de diversas fórmulas nos genera error de sintaxis, como podríamos realizar el conteo correspondiente?
De antemano agradezco tu apoyo
Hola Lourdes, un placer también. Ese es el motivo de este artículo, ya que solamente con columnas calculadas y fórmulas de SharePoint en dichos campos calculados no funciona de forma automática. Cito el artículo:
«Si en la lista creamos una columna calculada con la fórmula =TODAY()-Created, veremos que nos realizará correctamente el cálculo. Sin embargo, mientras no haya ninguna modificación en el ítem, seguirá mostrando el mismo valor día tras día. Para que lo haga, deberemos modificar el ítem y aún así no nos modificará el resto de ítems de dicha lista. En este artículo vamos a ver cómo con la ayuda de Flow, podemos hacerlo sin mucha dificultad.»
Si queréis que os lo calcule (‘necesitamos que nos realice el conteo de días laborales transcurridos entre dos fechas en un campo calculado’), tendréis que incorporar el Flow (ahora Power Automate) en dicha lista siguiendo los pasos del artículo.
Espero haber ayudado.
Un saludo.