Condizioni di notifica
Questo evento viene notificato dal documento prima della gestione del riempimento di una lista valori di un campo di pannello a cui è stata attaccata una query value source basata su documenti.
Utilizzo consigliato
Questo evento può essere utilizzato per personalizzare la query di caricamento della lista valori, come indicato anche nell'esempio di codice seguente.
Argomenti
Recordset | E' un oggetto recordset che è possibile riempire con le coppie codice-valore da visualizzare nel campo. |
Skip | Parametro di output booleano. Se impostato a True indica al framework di non eseguire la procedura di recupero standard. |
Esempio di codice
// ********************************************************************
// Fired before a value source query will be executed by this document.
// Use can use the Add Value Source Row function of the Record Set
// object to customize the results.
// ********************************************************************
event Fornitori.OnGetValueSource(
inout Recordset RecordSet //
inout boolean Skip // Set to TRUE to skip normal processing
)
{
Skip := True
//
// Leggo i fornitori ordinati per paese
for each row
{
select
IdfornitoreFornitori := Idfornitore
NomeSocietaFornitori := NomeSocieta
PaeseFornitori := Paese
from
Fornitori // Master Table
order by
Paese
NomeSocieta
//
record Fornitori
int Idfornitore // ID
string NomeSocieta // Nome Fornitore
string Paese // Paese
//
// Aggiungo il fornitore (nota il CONVERT)
RecordSet.AddValueSourceRow(
Code := Convert(Fornitori.Idfornitore)
Description := FormatMessage(C[|1] |2, Fornitori.Paese, Fornitori.NomeSocieta, ??, ??,
??)
)
}
}
// Fired before a value source query will be executed by this document.
// Use can use the Add Value Source Row function of the Record Set
// object to customize the results.
// ********************************************************************
event Fornitori.OnGetValueSource(
inout Recordset RecordSet //
inout boolean Skip // Set to TRUE to skip normal processing
)
{
Skip := True
//
// Leggo i fornitori ordinati per paese
for each row
{
select
IdfornitoreFornitori := Idfornitore
NomeSocietaFornitori := NomeSocieta
PaeseFornitori := Paese
from
Fornitori // Master Table
order by
Paese
NomeSocieta
//
record Fornitori
int Idfornitore // ID
string NomeSocieta // Nome Fornitore
string Paese // Paese
//
// Aggiungo il fornitore (nota il CONVERT)
RecordSet.AddValueSourceRow(
Code := Convert(Fornitori.Idfornitore)
Description := FormatMessage(C[|1] |2, Fornitori.Paese, Fornitori.NomeSocieta, ??, ??,
??)
)
}
}
- Per riempire il recordset occorre utilizzare la procedura AddValueSourceRow dell'oggetto Recordset.
- Se non si specifica nulla, verrà eseguita una query che seleziona il primo campo primary key come codice e il primo campo describe row come descrizione. Come filtri verranno impostate tutte le proprietà valorizzate del documento. L'ordinamento dei dati verrà espresso secondo l'ordinamento naturale dei documenti, ottenuto selezionando la prima proprietà che esprime il concetto di DO_SEQUENCE, DO_CODE, DO_DATE o DO_NAME nell'ordine.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680