En algunos escenarios (por ejemplo en migraciones de datos y entornos), es posible que necesitemos actualizar o asignar los campos de sistema de los elementos de una lista de SharePoint.

Los campos de sistema, serían: Creado, Creado por, Modificado y Modificado por.

Os paso el código necesario para actualizar el campo Creado, de un item de una lista.




















En el código anterior tan sólo accedemos a la lista que nos interesa, y llamamos al método de actualizar:


































Fijaros en que hacemos uso de la clase SPBuiltInFieldId Esta clase nos permite acceder a los IDs de todos los campos de SharePoint que vienen OOB.

Ojo, aunque existe una propiedad de esta clase que es: “Created_x0020_By”, el campo que realmente almacena lo que vemos en el item como “Creado por”, es el campo “Author”.

Fijaros como aparece un item que he creado desde la interfaz de SharePoint:

image

Y así quedaría cuando ejecutamos el código:

image

PD: No lo he probado en Office 365, pero si lo usamos en un webpart y sacamos el SPWeb del contexto, debería funcionar igual, ya que el resto de operaciones son permitidas en modo Sandbox.

Saludos!