Introducción al envío de los datos del formulario

Se aplica a
InfoPath 2010 InfoPath 2013

En este artículo...

Información general

Al usar formularios de Microsoft Office InfoPath para recopilar datos como parte de un proceso empresarial más grande, esos datos normalmente no permanecen en los formularios que los usuarios rellenan. En su lugar, los datos del formulario se mueven del formulario a la siguiente fase del proceso empresarial, normalmente a un origen de datos externo, como una base de datos, un servicio web o una aplicación en un servidor web. Por ejemplo, un empleado podría usar InfoPath para rellenar un formulario de informe de gastos y, a continuación, enviarlo a un servicio web donde se pueda procesar el formulario.

6689bb4c-bf3a-4ae0-808a-45d791736308

A diferencia de guardar un formulario, donde los usuarios eligen una ubicación para almacenar el formulario mientras lo rellenan, enviar un formulario envía los datos del formulario a una ubicación específica que se definió cuando se diseñó la plantilla de formulario asociada con el formulario. Al diseñar una plantilla de formulario y habilitar el envío de formularios, puede elegir que los datos que los usuarios escriban en el formulario se envíen a las siguientes ubicaciones:

  • Una base de datos de Microsoft Office Access o Microsoft SQL Server
  • Un servicio web
  • Un servidor que ejecuta Microsoft Windows SharePoint Services
  • En un mensaje de correo electrónico
  • Una aplicación en un servidor web
  • Una aplicación personalizada que hospeda InfoPath

Especificar dónde desea que se envíen los datos de los formularios puede aumentar la precisión y eficiencia de sus procesos empresariales, ya que le permite ejercer más control sobre esos procesos. Antes de que los usuarios puedan enviar los datos del formulario, InfoPath garantiza que los datos de los formularios sean válidos y permite a los usuarios corregir los datos no válidos. Esta característica puede ayudar a garantizar que solo se envíen datos válidos al origen de datos externo.

Además de diseñar la plantilla de formulario para permitir a los usuarios enviar sus datos a una única ubicación, puede diseñar la plantilla de formulario para que los usuarios puedan enviar los datos del formulario a varias ubicaciones a la vez. Por ejemplo, puede diseñar una plantilla de formulario de informe de gastos para que cuando los usuarios envíen los formularios completados, los datos de los formularios se envían a una base de datos y también se envía una copia de cada formulario completado en un mensaje de correo electrónico a su jefe.

Cuando se diseña una plantilla de formulario que se puede enviar a un origen de datos externo, InfoPath activa el comando Enviar en el menú Archivo, así como el botón Enviar de la barra de herramientas Standard de forma predeterminada. Según sus necesidades, puede elegir cambiar el nombre del comando Enviar . Además, también puede insertar un botón directamente en la plantilla de formulario en el que los usuarios pueden hacer clic para enviar los datos del formulario cuando terminen de rellenarlo.

También puede configurar la plantilla de formulario para que se produzca una de las siguientes situaciones después de enviar el formulario:

  • Se cerrará el formulario existente.
  • Se cerrará el formulario existente y se abrirá un nuevo formulario en blanco.
  • El formulario existente permanece abierto.

Además, puede escribir un mensaje que aparece después de que los usuarios envíen su formulario que especifique si el formulario se ha enviado correctamente.

Principio de página

Enviar datos de formulario a una base de datos de Access o de SQL Server

Los formularios de InfoPath se envían con frecuencia a bases de datos, ya sea para actualizar una sola tabla con un registro de cliente o para escenarios más complicados, como modificar varias tablas vinculadas en una plantilla de formulario de informe de gastos. Puede diseñar la plantilla de formulario en InfoPath para que se pueda enviar directamente a una base de datos de Access o SQL Server sin necesidad de usar scripts o código personalizado. También puede enviar datos de formulario a otros tipos de bases de datos mediante código personalizado o enviando el formulario a un servicio web conectado a esa base de datos.

Para enviar un formulario a una base de datos de Access o de SQL Server, debe diseñar una plantilla de formulario basada en esa base de datos. Así se asegura de que el origen de datos de la plantilla de formulario coincide con la estructura de la base de datos. Si agrega una conexión de base de datos a una plantilla de formulario existente, los usuarios no podrán enviar los formularios completados a la base de datos, porque el origen de datos del formulario no coincide con la estructura de la base de datos. Si la plantilla de formulario no coincide con la estructura de la base de datos, InfoPath no puede actualizar los campos correctos en la base de datos cuando se envían los datos.

Al diseñar una plantilla de formulario de InfoPath basada en una base de datos, tenga en cuenta los siguientes problemas:

  • Al conectar la plantilla de formulario a más de una tabla de la base de datos, las tablas deben estar conectadas por campos de clave.
  • Los tipos de datos long (como imágenes, imágenes, objetos OLE, datos adjuntos de archivo y tipos de datos Memo o SQL de Access) deben excluirse de la conexión de datos. InfoPath no admite conexiones de datos a estos tipos de datos largos. Para excluir campos específicos de la base de datos, use el Asistente para la conexión de datos para configurar la conexión de datos.

Puede determinar si alguno de estos problemas se aplica leyendo la información en el cuadro Resumen de la última página del Asistente para la conexión de datos. El resumen indica si el envío de formularios está habilitado y si está deshabilitado , en resumen se explica por qué.

Después de configurar la conexión de datos entre la plantilla de formulario y la base de datos, puede personalizar las demás opciones de envío que desee. Por ejemplo, puede cambiar el texto que aparece en el botón Enviar de la plantilla de formulario. También puede cambiar los mensajes que se muestran a los usuarios para indicar si el formulario se ha enviado correctamente y puede especificar si desea mantener el formulario abierto después del envío.

Principio de página

Enviar datos del formulario a un servicio web

Tanto si usa un servicio web para establecer un flujo de trabajo para un proceso empresarial como un nivel intermedio en la parte superior de la base de datos, InfoPath facilita la creación de plantillas de formulario que interactúan con un servicio web. InfoPath tiene un Asistente para la conexión de datos que le guiará por el proceso de conectar plantillas de formulario a un servicio web.

Existen dos métodos comunes para diseñar una plantilla de formulario que envía formularios a un servicio web:

  • Conexión de una plantilla de formulario existente a un servicio web
  • Diseñar una nueva plantilla de formulario basada en un servicio web

Con ambos métodos, InfoPath crea un origen de datos que se basa en el esquema del servicio web. Esto permite que los formularios basados en una plantilla de formulario envíen datos al servicio web.

Detalles técnicos

Cuando los usuarios envían un formulario a un servicio web, este se envía como datos XML (Lenguaje de marcado extensible) en un sobre SOAP. El sobre SOAP funciona como parámetro de entrada para la operación de servicio Web especificada. Puede comparar esto con el envío de un formulario mediante HTTP, que da como resultado un documento XML en una solicitud HTTP POST.

Antes de conectar una plantilla de formulario de InfoPath a un servicio web, tenga en cuenta lo siguiente:

  • InfoPath no puede conectarse a un servicio web que use un estilo codificado de llamada a procedimiento remoto (RPC). Solo se admite la codificación literal de documento.
  • Al configurar una plantilla de formulario para que sus formularios puedan enviar datos a un servicio web, puede especificar que solo se puedan enviar datos en determinados campos o grupos, o bien puede enviar todos los datos en el formulario.

Una vez configurada la conexión de datos al servicio web, puede agregar un botón Enviar a la plantilla de formulario y personalizar las demás opciones de envío que desee.

Principio de página

Enviar datos del formulario a un servidor que ejecuta Microsoft Windows SharePoint Services

Puede diseñar una plantilla de formulario que envíe datos a un servidor que ejecuta Microsoft Windows SharePoint Services. Al hacerlo, puede almacenar y organizar todos los formularios de los usuarios en una biblioteca de documentos. Además, los usuarios pueden rellenar formularios basados en la plantilla de formulario directamente desde la biblioteca de documentos. También pueden exportar datos de formulario a Microsoft Office Excel o combinar los datos de varios formularios en un solo formulario. Además, al habilitar el envío de formularios directamente a una biblioteca de documentos, puede predefinidos los nombres de archivo de los formularios, ya sea con valores estáticos, con valores basados en datos del formulario o mediante una fórmula.

Después de configurar la plantilla de formulario para permitir el envío de formularios a una biblioteca de documentos de SharePoint, puede agregar un botón Enviar al formulario y personalizar otras opciones de envío, como el texto del botón Enviar , los mensajes que se muestran al usuario para indicar si el formulario se ha enviado correctamente y si desea mantener el formulario abierto después del envío.

Principio de página

Enviar datos del formulario en un mensaje de correo electrónico

Usar un programa de correo electrónico es una de las formas más sencillas y comunes de configurar un flujo de trabajo para un proceso empresarial. Puede diseñar una plantilla de formulario de InfoPath que permita a los usuarios hacer clic en un botón Enviar de la barra de herramientas de Standard o en el menú Archivo para enviar el formulario completado como datos adjuntos o en el cuerpo de un mensaje de correo electrónico. Las direcciones de correo electrónico, la línea de asunto y el nombre de archivo de datos adjuntos se pueden predefinidos al diseñar la plantilla de formulario, ya sea con valores estáticos, con valores basados en entradas del formulario o mediante una fórmula. Por ejemplo, puede diseñar la plantilla de formulario para que los formularios completados se envíen automáticamente en un mensaje de correo electrónico con una línea de asunto predefinida a una dirección de correo electrónico basada en una entrada del formulario. Además, en función de los datos que los usuarios escriben en el formulario, puede definir nombres de archivo dinámicos para el formulario.

Para que los usuarios envíen sus formularios como mensajes de correo electrónico, deben tener Microsoft Office Outlook 2003 o Microsoft Office Outlook 2007 instalados en sus equipos. Los usuarios que rellenan formularios en un explorador web no necesitan que Outlook envíe sus formularios como mensaje de correo electrónico.

Después de configurar la plantilla de formulario para permitir el envío de formularios en un mensaje de correo electrónico, puede agregar un botón Enviar a la barra de herramientas de Standard y un comando Enviar al menú Archivo a la plantilla de formulario y personalizar otras opciones de envío, como el texto que aparece en enviar los mensajes que se muestran al usuario para indicar si el formulario se ha enviado correctamente y si desea mantener el formulario abierto después del envío.

Principio de página

Enviar datos de formulario a una aplicación en un servidor web

Si tiene una página de páginas Active Server (ASP) existente u otro código en un servidor web que pueda procesar datos XML, puede diseñar la plantilla de formulario para que los usuarios puedan enviar formularios completados a ese servidor web mediante el método HTTP POST. Al configurar la plantilla de formulario para permitir a los usuarios enviar sus formularios de esta forma, InfoPath crea un mensaje que incluye los datos del formulario y, a continuación, envía este mensaje al servidor web. Al diseñar una plantilla de formulario para enviar datos a un servidor web, puede agregar un botón Enviar a la plantilla de formulario, especificar el texto que aparece en el botón Enviar , personalizar los mensajes que se muestran a los usuarios para indicar si el formulario se ha enviado correctamente y especificar si desea mantener el formulario abierto después del envío.

Principio de página

Enviar datos de formulario mediante un archivo de conexión de datos

En Microsoft Office InfoPath 2007 también puede crear un archivo XML denominado archivo de conexión de datos que incluya todas las opciones necesarias para una conexión de datos. Puede almacenar ese archivo en una biblioteca de conexiones de datos en un sitio de Microsoft Office SharePoint Server 2007 y diseñar después varias plantillas de formulario que usen el mismo archivo XML para configurar una conexión de datos. El uso de un archivo de conexión de datos significa que, si cambia algo con la conexión de datos (por ejemplo, si cambia la ubicación del origen de datos externo), puede actualizar el archivo de conexión de datos una vez, en lugar de actualizar la conexión de datos en cada plantilla de formulario individual. Todas las plantillas de formulario que usan el archivo de conexión de datos se actualizarán automáticamente con la nueva configuración.

Un archivo de conexión de datos puede contener opciones de configuración que determinan cómo los usuarios pueden enviar los datos del formulario. Puede diseñar una plantilla de formulario para usar la configuración de este archivo de conexión de datos. Después de configurar la plantilla de formulario para permitir el envío de formularios, puede agregar un comando Enviar al menú Archivo y un botón Enviar a la barra de herramientas de Standard del formulario que se basa en la plantilla de formulario y, a continuación, personalizar otras opciones de envío, como el texto que aparece en enviar botón y comando, los mensajes mostrados al usuario para indicar si el formulario se ha enviado correctamente y si desea mantener el formulario abierto después del envío.

Principio de página

Enviar datos del formulario mediante código

Para crear funciones avanzadas en la plantilla de formulario para enviar datos de formulario, puede escribir código administrado mediante Microsoft Visual Basic .NET, Microsoft Visual C# .NET o un script. Por ejemplo, puede agregar funcionalidad a la plantilla de formulario que permite el envío de formularios a más de una ubicación a la vez o a un origen de datos externo que normalmente no es compatible con InfoPath.

Recomendación

Si no puede configurar la plantilla de formulario para permitir a los usuarios enviar sus formularios a un origen de datos externo mediante las opciones de conexión de datos de InfoPath, puede usar esta característica para escribir su propia implementación de una conexión de datos a ese origen de datos externo.

Principio de página