English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Eventi SQL

Before Commit

evento copia link

Condizioni di notifica

Questo evento viene notificato dal pannello all'inizio della fase di salvataggio dei dati. Questo può avvenire se:

  • L'utente preme il tasto Salva nella toolbar del pannello.
  • Il programma esegue il comando UpdateData del pannello.
  • Il pannello si trova in stato Auto Save, sono stati modificati i dati nel pannello e la validazione ha avuto esito positivo.

Utilizzo consigliato

L'evento di BeforeCommit può essere utilizzato per verificare se effettivamente i dati possono essere salvati e in caso negativo abortire il salvataggio impostando il parametro Cancel a True.

Può anche essere utilizzato in pannelli su database per gestire in un'unica transazione le modifiche che avvengono nel pannello.

Argomenti

Cancel Se impostato a True, cancella il salvataggio dei dati.

Esempio di codice

// ***************************************************
// Fired before changes in panel are saved to database
// ***************************************************

event DettagliOrdini.DettagliOrdini.BeforeCommit(
  inout boolean Cancel // When set to TRUE, abort deletion
)
{
  // Se la quantità dell'ordine è troppo elevata, non salvo
  if DettagliOrdini.Quantita.Sum() > C1000
  {
    Cancel := True
    DettagliOrdini.SetInfoMessage(ERROR, MSG Quantità Troppo Elevata, ??)
  }
}
  • Questo evento non si riferisce ad una particolare riga del pannello, ma al salvataggio dell'intero pannello nel suo complesso. Non è quindi di solito utile fare riferimento ai dati della tabella IMDB sottesa.
  • Nei pannelli basati su documenti è consigliabile controllare il salvataggio attraverso gli eventi di salvataggio del documento stesso invece che con gli eventi del pannello.
  • In caso di cancellazione di una riga scattano solo gli eventi BeforeDelete e AfterDelete.

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • After Commit (evento)
  • Before Delete (evento)
  • After Delete (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum