Creación de un formulario con nuestro diseñador de InfoPath
En este capitulo vamos a crear un formulario con InfoPath. Para agilizar el curso y no tener que crear todos los controles lo que voy a hacer es coger una plantilla ya implementada de las que me proporciona la herramienta. Vosotros podeis crearos una o utilizar una ya hecha, conforme os venga mejor. La finalidad de este post es que veais un poco por encima el entorno de desarrollo.
Lo primero que nos aparece cuando arrancamos el InfoPath es el asistente que nos solicita si queremos crear un formulario nuevo o a partir de una plantilla.
Una vez seleccionada la plantilla nos sale algo así:
En la derecha de la pantalla vemos las diferentes secciones con las que podemos trabajar:
Layout: nos permitirá definir la estructura de nuestro informe:
Controls: Nos permitirá añadir controles a nuestro formulario. Como podreis apreciar no son controles extremadamente avanzados pero son suficientes para la implementación de estos formularios.
Data Source: Nos permitirá configurarnos origenes de datos para cargar información en el formulario. Los veremos más adelante. Las conexiones a origenes de datos que nos podremos crear son conexiones para RECIBIR datos o para ENVIAR datos (tambien conocidas estas ultimas como SUBMIT CONNECTIONS). Las conexiones para recibir datos nos van a permitir consultar un origen de datos, obtener la informacion que queramos, y cargar esos datos en un control, como podria ser un Combo. Podemos recibir informacion de un XML, de una lista de sharepoint, de un Web Service o de una base de datos SQL. Si la base de datos fuera Oracle deberiamos cargarnos nuestros datos a partir de un servicio web que accediera a la Base de Datos.
Views: Diferentes vistas para nuestro formulario
Design Checker: Nos ayudará a validar si nuestro formulario será 100% compatible cuendo lo hayamos integrado en SharePoint.
Publish From Template: Asistente de publicación. Será el ultimo paso una vez tengamos nuestro informe creado.
Como ejemplo de origenes de datos vamos a cargarnos los datos de una lista en un combo de nuestro formulario. Me he creado una lista donde tengo insertados diferentes años:
Lo que vamos a hacer es crearnos un combo en el formulario y añadirle estos años para que el usuario pueda seleccionarlos. Insertaremos el control en el formulario. Para ello nos vamos a la seccion "Controls" de InfoPath hemos insertado el control y se llama 'fechas'. Ahora tenemos que crearnos el origen de datos. Pinchamos en la Seccion "Data sources" (Tools --> Data connections) y nos creamos una conexion nueva. La conexion que hay por defecto es la de submit para guardar el formulario y viene creada por defecto en la plantilla que estoy utilizando. Si el formulario se empieza desde cero esta conexion tendremos que crearnosla.
Pulsamos en "Añadir". Le indicaremos que queremos una conexion para recibir datos, ya que queremos cargar informacion en nuestro combo:
Le indicamos cual va a ser nuestro origen de datos. En este caso será una lista de Sharepoint:
Ahora tenemos que localizar nuestra lista. Para ello le indicamos en qué Site se encuentra. Le pongo la URL de mi Site:Si la ruta es correcta me mostrará un listado con todas las listas, librerias, etc, que posee mi site y que pueden servirme de origen de datos. Como podreis apreciar sale mi lista de fechas pero tambien mi libreria de formularios:
Seleccionamos la lista de fechas y automaticamente me pide que le indique que columna/s van a ser mi origen de datos. Para este ejemplo los años los tenia en la columna 'Title' y como a priori no voy a necesitar mas columnas seleccionaré solo esa:
En esta ultima sección nos aparece un Checkbox crucial. Se trata de una opción con la que determinaré si los datos los voy a coger del origen de datos cada vez que cargue el formulario o por el contrario los voy a cargar la primera vez y luegolos almacenaré en mi plantilla. Es fundamental saber qué tipo de datos vamos a almacenar porque si estos datos no vana variar en el tiempo conviene guardarlos en la plantilla ya que nuestro formulario se nos cargará más rápido. Si los cambios tienden a variar en el tiempo lo que debemos hacer es no marcar esta opción, de esta forma, cada vez que el formulario se cargue cogerá los datos del origen correspondiente, con lo que siempre estarán actualizados. Para este ejemplo, por ser años y saber que no vana a cambiar lo que haré será guardarlos en la plantilla. Dejaré marcada la opción:
Pulsamos siguiente y ya tenemos nuestro origen de datos creado:
Ahora solo tenemos que asociarselo a nuestro combo. Seleccionamos el combo, boton derecho --> Propiedades del combo. En las propiedades nos saldrá una pantalla como esta:
En la seccion de "List box entries" podemos insertar los valores del combo manualmente, coger datos de otros controles de nuestro formulario o indicarle qué origen de datos queremos. Para el ejemplo seleccionaremos la tercera opción:
Como origen de datos nos marcará nuestro origen recien creado, ya que es el unico que tenemos. Lo marcamos y ahora tenemos que decir cual de los campos que contiene ese origen de datos que el que nos interesa:
Una vez seleccionado aplicamos los cambios y previsualizamos nuestro formulario. Podremos ver que él combo carga los datos correctamente:
Una vez creado el formulario (habrá una sección específica de como utilizar los diferentes controles) y teniendo ya creada nuestra libreria de formularios unicamente nos flatará publicar. (ver capitulo 3)