miércoles, 18 de mayo de 2011

¿Cómo ocultar campos en Sharepoint 2010 usando PowerShell?

Hola a todos, en una reciente implementación sobre Sharepoint 2010, me encontré con el pedido del usuario que ciertos campos que corresponden a la lista, no deberían estar disponibles al dar de alta un nuevo elemento en la lista. Esta misma problemática la habíamos tenido en Sharepoint 2007 y una forma elegante y fácil de hacerlo era usando JQuey y Javascrip (Preseleccionar u ocultar valores en las pantallas de alta).

Ahora bien, para Sharepoint 2010 estamos utilizando el poder de PowerShell integrado con Sharepoint 2010. Lo que tienen que hacer es tomar un editor de texto y generar un archivo PS1 con las siguientes instrucciones:

#Abro el sitio
$site = new-object Microsoft.SharePoint.SPSite("
http://MiServidor")
$web = $site.OpenWeb()
#Abro la lista 
$list = $web.Lists["MiLista"]
#Configuro Columna1, en este caso la columna no se ve en ningún formulario standard. 
$field = $list.Fields["Columna1"]
$field.ShowInNewForm = 0
$field.ShowInEditForm = 0
$field.ShowInDisplayForm = 0
$field.Update()
#set Columna2, en este caso, inhabilito la columna sólo para el alta.
$field = $list.Fields["Columna2"]
$field.ShowInNewForm = 0
$field.Update()
#Update y Dispose
$list.Update()
$web.Dispose()
$site.Dispose()

Luego lo ejecutan para el sitio correspondiente, y listo. Una forma sencilla de ocultar campos y con las herramientas que provee Sharepoint 2010.

Hasta el próximo truco.

0 comentarios:

Publicar un comentario