It is currently 26 September 2020, 1:07 Advanced search

Come si usa getLinkedDocument?

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Come si usa getLinkedDocument?

Postby f.faleschini » 13 February 2020, 17:11

Quando ho una FK per una relazione 1 a 1 e non ho una collection a volte mi serve l'oggetto collegato.

Esempio:
classe dettaglio ordine
campo IDProdotto

la FK punta ai prodotti

se mi serve a runtime il prodotto pensavo di poter fare

ad esempio in DettaglioOrdine.OnEndTransaction
Code: Select all
if (wasModified(IDProdotto))
{
var ID Document doc = getlinkedDocument;
var Prodotto p = (Prodotto)doc;
// far qualcosa con p
}


ma non funziona (ho errore "riferimento ad un oggetto..."), alla fine ho optato per
Code: Select all
if (wasModified(IDProdotto))
{
var Prodotto p = new();
p.ID = IDProdotto;
p.LoadFromDB
// far qualcosa con p
}


Cosa sbaglio? Mi piacerebbe chiamare getLinkedDocuement per avere il documento con una singola linea di codice.
f.faleschini
 
Posts: 651
Joined: 12 April 2017, 9:09

Re: Come si usa getLinkedDocument?

Postby d.termini » 14 February 2020, 7:46

Code: Select all
if (wasModified(IDProdotto))
{
var Prodotto p = this.getLinkedDocument(false, toPropertyIndex(IDProdotto)); // se non sei all'interno della classe puoi usare DettaglioOrdine.IDProdotto per l'indice
// far qualcosa con p
}


NB: Di solito preferisco non usare la cache perché purtroppo non è affidabile in un ambiente multiutente, se qualcuno modifica un record che hai già in cache tu continui ad usare la versione vecchia finché qualcosa non la svuota.
d.termini
 
Posts: 822
Joined: 13 November 2017, 8:41

Re: Come si usa getLinkedDocument?

Postby f.faleschini » 14 February 2020, 9:50

Grazie mille!

La documentazione dice
Per passare un numero di proprietà è possibile sia usare la funzione ToPropertyIndex che GetPropertyIndex, ma dalla versione 7.5 è anche possibile referenziare in modo statico la proprietà richiesta. Per referenza statica alla proprietà si intende l'espressione ClasseDocumento.Proprietà.


che è corretto, ma non l'avevo letto con sufficiente attenzione, ho fatto un commento sulla documentazione facendo suggerimenti per scrivere le info in modo più chiaro.

Io faccio sempre commenti alla documentazione ogni volta che lo ritengo opportuno, spero vengano usati.

Grazie.
f.faleschini
 
Posts: 651
Joined: 12 April 2017, 9:09


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 11 guests

cron