Condizioni di notifica
Questo evento viene notificato al documento quando un nuovo sotto-documento è stato aggiunto ad una delle sue collection. L'evento è congelabile quindi non viene notificato durante la fase di Load e se la proprietà FreezeEvents è True.
Utilizzo consigliato
Questo evento può essere utilizzato per aggiornare lo stato del documento al variare della sua struttura. Ad esempio è possibile aggiornare il totale dell'ordine quando vengono aggiunte nuove righe.
Argomenti
Collection | Indica in quale Collection l'oggetto è stato aggiunto. E' un parametro di tipo IDCollection uguale ad una delle collection del documento a cui viene notificato l'evento. |
New Child | Parametro di tipo IDDocument che rappresenta il documento aggiunto alla collection. |
Esempio di codice
// **************************************************************************
// Fired when a new child is added to a collection. This event can be frozen.
// **************************************************************************
event Ordine.OnAddChild(
IDCollection Collection // Collection where the new child was added
IDDocument NewChild // New Child Added
)
{
// Se aggiungo una riga, allora ricalcolo il totale
if Collection IS RigheOrdini
{
this.AggiornaTotale()
}
}
// *************************
// Aggiorna il totale ordine
// *************************
public void Ordine.AggiornaTotale()
{
Totale := ZERO
//
// Ciclo sulle righe per calcolare il totale
for each row (RigheOrdini)
{
record ro
RigaOrdine ro //
//
Totale := Totale + ro.Quantita * ro.PrezzoUnitario
}
}
// Fired when a new child is added to a collection. This event can be frozen.
// **************************************************************************
event Ordine.OnAddChild(
IDCollection Collection // Collection where the new child was added
IDDocument NewChild // New Child Added
)
{
// Se aggiungo una riga, allora ricalcolo il totale
if Collection IS RigheOrdini
{
this.AggiornaTotale()
}
}
// *************************
// Aggiorna il totale ordine
// *************************
public void Ordine.AggiornaTotale()
{
Totale := ZERO
//
// Ciclo sulle righe per calcolare il totale
for each row (RigheOrdini)
{
record ro
RigaOrdine ro //
//
Totale := Totale + ro.Quantita * ro.PrezzoUnitario
}
}
Siccome l'evento è congelabile, occorre tenere conto che potrebbe non essere notificato al documento che acquisisce il nuovo sotto-documento.
Ultima modifica: 25/10/2016 / Validità: da 6.5.2680