2010-12-22 16 views
5

Tengo una lista que tiene almacenes de datos dinámicamente una vez que se ha enviado el formulario infopath. Quiero archivar estos datos después de 30 días de la fecha de creación de cualquier dato. ¿Puedes sugerir por favor cómo haré esto? veo que puedo hacerlo por flujo de trabajo, pero ¿cómo puedo establecer la condición de que una vez que se completen 30 días después de la creación de cualquier lista, se copie automáticamente en otra lista?Copie automáticamente los datos de la lista de una lista a otra después de 1 mes

+1

Por favor, marque mi publicación como respuesta si lo ayudó! –

Respuesta

7

En primer lugar me gustaría pregunta de por qué desea mover a otra lista?

Por qué no simplemente configurar una vista en la lista principal que muestra sólo los registros creados en los últimos 30 días: -

Created >= [Today]-30 

(Y sí, you can use Today in view filters)

+3

Parece que este es un ejemplo perfecto de K.I.S.S ... Es muy gracioso cómo todos recomendábamos trabajos de temporizador y aplicaciones de consola. : D –

+0

+1 para solución simple :) –

1

usted tiene aquí para crear un trabajo de temporizador que funciona todos los días y mover los elementos que son un mes de edad

3

La mejor manera de proceder es la creación de un trabajo del temporizador y definir los criterios (como cuando debería estar en ejecución) mientras creas el trabajo. Tenemos una publicación muy útil realizada por SharePoint MVP here sobre cómo crear trabajos personalizados. Tenga en cuenta que puede probar el trabajo y la lógica comercial para una duración más corta y, si funciona bien, puede simplemente ampliar la duración del trabajo durante 30 días.

Es muy simple, todo lo que tiene que hacer es definir su lógica de "lista de copiado" en el método Execute de la clase de trabajo. Buena suerte

+0

Deseo desarrollar flujo de trabajo en el diseñador de puntos compartidos que mueva los datos de una lista a otra después de cierto período y eso es 30 días después de la creación del elemento de la lista. –

1

Potencialmente, la solución más fácil es crear una aplicación de consola que programe ejecutar en el servidor de SharePoint (una alternativa a la creación de un trabajo del temporizador).

Dependiendo de la forma en que desea archivar los datos, usted podría:

2

creo que se puede utilizar simplemente las actividades de flujo de trabajo estándar fuera de la caja que hacer esto - no hay necesidad de trabajos de temporizador o aplicaciones de consola.

Al usar SharePoint Designer, cree un nuevo flujo de trabajo (Nuevo -> Contenido SP -> Flujo de trabajo). Especifique la lista para adjuntar el flujo de trabajo.

Especifique que el flujo de trabajo debería comenzar en la creación del elemento solamente. En el primer paso, agregue una acción: Pausa para la duración. Haga la duración de 30 días.

Agregue otra acción: Copie el elemento de la lista. Especifique la lista para copiar.

Opcionalmente: crea una tercera acción: Borra el elemento de la lista si deseas que el elemento original se elimine de la lista original.

Y creo que eso es todo :)

+0

He tenido mala suerte con la acción del flujo de trabajo "Pausa por duración" (aunque hace tiempo que no lo intento). Además, ¿no debería ejecutarse la acción "Eliminar elemento de la lista" en la 2ª lista? De lo contrario, intentará eliminar el elemento en el que se está ejecutando actualmente el flujo de trabajo. –

+0

¡Buen punto sobre la eliminación, no estoy seguro de lo que sucedería! Sí, la pausa para la acción de duración puede ser problemática, por lo general depende del horario de tu servicio de trabajo con temporizador. –

0

hay un límite en el número de elementos en una lista de 5000 elementos y si cambias esto en administración, matarás el rendimiento. Existen razones perfectamente válidas para querer archivar elementos antiguos fuera de una lista de rápido crecimiento. exceeds the list view threshold 5000 items in Sharepoint 2010

+0

¿Cómo es el límite de 5000 elementos un factor en la pregunta original? –

Cuestiones relacionadas