Opciones de procesamiento para un botón

En la ficha Ejecutar de la paleta Objeto, se permite seleccionar una conexión de datos para el botón y especificar si el procesamiento asociado debe realizarse en el equipo cliente, en el servidor o en ambos. La conexión de datos debe facilitar el acceso a una interfaz de servicios Web o a un servidor de bases de datos OLEDB que pueda enviar los datos al formulario en tiempo de ejecución o realizar otro tipo de acción.

Una vez especificado el origen de datos (consulte Uso de orígenes de datos), puede especificar la operación o consulta que se desea realizar. Si se hace clic una vez sobre el botón en el tiempo de ejecución, el procesamiento se completa tal y como se define mediante la operación o consulta.

Los datos que se reciban pueden combinarse con el formulario de modo que solo se sobrescriban los datos asociados al objeto existente sin actualizar la estructura del formulario. Otra opción consiste en actualizar la estructura del formulario basándose en los datos XML obtenidos. En ese caso, se actualiza la estructura del formulario y los datos obtenidos se combinan tras completarse el procesamiento.

Para definir las opciones de procesamiento de un botón, primero hay que seleccionarlo. Las opciones de procesamiento se definen en la ficha Ejecutar de la paleta Objeto. Para ver la ficha Ejecutar, la opción Ejecutar debe haberse seleccionado en el área Tipo de control de la ficha Campo.

Ejecución de una operación de servicio Web o una consulta de base de datos con un botón

Con el tipo de botón Ejecutar, se puede ejecutar una solicitud de proceso a un servicio Web. Un servicio Web procesa operaciones que se envían para definir entradas y salidas de información en el formulario.

Se puede agregar una conexión al servicio Web y después crear o enlazar campos a los servicios de solicitud y respuesta. El campo enlazado puede generar datos de entrada para el servicio o recibir datos del servicio. Se pueden utilizar varios campos para crear el mensaje de solicitud y el mensaje de respuesta puede rellenar varios campos. Para procesar la operación se puede utilizar el botón Ejecutar o escribir una secuencia de comandos. Por ejemplo, se puede usar un servicio Web para consultar un tipo de interés, un tipo de cambio de moneda o una acción.

  1. Agregue un botón al diseño de formulario. Consulte Adición de objetos a un diseño de formulario..

  2. En la paleta Objeto, haga clic en la ficha Campo.

  3. En el área Tipo de control, seleccione Ejecutar. Se realizará una operación de servicio Web o una consulta a una base de datos en función de la configuración de la ficha Ejecutar.

  4. Haga clic en la ficha Ejecutar y seleccione Nueva conexión de datos en la lista Conexión.

  5. Seleccione la opción Archivo WSDL y haga clic en Siguiente.

  6. En el cuadro Archivo WSDL, introduzca la dirección URL al documento WSDL o haga clic en Examinar  para localizar y seleccionar el documento en el disco duro del equipo. Si el documento WSDL está almacenado en un servidor seguro, se muestra el cuadro de diálogo Se requiere autenticación o Seleccionar ID digital.

  7. Realice alguna de las siguientes acciones:

    • En el cuadro de diálogo Autenticación, escriba el nombre de usuario y la contraseña correctos y haga clic en Aceptar.

    • En el cuadro de diálogo Seleccionar ID digital, seleccione el ID digital correcto que se va a utilizar como un certificado de cliente y haga clic en Aceptar.

  8. Seleccione la operación que desea llamar y haga clic en Siguiente.

    La ventana derecha muestra los detalles de la operación seleccionada. Si la operación seleccionada no está codificada en SOAP, o no es doc-literal, aparecerá en la pantalla un mensaje de advertencia y no podrá continuar.

  9. (Opcional) Para configurar la autenticación de cliente, realice una de las acciones siguientes:

    • Para definir autenticación HTTP o HTTPS, seleccione Requiere autenticación HTTP/HTTPS y después, seleccione de manera opcional los credenciales que se van a aceptar para la verificación.

    • Para definir la autenticación de mensaje SOAP, seleccione Requiere autenticación de nivel de mensaje y, a continuación, seleccione opcionalmente Acepta nombre de usuario y contraseña.

  10. Haga clic en Finalizar.

  11. En la lista Ejecutar en, especifique dónde tendrá lugar el procesamiento:

    • Para procesar la solicitud en el equipo cliente, seleccione Cliente.

    • Para procesar la solicitud en el servidor, seleccione Servidor.

    • Para procesar la solicitud en el equipo cliente y en el servidor, seleccione Cliente y servidor.

  12. Para actualizar la estructura del formulario y combinar los datos devueltos una vez finalizado el procesamiento, seleccione la opción Volver a combinar datos del formulario. Debe utilizar la opción Volver a combinar datos del formulario si los datos de respuesta van a rellenar datos dinámicos (como un subformulario repetitivo) que están enlazados a datos WSDL y que pueden aparecer un número variable de veces en la respuesta. Los datos dinámicos requieren una combinación completa para generar el número correcto de subformularios repetitivos. Si los datos de respuesta WDSL están enlazados a un número fijo de campos, los campos existentes se rellenarán con los datos de respuesta y, no será necesario volver a combinar los datos del formulario.

Asociación de una secuencia de comandos de base de datos a un botón

También se pueden utilizar secuencias de comandos para llevar a cabo manipulaciones de datos más complejas en un sistema de empresa. En este ejemplo, se puede ver cómo agregar alguna secuencia de comandos sencilla a campos de botones para realizar operaciones básicas de base de datos desplazándose al primer, anterior, siguiente y último registro, agregando nuevos registros, actualizando los registros existentes y eliminándolos.

Nota: este ejemplo presenta una base de datos y una configuración particular que no se incluyen en los ejemplos de Designer. El ejemplo pretende ser una referencia para crear sus propias secuencias de comandos para realizar consultas en bases de datos.

Diseño de formulario con campos de botón para mover al primer, anterior, siguiente y último registro, agregar nuevos registros, actualizar los registros existentes y eliminar registros.

  1. En la paleta Biblioteca de objetos, haga clic en la categoría Estándar y arrastre ocho objetos de botón al diseño de formulario. Al agregar el objeto de botón, el tipo de control predeterminado es Normal. Acepte la configuración predeterminada.

  2. Asigne los siguientes nombres a los botones: Primero, Anterior, Siguiente, Último, AgregarNuevo, Actualizar, Eliminar y Cancelar.

  3. Seleccione el primer botón, en este caso, el que se denomina Primero.

  4. En el Editor de secuencias de comandos, seleccione click en la lista Mostrar, seleccione JavaScript en la lista Lenguaje y seleccione Cliente en la lista Ejecutar en.

  5. En el Editor de secuencias de comandos, agregue la siguiente secuencia de comandos de JavaScript:

    xfa.sourceSet.DataConnection.first();
  6. Repita el paso 5 para cada uno de los botones restantes, utilizando las siguientes secuencias de comandos:

    • Anterior: xfa.sourceSet.DataConnection.previous();

    • Siguiente: xfa.sourceSet.DataConnection.next();

    • Último: xfa.sourceSet.DataConnection.last();

    • AgregarNuevo: xfa.sourceSet.DataConnection.addNew();

    • Actualizar: xfa.sourceSet.DataConnection.update();

    • Eliminar: xfa.sourceSet.DataConnection.delete();

    • Cancelar: xfa.sourceSet.DataConnection.cancel();

  7. Guarde el diseño de formulario.

  8. Pruebe el formulario mediante la ficha Vista previa de PDF. Si este tipo de formulario se rellenara en Adobe Reader, tendría que definir los derechos de uso para el formulario con Reader Extensions Adobe Reader para que tenga acceso a la base de datos.

  9. Haga clic en los diferentes botones para mostrar los datos asociados a cada registro. El ejemplo muestra que el botón Último hace que el número de artículo, la descripción y el precio por unidad para el último registro aparezca en los campos aplicables.

Utilización de un botón para rellenar campos de una base de datos

Se puede utilizar una base de datos para proporcionar datos a los campos del formulario, incluyendo campos de texto y numéricos.

En este ejemplo, el botón Recuperar registro y el cuadro de lista están enlazados a la base de datos (denominada DataConnection) que se muestra en la paleta Vista de datos de la izquierda. El botón también tiene una secuencia de comandos de FormCalc adjunta para recuperar información basándose en el número de artículo seleccionado en el campo Cuadro de lista. Los registros recuperados se muestran en los campos ID, PART_NO, UNITPRICE y DESCRIPTION.

  1. Conéctese a la base de datos.

  2. En la paleta Vista de datos, arrastre los elementos UNIT_PRICE, DESCRIPTION, PART_NO e ID de DataConnection hasta el diseño de formulario. Cada nodo arrastrado al diseño de formulario crea un campo enlazado.

  3. En la paleta Objeto, haga clic en la ficha Estándar y arrastre un objeto de botón al diseño de formulario.

  4. Escriba un nuevo nombre para el botón. El ejemplo utiliza RETRIEVE RECORD.

  5. Seleccione el botón y, en el Editor de secuencias de comandos, seleccione click en la lista Mostrar, seleccione FormCalc en la lista Lenguaje y seleccione Cliente en la lista Ejecutar en.

  6. Escriba una secuencia de comandos de FormCalc similar al siguiente ejemplo. La secuencia de comandos recupera los datos de los registros especificados y los imprime en los campos correspondientes cuando el usuario hace clic en el botón.

    //Change the commandType from TABLE to TEXT. TEXT 
    //is the equivalent of SQL Property 
    $sourceSet.DataConnection.#command.query.commandType = "text" 
     
    //Set the Select Node. Select in this case will be  
    //whatever SQL Property you want 
    $sourceSet.DataConnection.#command.query.select.nodes.item(0).value = Concat("Select*from OfficeSupplies Where ID = ", DataListBox1.rawValue,"") 
     
    //Reopen the Data connection 
    $sourceSet.DataConnection.open()
  7. Guarde el diseño de formulario como archivo PDF.

  8. Pruebe el formulario utilizando la ficha Vista previa de PDF para verificar que la secuencia de comandos funciona del modo esperado.