English
Instant Developer Foundation Documentazione
  • Tutorial applicazioni web
  • Scriviamo del codice

Caricare collection figlia

copia link
<< Video precedente
Apri in una finestra a tutto schermo.
Video successivo >>

Trascrizione

La struttura documentale presente nel progetto, prevede documenti e collection di documenti: quando una collection figlia di un documento viene caricata dal database? C’è solo un caso automatico in cui questo avviene e precisamente quando un pannello in interfaccia ne ha bisogno per mostrare il contenuto.

Prendiamo la videata Prenotazione, finchè rimane il Layout List, il framework carica solo i dati del documento Prenotazione, quando invece si passa al Layout Form il framework è obbligato a caricare la collection PrenotazioneServizi da mostrare nel pannello detail.

Di questo aspetto bisogna sempre tenerne conto quando si scrive il codice: non possiamo sapere se il codice verrà eseguito mentre si è in un pannello dove la collection è stata caricata o meno, quindi come regola fondamentale, prima di lavorare con una collection chiedersi sempre se la collection è in memoria oppure, ed in caso negativo caricarla.

Ad esempio, nel documento Prenotazione è presente un metodo calcolaTotaleServizi, dove avremmo necessità della Collection figlia PrenotazioniServizi per calcolare il totale delle righe; ci siamo già chiesti se la collection non è caricata e il documento non è nuovo allora:

loadCollectionFromDB(PrenotazioneServizi)

questa istruzione carica una collection figlia del documento attuale, così siamo sicuri che dopo potremo utilizzare i dati della collection che abbiamo in memoria: attenzione che nel caso la collection non sia caricata il framework non segnala nessuna eccezione o errore: semplicemente non effettua nessun ciclo successivo.

Aggiungiamo al documento Appartamento un metodo serviziDuplicati.

Public boolean serviziDuplicati() {
Boolean duplicati = false
//Controlla che non siano presenti servizi duplicati
If (not ServiziAppartamenti.loaded and not inserted)
loadCollectionFromDb(ServiziAppartamenti)
//CONTROLLO DUPLICATI
return duplicati
}
}

Impostiamo una onValidate nel documento Appartamento:

If reason = 0 and not deleted {
If serviziDuplicati AddDocumentError(“Controllare risultano servizi duplicati”) {
}
}

Tra brevissimo, impareremo a ciclare gli elementi di una collection e cosi potremo completare il codice a seguito di questi caricamenti.

Ultima modifica: 19/03/2021 / Validità: da 20.5.8000

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum

Vedi anche

    Scarica il progetto di esempio You Bb Project.zip