18 de junio de 2008

Corregir formato de fechas en workflows de SharePoint Designer

SharePoint Designer es un editor de páginas Web con elementos específicos para trabajar con SharePoint, la herramienta de colaboración para grupos de Microsoft. Una de sus capacidades es un diseñador visual de flujos de trabajo, escribiré más adelante un post para enseñar qué cosas se pueden hacer.

Esto es solo para comentar la forma de resolver un error que me traía loco. En mi instalación (sistema operativo y sharepoint en inglés, con los paquetes de idioma), las fechas en los workflows aparecen en inglés (semana empieza en domingo, horas en formato am/pm), aunque el resto de información se traduce correctamente.

Después de mucho pelear, he encontrado una solución sencilla. SPD genera un formulario ASPX en el que se solicitan los parámetros requeridos por el usuario, en mi caso, la fecha de asignación de una cita.

Para solucionarlo, localizar el control DateTimeControl de ese formulario y añadirle dos parámetros para que el control se ‘localice’, LocaleId y HoursMode24, tal y como se muestra abajo.

<SharePoint:DateTimeControl runat="server" id="ff1{$Pos}" SelectedDate={@FechaCita}
LocaleId="3082" HoursMode24="True" 
__designer:bind="{ddwrt:DataBind('i',concat('ff1',$Pos),'SelectedDate','DateChanged','',ddwrt:EscapeDelims(string('')),'@FechaCita')}"/>

Con esto, el control de fecha se muestra correctamente.


image

Un error parecido se produce con los números, y se le puede dar una respuesta similar. Los workflows usan un campo double, por lo que si se inicializa un valor a 60, este se muestra como 60.00 y es tratado internamente como 6000.

2 comentarios:

Rodrigo dijo...

Muchisimas gracias amigo.. esto me ha servido en el formato de las fechas que lleva el metodo: SPMeeting.Add que ya lo habia probado en un sharepoint en Inglés y no funcionana en uno en Español. Y solamente al colocar LocaleId="3082" HoursMode24="true" en los controles que reciben la fecha ya funcionó..

Espero le le sirva a alguien más. Saludos.

Luis Romero dijo...

Hola, Rodrigo

pues nada, encantado de que le sirva a alguien.

gracias por el comentario!