calculate, suceso

Descripción

Se inicia en las situaciones siguientes:

  • Cuando se combinan el diseño y los datos en el formulario terminado.

  • Cuando se produce un cambio en cualquier valor del que dependa el cálculo, como el valor de un campo concreto, a menos que el usuario que rellena el formulario anule manualmente el valor calculado. Como resultado, el objeto mostrará el valor devuelto del suceso. Las propiedades de los campos anulados manualmente se encuentran en la ficha Valor de la paleta Objeto.

  • Cuando un campo deja de estar activo, por ejemplo, cuando el usuario hace clic o pulsa el tabulador para salir del campo.

    Al utilizar el suceso calculate para llevar a cabo cálculos o ejecutar secuencias de comandos, se deben tener en cuenta los siguientes problemas posibles:

  • Los cálculos y las secuencias de comandos del suceso calculate no deben realizar ningún cambio en la estructura del formulario, excepto en los valores de los campos y los datos del formulario.

  • El contenido que se inserta mediante el suceso calculate se debe ajustar a las validaciones asociadas que correspondan al objeto; de lo contrario, se generarán errores de validación.

  • Ni los cálculos ni las secuencias de comandos pueden incluir bucles infinitos; de lo contrario, el formulario actualizará el valor continuamente. Por ejemplo, una secuencia de comandos que incremente el valor de un campo como parte de una expresión de bucle, como un bucle while o for, podría crear un bucle infinito.

  • La última expresión evaluada en el suceso calculate se utiliza para llenar el valor del objeto de formulario actual. Por ejemplo, si la secuencia de comandos en el suceso calculate primero define el valor del campo actual como 500 y luego define el valor de otro campo como 1000, ambos campos mostrarán el valor 1000 en tiempo de ejecución. Como resultado, es necesario limitar las secuencias de comandos que se agreguen al suceso calculate a aquéllas que se encarguen específicamente de definir el valor del campo actual.

Tipo

Suceso de proceso

Compatibilidad

Aplicación cliente

Disponibilidad

Acrobat y Adobe Reader

yes

Explorador HTML

yes

Versión

XFA 2,1

Ejemplo

El suceso calculate se puede utilizar para actualizar valores numéricos de los campos, ya que este suceso se inicia inmediatamente después de la mayoría de los otros sucesos. Por ejemplo, en un formulario de orden de compra, se puede utilizar el suceso calculate en un campo para determinar el porcentaje de impuesto de compra que se debe aplicar según el coste de la orden. El cálculo se inicia cada vez que se realiza un cambio en los valores de los campos del formulario, lo que garantiza que el valor que se muestra para el impuesto sea siempre correcto.

Sin embargo, dado que el suceso calculate se puede iniciar muchas veces, se debe asegurar que el cálculo o la secuencia de comandos que se agreguen no hagan que los datos aumenten de modo innecesario. Por ejemplo, si en el cálculo del impuesto se agrega el valor del impuesto al coste total cada vez que se inicia el suceso calculate, el valor del coste total resultante se puede incrementar erróneamente.

Para ver un ejemplo detallado del uso del suceso calculate, consulte Cálculo de sumas de campos.