Condizioni di notifica
Questo evento viene notificato al documento dopo aver terminato le modifiche ai dati ed è giunto il momento di valutarle. Questo può avvenire se:
- Una procedura Visual Code chiama l'evento il metodo EndTransaction sul documento.
- L'utente cambia i dati in un pannello DO.
Utilizzo consigliato
Questo evento deve essere usato per considerare le modifiche fatte al documento e rispondere in modo adeguato, ad esempio impostando dei valori di default, effettuando calcoli, aggiornando altri documenti correlati. Non deve invece essere usato per validare le modifiche o segnalare errori. Per questo deve essere usato l'evento OnValidate.
Argomenti
L'evento non ha argomenti. E' possibile conoscere quali proprietà sono state modificate dalla transazione utilizzando la funzione WasModified, è possibile anche conoscere il valore iniziale di tali proprietà tramite la funzione GetOriginalValue.Esempio di codice
// **********************************
// Fired when a transaction is ending
// **********************************
event RigaOrdine.OnEndTransaction()
{
// Se ho modificato la quantità lo scrivo nel debug
if WasModified(Quantita)
{
EsempiDO.DTTLogMessage(FormatMessage(MSG Originale Valore, GetOriginalValue(
ToPropertyIndex(Quantita)), LastQuantità, Quantita, ??, ??), ??, ??)
}
//
// Aggiorno il totale ordine
if NOT(Parent IS Null Object) AND (WasModified(Quantita) OR WasModified(PrezzoUnitario))
{
Ordine o = null // What data will you store here?
//
o := Parent
o.AggiornaTotale()
}
}
// Fired when a transaction is ending
// **********************************
event RigaOrdine.OnEndTransaction()
{
// Se ho modificato la quantità lo scrivo nel debug
if WasModified(Quantita)
{
EsempiDO.DTTLogMessage(FormatMessage(MSG Originale Valore, GetOriginalValue(
ToPropertyIndex(Quantita)), LastQuantità, Quantita, ??, ??), ??, ??)
}
//
// Aggiorno il totale ordine
if NOT(Parent IS Null Object) AND (WasModified(Quantita) OR WasModified(PrezzoUnitario))
{
Ordine o = null // What data will you store here?
//
o := Parent
o.AggiornaTotale()
}
}
- Si consiglia di leggere la documentazione dell'evento OnBeginTransaction per completezza di trattazione.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680