Scopo
Permette di associare, a run-time, un particolare concetto ad una delle proprietà del documento.
L'associazione di un concetto ad una proprietà è possibile anche utilizzando i domini: è sufficiente creare un dominio, definire il concetto e collegarlo alla proprietà del documento o, ancora meglio, al campo del database collegato alla proprietà (qualora la proprietà derivi dal database).
La procedura SetPropertyConcept permette di associare il concetto alla proprietà senza passare per la creazione di un nuovo dominio.
L'assegnazione di un concetto ad una proprietà può essere utile per realizzare un servizio documentale trasversale che modifica i documenti senza doverne conoscere il tipo.
Sintassi
Argomenti
| Indice Proprietà | E' un valore intero che indica a quale proprietà occorre associare il concetto. E' possibile utilizzare la funzione ToPropertyIndex della libreria IDDocument per recuperare tale indice. |
| Concetto | E' un valore stringa che rappresenta il concetto che si desidera associare alla proprietà |
Esempio di codice
// Evento notificato dall'applicazione quando viene inizializzata
// **************************************************************
event MyApp.Initialize()
{
Categoria cat = new() //
//
// Associo il concetto DESCR alla proprietà Descrizione della classe Categoria
Categoria.SetPropertyConcept(DESCR, Categoria.ToPropertyIndex(cat.Descrizione))
}
....
// **************************
// Modifica la classe passata
// **************************
public void MyApp.ModificaClasse(
IDDocument doc //
)
{
int pidx = 0 //
//
// Cerco, nell'istanza passata alla procedura, la proprietà che
// esprime il concetto DESC.
// Se il documento possiede tale proprietà, la modifico
pidx := doc.GetPropertyIndex(DESCR, False, True, False, False)
if pidx > ZERO
{
doc.SetProperty(pidx, Nuovo valore della descrizione)
}
}
- Attenzione: Il concetto legato alle proprietà dei documenti è un'informazione comune a tutte le sessioni. Pertanto la modifica del concetto tramite la procedura SetPropertyConcept ha effetto su tutte le sessioni e non solo sulla sessione che effettua la modifica. Questo vuol dire che non è possibile modificare il concetto solo per alcune tipologie di utenti che utilizzano l'applicazione in quanto l'esecuzione della chiamata alla procedura SetPropertyConcept effettua la modifica al concetto in tutte le sessioni.
Ultima modifica: 16/11/2022 / Validità: da 7.1.3300
procedura