lunes, 25 de marzo de 2019

Al menos uno de los tipos de campo no se ha instalado correctamente. Vaya a la página de configuración de la lista para eliminar estos campos

El siguiente error es bastante común cuando estamos programando usando c# en SharePoint:

Al menos uno de los tipos de campo no se ha instalado correctamente. Vaya a la página de configuración de la lista para eliminar estos campos.

En inglés:

One or more field types are not installed properly...

La mayoría de las veces el problema es que no estamos usando el nombre interno del campo. O estamos usando el que nosotros creemos que es el nombre interno del campo, pero en realidad SharePoint lo cambió por otro. Esto se debe a que:
  1. Ya existe un campo con ese nombre
  2. El campo es muy largo y se trunca
  3. O se reemplazan caracteres especiales
Sin embargo, existe una situación un poco más compleja de detectar.

Supongamos que estamos modificando un sólo campo desde C#:

Ejemplo:

itemHito["Flag_Pantalla_Medida"] = "SI"
itemHito.Update();

Obtenemos el error, pero estamos seguros que el nombre del campo es correcto.
Lo que puede suceder es que exista un evento que haga referencia a otro campo que no estamos proporcionando, por ejemplo:

public override void ItemUpdating(SPItemEventProperties properties)

(...)

nuevo = properties.AfterProperties["Estado_Cumplimiento"];

Esa línea de código produce el error. Para resolverlo, se debe agregar el campo "Estado_Cumplimiento" al momento de hacer el update.

Hasta la próxima!

0 comentarios:

Publicar un comentario