Evento calculate

Descrizione

Attivato nelle seguenti situazioni:

  • Quando la struttura del modulo e i dati sono uniti nel modulo finito.

  • Quando viene apportata una modifica a qualsiasi valore da cui dipende il calcolo, ad esempio il valore di un particolare campo, a meno che il compilatore non abbia modificato manualmente il valore calcolato. Come risultato, l'oggetto visualizza il valore restituito dall'evento. Le proprietà dei campi modificati manualmente sono memorizzate nella scheda Valore della palette Oggetto.

  • Quando un campo diventa inattivo, ad esempio quando un compilatore fa clic o utilizza il tasto Tab per uscire da un campo.

    Quando si utilizza l'evento calculate per eseguire calcoli o script, è consigliabile tenere presenti i seguenti problemi che potrebbero verificarsi:

  • I calcoli e gli script sull'evento calculate non devono apportare alcuna modifica alla struttura del modulo, ad eccezione del campo del modulo e dei valori dei dati.

  • Il contenuto inserito dall'evento calculate deve essere conforme alle convalide associate dell'oggetto. In caso contrario, verrà generato un errore di convalida.

  • I calcoli e gli script non devono includere un ciclo infinito in quanto indurrebbe il modulo ad aggiornare continuamente il valore. Ad esempio, uno script che incrementa il valore di un campo come parte di un'espressione di ripetizione, quale un ciclo while o for, potrebbe dare origine a un ciclo infinito.

  • L'ultima espressione valutata nell'evento calculate è usata per compilare il valore dell'oggetto modulo corrente. Ad esempio, se lo script sull'evento calculate imposta prima il valore del campo corrente a 500 e poi imposta il valore di un altro campo a 1000, entrambi i campi visualizzeranno il valore 1000 in fase di esecuzione. Quindi, sarà necessario limitare lo script che si aggiunge all'evento calculate a quelli che riguardano specificatamente l'impostazione del valore del campo corrente.

Tipo

Evento di elaborazione

Supporto

Applicazione client

Disponibilità

Acrobat e Adobe Reader

Browser HTML

Versione

XFA 2.1

Esempio

Usare l'evento calculate per aggiornare i valori numerici nei campi in quanto questo evento si attiva subito dopo la maggior parte di altri eventi. Ad esempio, sul modulo di un ordine di acquisto, è possibile utilizzare l'evento calculate per un campo per determinare la percentuale di imposta di vendita da pagare in base al costo dell'ordine. Il calcolo sarà attivato ogni volta che vengono apportate modifiche ai valori dei campi del modulo, assicurando così che il valore visualizzato per l'imposta di vendita sia sempre corretto.

Tuttavia, poiché l'evento calculate può essere attivato più volte, è necessario garantire che il calcolo o lo script aggiunto all'evento non induca un incremento non giustificato dei valori dei dati. Ad esempio, se il calcolo dell'imposta di vendita induce l'aggiunta del valore dell'imposta di vendita al costo totale ogni volta che viene attivato l'evento calculate, il valore del costo totale risultante sul modulo potrebbe essere eccessivamente grande.

Per un esempio dettagliato sull'utilizzo dell'evento calculate, vedere Calcolo delle somme dei campi.