En este ejemplo lo que intento mostrar es como guardar un formulario InfoPath en una biblioteca de documentos de SharePoint automáticamente.
1.- Creamos un nuevo formulario de InfoPath (en blanco)
2.- Debemos crear la siguiente estructura de campos (los campos son solo de ejemplo, pueden crear cualquier cosa).
3.- Si utilizaron la misma estructura del punto 2, diseñen algo similar a esto, la idea es tener campos de ejemplo.
4.- Luego ingresen en [Herramientas][Opciones de formulario] y en la Categoría [Compatibilidad] recuerden poner un check a la opción “Diseñe una plantilla de formulario que se pueda abrir en un explorador o en InfoPath”.
Nota: Si ustedes no seleccionan la opción “Diseñe una plantilla de formulario que se pueda abrir en un explorador o en InfoPath”, no podrán publicar el formulario InfoPath en SharePoint, ya que les aparecerá un mensaje similar a este cuando intenten publicar:
Luego de publicar el formulario, debieran tener una biblioteca de documentos enlazada al formulario InfoPath, algo así:
En la biblioteca de documentos de SharePoint, te vas a [Configuración] luego a [Configuración de biblioteca de formularios], ingresas en [configuración avanzada] y debes modificar la opción “Documentos habilitados por el explorador” quedándote algo así:
Esta opción nos permitirá ver nuestro formulario directamente en el explorador.
6.- Ahora en nuestra biblioteca de documentos (en SharePoint), presionamos el botón [Nuevo] .
Si realizaste los pasos correctamente te aparecerá algo así:
7.- Ahora viene lo interesante, Como puedes ver en la imagen anterior, tenemos dos barras de botones, una en la parte superior y otra en la inferior:
En InfoPath existen 7 botones en la barra de herramientas, 3 más de los que por defecto tenemos.
En la imagen anterior tenemos los botones
- Guardar
- Guardar Como...
- Cerrar
- Vista Imprimir
Además existen los botones
- Vistas
- Enviar
- Actualizar
Configuremos el botón [Enviar]…
8.- Para configurar el botón enviar de InfoPath, ingresamos al menú [Herramientas] [Opciones de formulario] e ingresar en la categoría [Examinar]:
Si tú no ves la categoría [Examinar] es porque te saltaste el punto 4
- Como podemos ver la opción [Enviar] se encuentra des – habilitada, esto debido a que aún no hemos configurado una conexión de datos que nos permita enviar nuestro formulario…
12.- Luego seleccionamos un destino para enviar los datos, seleccionamos [A una biblioteca de documentos o en un sitio de SharePoint].
13.- Ahora debemos seleccionar en que biblioteca de formularios deseamos que se guarden los formularios de InfoPath, Obviamente lo más recomendable es enlazarla con la misma biblioteca en la que publicamos nuestro formulario, pero esto dependerá de las necesidades que tengan, ya que se puede crear un envío a otra biblioteca de documentos.
En este ejemplo guardaremos los formularios en la misma biblioteca de documentos en la que publicamos.
En nuestro sitio SharePoint entonces, debemos copiar la URL de la biblioteca en la que publicamos nuestro formulario:
Y la pegamos en la configuración:
...Presionamos [Aceptar]
Nota:
…Presionamos [Siguiente]
14.- Luego seleccionamos un nombre para la conexión que hemos creado, yo le he puesto “Enviar a Biblioteca”
Ya tenemos creada la conexión.
15.- Ahora nos vamos al menú [Herramientas][Opciones de Envío]
___a.Permitir a los usuarios enviar este formulario
___b.Enviar datos del formulario a un único destino
_____i. Seleccionamos Biblioteca de documentos de SharePoint
_____ii. Seleccionamos la conexión de datos para el envío, en nuestro caso será “Enviar a Biblioteca”
....Nos quedará así:
18.- Hasta aquí ya tendremos configurado nuestro botón [Enviar], así que ya no debiera estar des-habilitado como lo estaba en el punto 8, para verificar, nos vamos a [Herramientas][Opciones de formulario] y en la categoría [Examinar] debemos tener esto:
Si presionamos en nuestra biblioteca de formularios el botón [Nuevo].
Deberíamos ver algo así:
20.- Ahora podremos disfrutar de nuestro botón [Enviar], si lo presionamos, nos debería aparecer el siguiente mensaje:
Obviamente realizando este ejemplo tendrás dudas, quizás nuevas ideas o por el contrario algo puede no funcionar bien, pero, ante cualquiera de estas opciones, puedes realizar un comentario con tu inquietud y espero poder responderte a la brevedad.
Saludos.
Francisco Rojas C.
48 comentarios:
hola que tal, disculpa esto funciona si tengo infopath 2003 y sharepoint 2007?? soy nuevo disculpa
Buenas!!. Tengo un problema: necesito conectar un formulario de Infopath con una base de datos SQL Server,y que se vea en el explorador (con sharepoint). Para ello he creado un servicio web que conecte con la base de datos, y que a su vez, el Infopath se conecte con el servicio web.
Hasta aquí todo bien, incluso si le doy a "vista previa" en el infopath, todo funciona sin problemas y se me envía correctamente el formulario. El problema viene cuando meto el formulario dentro del explorador... Lo veo correctamente pero cuando le doy a "Enviar", no se envía... (error mientras se enviaba el formulario), sin más especificaciones del error.
Llevo días buscando información, y he leído que en mi conexión de datos debo darle a "convertir" y almacenarlo en una biblioteca de conexión de datos... también he leído que debo habilitar distintas opciones en la administración central del sharepoint (Permitir que los usuarios habiliten plantillas de formulario para el explorador y Requerir SSL para autenticación HTTP en orígenes de datos)... pero nada de esto me ha dado resultado.
¿a alguien se le ocurre algo?? Ya no se que hacer...
Muchas gracias a todos.
hola Yumi,
yo en su momento tuve el mismo problema, te comento comos solucionarlo...
1. En SharePoint, debes configurar el servicio Single Sign On (SSO), ya que para conectarte a un Web Service Necesitas autenticarte y eso lo lograrás sólo con el SSO, (olvidate de SSL puedes usar NTLM autenticación de windows integrada).
2. En tu sitio SharePoint crea una biblioteca de conexiones.
3. En InfoPath debes convertir tu conexión en [herramientas/conexiones de datos...] y guardarla en la biblioteca de conexiones de SharePoint.
4. Tienes que descargar la conexión desde la biblioteca a tu equipo, ya que necesitas modificarla. y debes editar la siguiente linea:
SSO AppId='' CredentialType=''
y dejarla así
SSO AppId='MyApp' CredentialType='NTLM'
Donde:
MyApp: es el nombre de tu aplicación configurada en el SSO
Luego que modificar lo mencionado, debes volver a cargar la conexión desde tu equipo a la biblioteca de conexiones y podrás ocupar el tu formulario en la web correctamente.
Ojala puedas solucionar tu problema.
Saludos,
Muchas gracias por contestar!!!, ahora el problema que tengo es que no sé como configurar el SSO... He leído que llendo a Herramientas administrativas --> Servicios --> Servicio de Inicio de sesión único de Microsoft o algo así, pero no me aparece en la lista...
¿Sabes cómo configurar esto??
Y muchísimas gracias de nuevo!!
Saludoss
en el servidor donde instalaste SharePoint deberías tener el servicio "Microsoft Single Sign-On Service"
sino tendrías que instalarlo...
Si lo tienes:
Ingresas al servicio y en la pestaña LOGON debes indicar una cuenta que tenga permisos para acceder a la base de datos de SharePoint específicamente a la tabla del SSO.
después debes dejar el servicio automático e iniciarlo..
Luego te vas a la administración central de SharePoint y configuras el Single Sing On, hay varias guías de como hacerlo en la RED.
Espero haberte ayudado, Saludos
Cualquier duda espero responderte a la brevedad
Buenas!!, estuve intentando hacer lo del SSO, pero al final resultó que no podía porque tampoco tengo el directorio activo instalado (y en ese servidor no podemos instalarlo tampoco...), así que tuve que seguir buscando otra opción para solucionarlo.
Al final, resultó ser simplemente... que en el IIS, tenía puesto en la seguridad "Autenticación de Windows Integrada", lo cambié a "Acceso Anónimo", y todo perfecto...
Muchas gracias por tu ayuda.
Saludos
Hola Yumi,
Tambien quiero enviar datos a un SQL atravez de un formulario Infopath y que se me vean despues en un Sharepoint, pero no entiendo bien como lo haces.?
Me ayudas, Please.
Gracias de antemano,
Leovaldo.
Email: leovaldo.alvarez@cigb.edu.cu
Buenas Leovaldo.
Para poder enviar a una base de datos, desde el Sharepoint, debes crear un servicio web (con Visual Studio 2008). Cuando lo ejecutes con el IIS, asegurate de que en "Seguridad", te aparece "Autenticación de Windows Integrada" deshabilitado, y la opción de "Acceso Anónimo" habilitado (este fue el problema que me estaba dando a mi y por eso no se enviaba...)
Una vez que tengas el servicio web, debes configurar el infopath para que enlace con ese servicio web, introduces la dirección donde lo estás ejecutando (el servicio web), y los parámetros que necesita.
Acuérdate de que en "Opciones de Formulario" debe estar activada la opción de que sea compatible con el explorador.
Y listo... publicas el formulario en Sharepoint y debería funcionar. No sé muy bien por qué paso vas y que dudas tienes... así que si me explicas mejor cuál es tu problema, conocimientos previos, etc, te podré ayudar más.
Saludos
Hola Yumi,
La parte en que me pierdo es en la creacion del servicio web que conecta con la DB.
Si no te es mucha molestia y para no alargar este buen articulo de nuestro colega Francisco, pudieras escribirme a mi email.
Saludos, Leovaldo.
YO personalmente me encontre con el mismo problema, sin poder crear un active directory, y con el servidor sql a Km de distancia del servidor sharepoint, asi que solo coloque este codigo al finalde mi archivo de envio de conexion de datos de sharepoint uds, y funciono de maravilla.
< udc:Authentication>
- < udc:UseExplicit CredentialType="NTLM">
< udc:UserId>login_de_admin_servidor_sql< /udc:UserId>
< udc:Password>Clave_de_admin< /udc:Password>
< /udc:UseExplicit>
< /udc:Authentication>"
Espero que les sea util,
el problema de ese metodo de autenticación es que dejas tu username y password en el archivo udcx que todos pueden ver o al menos los que quieras que vean tu formulario InfoPath y por lo tanto es una falla de seguridad
Francisco buenisimo el tutoria y funciona perfecto, el unico problema que tengo es que cuando hago Enviar no me muestra el formulario, si me lo mustra si hago Guardar, pero no entiendo porqe no funciona con el Enviar, me dice qe lo envio correctamente, no me da ningun error. Y la cantidad de elementos de la biblioteca se incrementa, pero no lo veo, y estos en la vista Todos los Documentos. Gracias!
Excelente tu blog.. y tus soluciones...
te tengo una consulta.. por si es q ya se ta ha presentado me des una mano... mira.. lo que pasa que tengo listas deplegables, las cuales tienen bastante datos, y resulta incomodo para el usuario buscar uno por uno en la lista.. lo que quiero saber es si se puede hacer un formulario de busqueda... o por lo menos q aparezca un tipo INPUTBOX (..de vb) escribior un criterio y lo filtre..lo que estoy pensando hacer es mi tabla repetitiva adicionar un boton y un text para realizar la busqueda.. haber como me va... cualquier cosa estamos para ayudarnos...
saludos..
www.willamulloa.com
¿Estas trabajando en InfoPath - SharePoint o sólo InfoPath?
Si estás trabajando en InfoPath - SharePoint, me imagino tus listas desplegables vienen desde una lista de SharePoint.
Lamentablemente no se pueden filtrar las listas desplegables en InfoPath (para los formularios que funcionan con InfoPath Form Service ya que en InfoPath si da la opción)
Lo que tienes que hacer es cambiar las listas desplegables por tablas extensibles. Las tablas extensibles te permiten realizar filtros (formatos condicionales) y podrías ubicar un botón por fila para seleccionar la opción que corresponda.
con esta solución podrías crear cajas de texto que contendrían los filtros y tu tabla extensible la enlazarías a estos campos
Gracias estimado...
si estoy utilizando infopath-sharepoint...
creo q no iba mal com mi solucion.. presisamente estaba utilizando un boton por cada fila para realizar el filtrado...
lo bueno es q al mostrar la vista de impresion no se muestran los botones...
de nuevo gracias.. y muy bueno tu blog..
Estimado: Tengo un prblema con el infopath que ya me tiene desesperado. Lo que pasa es que tengo diseñada una plantilla de formulario en la cual tiene configurada conexiones de datos XML. Todo funciona perfectamnete en el ambiente Sharepoint intranet. Pero cuando quiero utilizar mi formulario a través de internet el formulario no ejecuta las conexiones de datos Xml...que puede estar ocasionando este problema. He revisado la configuracion de Infopath a nivel de adminitracion central, sera algo asociado al SSO, bueno espero su ayuda.
la dirección que utilizas en tu intranet es distinta a la que utilizas en internet?
puede que el problema es que estés ocupando direcciones absolutas y no relativas.
Me podrias aclarar un poco eso...en cuanto a las direcciones de los sitios...efectivamente son distintas la de internet y intranet....bueno..eso...
podrías indicar paso a paso como creas tu conexión desde InfoPath al xml, ya que existen varias formas de conectarse.
Lo realizo de la siguiente forma:
1. Herramientas>Conexiones de Datos>Recibir Datos>Documento XML> ...
en este paso coloco la url de la lista de la siguiente forma:
"http://server/infopath/_vti_bin/owssvr.dll?Cmd=Display&List={put the ID here}&XMLDATA=TRUE"....
De esta forma es como la realizo....
En el nombre del servidor he probado tanto con la Url interna como de internet y no me ha resultado.....
en herramientas>conexiones de datos
te aparece un listado con todas las conexiones disponibles en tu formulario.
si tú te posicionas encima de una conexión, se habilita la opción "convertir".
debes entonces. convertir todas tus conexiones y dejarlas en una biblioteca de conexiones de sharepoint.
es decir
paso1. te vas a sharepoint>acciones del sitio>crear, seleccionas biblioteca de conexiones de datos y creas una biblioteca con el nombre que desees.
paso2. vas a tu formulario infopath y conviertes todas las conexiones. ubicandolas en la direción URL de tu biblioteca de conexiones
ejemplo: http://tusitio/tubibliotecadeconexiones/conexion1.udcx
para cada conexión selecciona "relativa a la colección del sitio"
paso 3. luego vuelves a publicar tu formulario y realizas las pruebas desde internet...
Lamnetablemente ya lo he intentanto...y nada...me da un error de que no tengo acceso a los origenes de datos...al querer realizar las conexiones...pienso que es un error de autenticación pero no se como resolverlo.....
y si dejas el xml como archivo de recursos herramientas>archivos de recursos
luego cuando creas tu conexión haces lo siguiente
herramientas>conexion de datos>crear conexión para>recibir datos>documento xml --> seleccionas archivo de recursos.
me cuentas
hola estimado.. yo de nuevo desde Santa Cruz...te molesto con otra consulta.. el problema es el siguiente:
Tengo un campo gerencia, cargo y otro usuario. Al abrir el formulario, automaticamente me "jala" del AD los datos de gerencia, cargo y usuario de red de la persona q esta abriendo el form. Bueno hasta ahi todo bien. Cualquier usuario puede entrar y generar informacion, solo que tengo un control q solo se tiene q mostrar cuando el cargo sea "gerente". El gerente tiene q abrirlo despues de q el "usuario no gerente" lleno el formulario. Cosa q despues el gerente entre (y deberian habilitarse los controles para gerente) y seleccione lo q corresponde. EL PROBLEMA esta q cuando el usuario llena el formulario ya queda todo guardado (gerencia, cargo y usuario del q genero primero)y cuando abre el gerente ya no se vuelve a ejecutar la regla, me sigue mostrando los datos del "usuario no gerenete".
Consultarte sisabes algun metodo para ver si un campo(s) (lo ocultare para q sea transparente al usuario :)) pueden ejecutar la regla cada ves q se abra un formulario.
Por favor si tienes messenger me puedas agregar para q estemos siempre en linea... pelirojo_22@hotmail.com es el mio.. gracias.. de antemano por tu ayuda..
Hola Francisco...yo todavia..no he podido resolver el problema del xml..pero estoy seguro q es un problema de autenticacion....alguna vez has pasado por este problema...???por que lo raro que con origenes de datos dentro de sharepoint..lamaese bibliotecas y listas no existe ningun problema..pero con las conexiones XML...error...error...401 no autorizado..
Estimado, creo que tu error debe estar en la configuración de sharepoint e infopath, ya que yo lo he probado y no tengo problemas con las conexiones xml.
Muchas gracias por éste magnífico aporte desde Mallorca, España, me ha sido de gran ayuda.
Amigos antes que todo les agradezco sus aportaciones, yo tengo el mismo problema, tengo mi formulario en infopath el cual tengo conectao por medio de un webservice a mi Base de datos en SQL, en modo de diseño y vista previa funciona bien, pero al publicarlo en SharePoint al darle clic en enviar. me sale el "Error mientras se enviaba el formulario". en los LoGS de SharePoint me genera lo siguiente:
The form could not be submitted to http://*******/WebService/Serv.asmx because this action would violate cross-domain security restrictions. To allow this data connection for administrator-approved forms, enable full trust for the form template, or add the connection to a Data Connection Library. For user forms, cross-domain connections must be enabled in SharePoint Central Administration, and all connections must be in a Data Connection Library. For more information, please see the security documentation for InfoPath Forms Services.
Exception Message: La configuración de seguridad del servidor impide el uso de esta conexión de datos.)
Alguna opinión antes de proceder a intentar hacer algún cambio.
Tienes que configurar los formularios
en esta configuración:
http://casosresueltos.blogspot.com/2008/11/configuracin-de-sharepoint-para.html
Debes tener seleccionada esta opción:
Allow cross-domain data access for user form templates that use connection settings in a data connection file
Hola, que tal tengo un problema realize mi formulario y lo subi a un servidor de sharepoint y al enviar los datos me tira el error de
"error mientras se enviaba el formulario"
cuando veo el estado dice error al inicio algo asi...
dejo un pantallaso para mejor explicacion
http://yfrog.com/1serrorworkflow1j
Hola no se si puedes ayudarme, estoy haciendo la integracion de infopath, sharepoint y k2, al momento de integrar el formulario infopath publicado ya en una libreria del sharepoint me genera el siguiente error al deployar el proyecto.
Gracias por tu ayuda
Hola no se si puedes ayudarme, estoy haciendo la integracion de infopath, sharepoint y k2, al momento de integrar el formulario infopath publicado ya en una libreria del sharepoint me genera el siguiente error al deployar el proyecto.
1 Error(s)
(prueba3) The request failed with the error message:
html head title Object moved title head body
h2 Object moved to a href="http://iasaintranet/cotizaciones/_layouts/1033/error.aspx?ErrorText=Request%20timed%20out%2E" here a.h2
body html
Gracias por tu ayuda
Saludos espero me puedas ayudar, mi duda es como pudeo evitar que un formulario de infopath pueda ser editado despues de que su flujo haya sido aprovado, digamos que un usuario lo llena he inicia el flujo de aprobacion otro usuario lo aprueba y lo que quiero es que los formularios aprobados ya no se pudean volver a editar, espero me puedas o puedan aydar.
gracias
puedes crear un estado que tenga un valor 0 cuando el formulario pueda ser editado y 1 cuando este protegido
luego a los controles textbox que quieres que no modifiquen le agregas un formato condicional con las condiciones que correspondan para dejar el campo de "solo lectura" cuando el valor sea 1.
ok voy a tratar de hacerlo asi, pero tengo otra duda, al referirte a un estado se me ocurre poner una lista desplegable con dos elementos: Activo y Cerrado con sus valores respectivos 0 y 1, y hacer lo que me dices, pero que pasa o como controlo que no vuelvan a cambiar el estado guardar el formulario y volvera habrirlo para editarlo
bueno voy a probarlo muchas gracias por tu ayuda
Hola, tengo un problema que espero me puedan ayudar. Tengo dos problemas en la publicación de infopath 2007 con sharepoint 2007.
1) tengo imagenes y estilos que introduzco en el fichero *.xsl que cuando lo publico en sharepoint no veo la imagen ni se me aplica los estilos. ¿Que puedo hacedr para solucionar esto?
2) Realizo una serie de acciones en infopath por medio de códgo fuente pero creo que para que este código fuente funcione tengo que hacer algo con el ficheor dll que se genera pero no se que es. Me podeid informar sobre este tema.
Espero vuestra ayuda, desde ya muchar gracias
Hola Francisco... He diseñado ya un formulario en InfoPath, pero para la publicación no tengo ni idea de cómo hacerlo, lo que quiero es que este formulario este disponible como página web y que los usuarios accedan sin tener instalado ningún software en especial más que su propio navegador... y que los datos que llenen, puedan ser administrados en algún lado sólo por mi. Ya leí tus publicaciones y hay cosas que no entiendo puesto que no se nada de programación. Ofreces algún servicio para hacer este tipo de trabajos...??? aunque estes hasta Chile podríamos trabajar a distancia y aseguro el pago por las cuentasque tienes o me dices dónde giro el envío. Me urge, si tienes un correopara que podamos conversar en privado, te lo agradecería.
Saludos...¡!
Saludos amigos, alguien de ustedes tendra alguna guía del como publicar un formulario de Infopath en SharePoint 2007, que envie datos a una base de SQL, e intentado de todo y no lo logro, estoy totalmente desesperando llevo 3 semanas e leido infinidad de articulos y guias, pero no he podido, alguien que me ayude con un manual.. paso a paso, se los agradeceria
para enviar Directamente desde SharePoint a SQL tienes que crear un web service
para ello tienes que tener claros algunos conceptos, te los digo y luego tu ya buscas en internet tutoriales
1.- web service
2.- autenticación NTLM
3.- SSO (sso del sharepoint)
4.- Conexiones udcx
te comento en forma general como funciona
1.- creas un web service en visual studio que entregue un dataset con los datos que requieres, el web service puede recibir los parámetros que quieras.
2.- configuras el sso del sharepoint
3.- creas una conexión desde infopath al web service
4.- publicas la conexión en una biblioteca de conexiones en sharepoint
5.- descargas la conexión que creaste en la biblioteca, le modificas los parámetros que estan comentados (los del sso) y le das el modo de autenticación (NTLM) y le pones el nombre de tu aplicación y vuelves a publicar la conexión.
ejemplo: udc:SSO AppId="NombreApp" CredentialType="NTLM"
luego de eso tu formulario debería funcionar.
es un poco enredado en un principio, pero luego que funciona, todo lo demás será fácil
Buenas tengo un problema tengo una forma 2010 y publicada en sharepoint 2010 mas quiero configurar un boton para que se pueda imprimir, tomando en cuenta que no se programar asi que mis formas estan hechas sin codigo alguno. gracias por tu ayuda.
Hola, hice un formulario para reportar actividades, integre una tabla extensible que tiene un control de fecha y un textbox, y yo requiero hacer reportes cada vez que un grupo de personas actualizan fecha y actividad, pero en el sharepoint me aparece la primer fecha con su textbox ¿como puedo tomar la màs reciente? es decir cada vez que insertan elementos requiero tomar el màs reciente. Gracias por su ayuda
mi e-mail cowboy0223@hotmail.com
pregunta me marca que la formula publicada tiene uno o mas errors alguien que me pueda auxiliary por fa
pregunta me marca que la formula publicada tiene uno o mas errors alguien que me pueda auxiliary por fa
pregunta me marca que la formula publicada tiene uno o mas errors alguien que me pueda auxiliary por fa
pregunta me marca que la formula publicada tiene uno o mas errors alguien que me pueda auxiliary por fa
donde te aparece eso al intentar publicar o cuando esta publicado??
y lo ejecutas?
Hola a todos y todas, gracias por al info
pero en infopath 2013 no me funciona la formula, con 1 envio trabaja, pero en le 2 encio generar error por nombre duplicado
me pueden ayudar
gracias
Publicar un comentario