lunes, 30 de noviembre de 2009

Ficheros Adjuntos en Infopath con Form Services y XmlFormView en MOSS 2007

Como ya sabreis, con el webpart XmlFormView se pueden mostrar formularios InfoPath embebidos en un webpart dentro de nuestro portal MOSS 2007.

Recientemente me he encontrado con el problema que al utilizar este webpart, el control de ficheros adjuntos no funcionaba correctamente y retornaba un mensaje del tipo "El fichero seleccionado no e encuentra".

Buscando por la web de microsfot he encontrado el artículo Hosting the InfoPath 2007 Form Editing Environment in a Custom Web Formse donde se encuentra el motivo de dicho "bug":

The encoding type (enctype) attribute is necessary only if you intend to use the File Attachment control in a form loaded into the XmlFormView control. If this attribute is not set correctly, the File Attachment control will appear to function but will not upload a file to the server that is running InfoPath Forms Services.

¿Cómo solucionamos esto?  Sencillamente, editando la página .master que contenga nuestro webpart de XmlFormView con Sharepoint Designer, y tras el tag de apertura de la sección "body", en el primer tag "form", incluir el atributo enctype="multipart/form-data".

A continuación os pongo 3 líneas de código de la .master para que tengais el ejemplo bien claro:

</head>

<body class="body" onload="javascript:_spBodyOnLoadWrapper();">
<form runat="server" onsubmit="return _spFormOnSubmitWrapper();" enctype="multipart/form-data">

Al publicar de nuevo la .master y validarla para que sea accesible para todo el mundo, necesitareis hacer un iisreset en vuestros frontales, y ya tendreis el bug corregido y vuestros formularios os permitirán adjuntar archivos perfectamente.

No hay comentarios: