[Infopath] Mostrar un formulario desde un WebPart

Siguiendo con el post anterior “[Infopath] Orígenes de datos”, veremos como visualizar un formulario de Infopath desde un WebPart. Recordar que para poder renderizar un formulario necesitaremos de Infopath Services, además tendremos que haber habilitado la compatibilidad del formulario para que se pueda abrir en el explorador, desde la opciones del formulario > Compatibilidad > compatibilidad de explorador > marcaremos “Diseñe una plantilla de formulario que se pueda abrir en un explorador o infopath”.

image

Utilizaremos el WebPart “XmlFormView” que está alojado en la librería Microsoft.Office.InfoPath.Server.dll. Antes de poder agregarlo debemos asegurarnos que lo tenemos registrado correctamente como safecontrol, agregaremos en el fichero web.config la entrada:

<SafeControl Assembly="Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.InfoPath.Server.Controls" TypeName="*" Safe="True" />

 

A continuación  iremos a la galería de elementos web en la configuración de nuestro sitio > seleccionaremos la opción “Nuevo” > marcaremos el webpart “Microsoft.Office.InfoPath.Server.Controls.XmlFormView” > Llenar galería. Esto hará que el webpart esté disponible para ser agregado desde cualquiera de las páginas de nuestra colección.

En la página que deseemos agregar el WP la editaremos y agregaremos el WP con título “XmlFormView”. La primera vez puede que nos muestre un error de infopath diciendo que no tenemos la plantilla adecuada, esto se debe a que todavía no lo hemos configurado y está intentando renderizar el formulario.

Editaremos entonces las propiedades del webpart añadido y en la sección “Enlace de datos” indicaremos el fichero xsn y la librería donde se guardarán los datos xml generados por el formulario.

En la propiedad XsnLocation indicaremos la ruta del fichero xsn, en mi caso he publicado desde Infopath el formulario de notas de gasto en una biblioteca de documentos de forma que la ruta queda: http://w2k3r2:17092/FormServerTemplates/EjemploNotasDeGastos.xsn

 

image

 

Si os aparece siempre el mensaje “Formulario cerrado” verificar el fichero de log de Sharepoint, que tenéis la url correctamente, que habéis indicado una ruta para SaveLocation y la propiedad “EditingStatus”. Aseguraros además que habéis publicado correctamente el formulario desde la administración central y lo habéis activado para la colección actual.

Publicado por

Mario Cortés

Mario Cortés Flores es MVP en Office 365, trabaja en Plain Concepts como Team Lead y escribe habitualmente en geeks.ms/blogs/mcortes y en Twitter @mariocortesf. Podréis encontrarlo colaborando activamente con la comunidad de MadPoint y SUGES

Un comentario en “[Infopath] Mostrar un formulario desde un WebPart”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *