Compartir a través de


Procedimiento para usar parámetros de consulta para invocar formularios de InfoPath habilitados para el explorador

Última modificación: martes, 06 de julio de 2010

Hace referencia a: SharePoint Server 2010

Existen cuatro métodos para invocar un formulario de InfoPath o una versión del formulario basada en explorador en un servidor que ejecuta InfoPath Forms Services. Estos métodos consisten en direcciones URL que hacen referencia a un archivo de plantilla de formulario (.xsn), direcciones URL que hacen referencia a un archivo de formulario (.xml) basado en una plantilla de formulario, direcciones URL que hacen referencia a la página web integrada FormServer.aspx y direcciones URL que contienen una referencia a una página personalizada que contiene el control XmlFormView. Los primeros tres tipos de dirección URL admiten el uso de parámetros de consulta para controlar aspectos del formulario resultante, como si se abrirá en InfoPath Filler o se representará en el explorador, la ubicación donde se guardará el formulario y la página web a la que se dirigirá al usuario cuando cierre el formulario.

Nota importanteImportante

De forma predeterminada, los formularios de InfoPath se abrirán en InfoPath Filler incluso aunque esté disponible un formulario habilitado para el explorador. Si InfoPath Filler no está instalado, el formulario se abrirá en el explorador. Además de usar parámetros de consulta para controlar cómo se abren los formularios, la configuración de la biblioteca de formularios de SharePoint se usa para controlar dónde se abren los formularios. Para forzar siempre que el formulario se abra en el explorador, abra la biblioteca de formularios, haga clic en la ficha Biblioteca en Herramientas de bibliotecas, haga clic en Configuración de biblioteca en la cinta de opciones y, a continuación, haga clic en el vínculo Configuración avanzada en Configuración general. En Abrir documentos en el explorador, haga clic en Abrir en el explorador.

Hay nueve parámetros distintos que pueden usarse para abrir formularios de InfoPath. Algunos de ellos invalidan a otros o no se pueden usar juntos, como se indica en la siguiente tabla. Los pares nombre/valor distintos de los que se muestran en la tabla siguiente se interpretan como parámetros de entrada y se pasan al formulario. Los parámetros de entrada constan de uno o más pares nombre/valor separados por un carácter de "y" comercial (&) que se especifican al abrir una plantilla de formulario en InfoPath Filler desde la línea de comandos o un archivo por lotes con la opción de línea de comandos /InputParameters, o bien al abrir una plantilla de formulario desde una dirección URL. Para obtener más información acerca del uso de parámetros de entrada, vea la propiedad InputParameters de la clase LoadingEventArgs.

Nombre del parámetro

Descripción

Valores permitidos

XmlLocation

Se usa para abrir un formulario existente. Las propiedades XmlLocation y XsnLocation se excluyen mutuamente; si se especifican valores para ambos parámetros, se producirá un error.

Una dirección URL válida a un archivo de formulario (.xml) en la misma colección de sitios.

XsnLocation

Se usa para abrir un nuevo formulario basado en una plantilla de formulario. Si se especifica XsnLocation en una dirección URL mediante FormServer.aspx, también se debe especificar SaveLocation si los botones Guardar y Guardar como deben aparecer. También debe especificarse el parámetro Source; de lo contrario, aparecerá el mensaje "Se ha cerrado el formulario" cuando el usuario cierre el formulario. Las propiedades XmlLocation y XsnLocation se excluyen mutuamente; si se especifican valores para ambos parámetros, se producirá un error.

Una dirección URL válida a un archivo de plantilla de formulario (.xsn) publicado en la misma colección de sitios.

OpenIn

  • Si se especifica un parámetro de consulta Source, el valor predeterminado es Browser.

  • Si se especifica XmlLocation, el valor predeterminado es la configuración usada en la biblioteca.

  • Si sólo se especifica XsnLocation, el valor predeterminado es PreferClient.

  • Si se especifica Mobile, el formulario se redirigirá a la página MobileFormServer.aspx para su representación. La plantilla de formulario debe estar habilitada para la compatibilidad con dispositivos móviles; de lo contrario, se devolverá un mensaje de error.

  • Explorador

  • Client

  • PreferClient

  • Mobile

Source

La ubicación a la que se redirigirá al usuario cuando se cierre el formulario. La dirección URL debe estar en la misma colección de sitios; de lo contrario, se devolverá un error.

Una dirección URL válida en la misma colección de sitios que el formulario.

Options

DisableSave es el único valor permitido. Oculta los botones Guardar y Guardar como y deshabilita la función para guardar el formulario cuando se representa en el explorador.

DisableSave

SaveLocation

Se muestra un cuadro de diálogo Guardar como en el que se pide al usuario un nombre de archivo y, a continuación, lo guarda en la carpeta especificada. Se devuelve un error si la carpeta especificada no existe.

Cualquier ubicación de carpeta válida en la colección de sitios.

NoRedirect

No redirige a FormServer.aspx para la detección del cliente o la representación en el explorador. El valor predeterminado es false. Si se especifica true y XmlLocation o XsnLocation, se muestra un cuadro de diálogo Descarga de archivos cuando se use Internet Explorer.

  • true

  • false (predeterminado)

DefaultItemOpen

El parámetro OpenIn se debe usar en su lugar e invalida al valor del parámetro DefaultItemOpen. Un valor de 0 indica que la solicitud procede de una biblioteca de documentos y no se detectó el cliente de InfoPath Filler, mientras que un valor de 1 indica que la solicitud procede una biblioteca de documentos o formularios que tiene la configuración Mostrar como página web.

  • 0

  • 1

Nota

Los parámetros de consulta y sus valores asociados no distinguen entre mayúsculas y minúsculas, pero las propiedades correspondientes del control XmlFormView, como las propiedades Options y SaveLocation, distinguen entre mayúsculas y minúsculas.

Procedimientos

Los procedimientos siguientes requieren una colección de sitios en los que pueda publicar plantillas de formulario y la capacidad de crear nuevos sitios en la colección de sitios.

En las siguientes direcciones URL de ejemplo se usan valores de marcadores de posición. Estos valores representan los siguientes elementos de SharePoint e InfoPath:

  • ServerName: un servidor que ejecuta InfoPath Forms Services.

  • SiteCollection: sitio de nivel superior de una colección de sitios.

  • FormLibrary: una biblioteca de formularios o documentos que contiene una plantilla de formulario habilitada para el explorador.

  • form1.xml: formulario basado en el archivo template.xsn de FormLibrary.

  • NewFolder: carpeta de la FormLibrary.

  • NewSite: sitio de la SiteCollection.

El valor ~sitecollection usado en las siguientes direcciones URL no es un valor de marcador de posición, sino un token especial que se usa con InfoPath Forms Services que habilita vínculos relativos y direcciones URL con ámbito de colección de sitios.

Para usar una dirección URL con el parámetro XmlLocation

  1. Crear una plantilla de formulario y cargarla en una nueva biblioteca de formularios.

  2. Cree un formulario basado en dicha plantilla de formulario y guárdelo como "Form1" en la biblioteca.

  3. Escriba la siguiente dirección URL e inserte los valores reales para los valores de marcador:

    https://ServerName/sites/SiteCollection/_layouts/FormServer.aspx?XmlLocation=~sitecollection/FormLibrary/Form1.xml

    Nota

    Tenga en cuenta que "form1" se representa en el explorador.

Para usar una dirección URL con los parámetros XsnLocation, SaveLocation y Source

  1. Crear una plantilla de formulario y cargarla en una nueva biblioteca de formularios.

  2. Escriba la siguiente dirección URL e inserte los valores reales para los valores de marcador:

    https://ServerName/sites/SiteCollection/_layouts/FormServer.aspx?XsnLocation=~sitecollection/FormLibrary/Forms/template.xsn&SaveLocation=~sitecollection/FormLibrary&Source=~sitecollection/FormLibrary

    Nota

    Un nuevo formulario basado en la plantilla de formulario se representa en el explorador.

  3. Guarde el nuevo formulario.

    Nota

    El formulario se guarda en la biblioteca de formularios especificada por el parámetro SaveLocation.

  4. Cierre el formulario y volverá a la biblioteca de formularios especificada por el parámetro Source. En este caso, la biblioteca de formularios es también donde se guarda el formulario, porque los parámetros SaveLocation y Source señalan a la misma ubicación.

Para usar una dirección URL con los parámetros SaveLocation y Source

  1. Crear una plantilla de formulario y cargarla en una nueva biblioteca de formularios.

  2. Cree un formulario basado en dicha plantilla de formulario y guárdelo como "Form1" en la biblioteca.

  3. Cree una nueva carpeta en la biblioteca de formularios, con el nombre de la carpeta nueva en lugar de NewFolder, en la dirección URL siguiente.

  4. Cree un nuevo sitio en la colección de sitios de nivel superior existente, con el nombre del sitio nuevo en lugar de NewSite, en la dirección URL siguiente.

  5. Escriba la siguiente dirección URL e inserte los valores reales para los valores de marcador:

    https://ServerName/sites/SiteCollection/_layouts/FormServer.aspx?XmlLocation=~sitecollection/FormLibrary/Form1.xml&SaveLocation=~sitecollection/FormLibrary/NewFolder/&Source=~sitecollection/NewSite

  6. Guarde el formulario existente y escriba un nuevo nombre en el cuadro de diálogo Guardar como. El formulario se guardará en la nueva carpeta.

  7. Cierre el formulario y se le redirigirá al nuevo sitio.

Para usar una dirección URL con el parámetro OpenIn=Browser

  1. Crear una plantilla de formulario y cargarla en una nueva biblioteca de formularios.

  2. Cree un formulario basado en dicha plantilla de formulario y guárdelo como "Form1" en la biblioteca.

  3. Escriba la siguiente dirección URL e inserte los valores reales para los valores de marcador:

    https://ServerName/sites/SiteCollection/FormLibrary/Form1.xml?OpenIn=Browser

    o

    https://ServerName/sites/SiteCollection/_layouts/FormServer.aspx?XmlLocation=~sitecollection/FormLibrary/Form1.xml&OpenIn=Browser

    Nota

    Aunque tenga instalado Microsoft InfoPath 2010, la dirección URL fuerza la representación del formulario en el explorador.

Para usar una dirección URL con el parámetro NoRedirect

  1. Crear una plantilla de formulario y cargarla en una nueva biblioteca de formularios.

  2. Cree un formulario basado en dicha plantilla de formulario y guárdelo como "Form1" en la biblioteca.

  3. Escriba la siguiente dirección URL e inserte los valores reales para los valores de marcador:

    https://ServerName/sites/SiteCollection/FormLibrary/Form1.xml?NoRedirect=true

    y

    https://ServerName/sites/SiteCollection/FormLibrary/Forms/template.xsn?NoRedirect=true

    Nota

    El archivo de formulario (.xml) y la plantilla de formulario (.xsn) no se redirigirán a FormServer.aspx. En su lugar, se mostrará el cuadro de diálogo Descarga de archivos (si usa Internet Explorer) para que pueda descargar el archivo desde el sitio de SharePoint.

A veces es necesario devolver una secuencia de contenido del código XML que representa el formulario. Esto es posible con los métodos siguientes.

Para utilizar una secuencia de contenido

  • Use una dirección URL con el parámetro NoRedirect.

  • Inserte un encabezado "Translate:f" en la solicitud HTTP GET, como en el ejemplo siguiente:

    myRequest.Headers.Add("Translate:f");
    myRequest.Headers["Translate"] = "F";
    
  • Use el agente de usuario de InfoPath apropiado en la solicitud HTTP GET, InfoPath.1 o InfoPath.2.