English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Data Base

Load Collection From DB

procedura copia link

Scopo

Questo metodo consente di caricare una delle collection del documento dal database da Visual Code. E' utile per assicurarsi che ad un certo punto dell'elaborazione una determinata collection sia stata effettivamente caricata. Notiamo infatti che le collection definite come Transient non vengono caricate in automatico dal metodo LoadFromDB.

Sintassi

Documento.LoadCollectionFromDB(collection, numero livelli)

Argomenti

Collection E' l'oggetto IDCollection da caricare. E' necessario indicare una delle collection pubbliche del documento, altrimenti il metodo non ha effetto. Solo per tali collection, infatti, la query di caricamento è predefinita.
Numero Livelli Numero intero che specifica il numero di sotto-documenti da caricare.

Note

  • Se la collection era già stata caricata (proprietà Loaded = True), allora non viene ricaricata. Se però il parametro numero livelli è maggiore di zero, allora verrà chiesto ai sotto-documenti di caricarsi dal DB.
  • Prima di caricare la collection, viene lanciato il metodo BeforeLoadCollection su un oggetto della classe che deve essere caricata.
  • Se il documento è in stato Inserted allora la procedura non viene eseguita (dalla versione 6.8.3060).
  • Se la collection viene effettivamente caricata dal database, allora dopo l'esecuzione del comando viene notificato l'evento di AfterLoad al documento con il flag AlreadyLoaded = True (dalla versione 6.8.3060).

Esempio di codice

// *************************
// Aggiorna il totale ordine
// *************************

public void Ordine.AggiornaTotale()
{
  Totale := ZERO
  // 
  // Se non sono un ordine appena inserito...

  if NOT(Inserted)
  {
    // Voglio essere certo che le righe siano caricate mentre aggiorno il totale!
    this.LoadCollectionFromDB(RigheOrdini, ZERO)
  }
  // 
  // Ciclo sulle righe per calcolare il totale

  for each row (RigheOrdini)
  {
    record ro
      RigaOrdine ro // 
    // 
    Totale := Totale + ro.Quantita * ro.PrezzoUnitario
  }
}

In questo esempio di codice il metodo LoadCollectionFromDB viene usato per caricare la collection delle righe d'ordine di un ordine prima di caricare il totale. Se la collection è già caricata, essa non viene nuovamente caricata.

Ultima modifica: 31/10/2022 / Validità: da 6.5.2680

Vedi Anche

  • Before Load Collection (evento)
  • Load From DB (procedura)
  • Loaded (proprietà)
  • Inserted (proprietà)
  • Transient (proprietà)
  • ID Collection
  • After Load (evento)
  • Scarica il progetto EsempiAM.zip

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum